On Sat, 29 Dec 2001, Eric G. Miller wrote:
> For a good explanation of how C++ took all the problematic issues of C and > added new sources of errors, see http://www.elj.com/cppcv3/. Hah! More like this: "For a vivid example of how much free time ivory tower academics have to weep and moan about languages other than their favorite, see http://www.elj.com/cppcv3/" I mean, really. I've read all three editions of this guy whining about C++ (and C) and I don't think I can take it any longer. "Be like me, use a language with imperceptible market penetration." I really think Mr. Joyner is my polar opposite. When I think of a computer, I think of an electronic device which will do such-and-such thing if you place value 0x37 at memory offset 0. When Ian Joyner looks at a computer, he wants to represent his model of the universe inside it. The computer and the human are fundametally different things. You'll expend an aweful lot of energy trying to represent human concepts in a computer. By contrast, it is very easy for a human to learn computer concepts. If you ask an Eiffel programmer how to get the value of a byte at a given offset in the computer's memory, they'll start with an explanation about why the programmer shouldn't concern himself with computer memory; memory is in the "how" domain. From there, they will launch a long lecture that probably won't answer the question but will result in something absurd like class ByteObserver (and its companion, class ByteObserverManager). A C programmer will just say *offset. Anyway, back to "A Critique of C++"... Mr. Joyner's treatise shouldn't be considered anything other than a finely-ground axe. Many of his specific criticisms start out "It is well known..." or "It hash been shown..." without reference to the place where it has been shown or the people to whom it is well known. In one place, he complains that C++ is not suited to concurrent processing (without reference to the tremendous amount of existing concurrent C++ software -- Mozilla is a modern example), but fails to mention that, at the time of his writing, Eiffel lacked support for concurrency altogether! Someday, if I suddenly become a bored academic, I'll write a complete critique of Mr. Joyner's critique. At the current time, I am too busy writing actual software. -jwb