Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!hsdndev!cmcl2!acf5!sabbagh From: sabbagh@acf5.NYU.EDU (sabbagh) Newsgroups: comp.object Subject: Re: Documenting OO Systems Message-ID: <1574@acf5.NYU.EDU> Date: 4 Apr 91 14:26:48 GMT References: <20106@alice.att.com> <1991Mar26.191259.14470@i88.isc.com> <27F4D4BE.716@tct.uucp> <1991Apr2.175756.12586@visix.com> Organization: New York University Lines: 49 >Nope. What I AM saying is that a large percentage of those writing >in C are lousy software engineers, if the quality of the C code I've >seen over the years is representative of their output--and I'm also >saying that I attribute this to the culture that grew up around C, >not to the language itself (since the language is largely a value-neutral >tool). Furthermore, I'm saying that there are plenty of incompetent C++ >and Ada programmers running around loose too, but that the percentage of >them relative to the percentage of competent software engineers working >in those languages is less than the same comparison in C, FORTRAN, or >other dinosaur languages--and I'm saying that this difference >is attributable to the software engineering oriented cultures that >have grown up around Ada and C++ (and that were, in fact, responsible for >their creation in the first place), Finally, I'm saying that, should one be >inclined to be a software engineer, one would in general find Ada or >C++ to be superior vehicles for expressing one's designs. How do you think the "software engineering oriented cultures" evolved? HACKERS! That's right, hackers. Suppose we didn't call them hackers; supposed we called them "researchers". Sure, their code is messy, ugly, hard to maintain. But they explored the limits of hardware and software; they have developed algorithms to solve real world problems; they have asked the right questions: what tools are needed, how to make maintainable software, etc. I take strong exception to the word *incompetent*. People write computer programs for a vast number of reasons. In many areas reusability and maintainability are non-issues and are to be sacrificed for GETTING AN ANSWER. Fortran and C are both excellent languages for just these problems. (I have personally replaced these two with C++ and Forth, but I'm wearing an asbestos suit, nyah nyah :-) Also, keep in mind that the first OS to embody ANY kind of software engineering principle (in particular, "structured programming") was... UNIX! C was originally invented for exactly this problem. Just goes to show you: hindsight is the *only* perfect science. Ada and C++ could not have been developed with first experiencing C and Algol. Hadil G. Sabbagh E-mail: sabbagh@cs.nyu.edu Voice: (212) 998-3125 Snail: Courant Institute of Math. Sci. 251 Mercer St. New York,NY 10012 "Injustice anywhere is a threat to justice everywhere." - Martin Luther King, Jr. Disclaimer: This is not a disclaimer.