Sunday, May 6, 2012

On C++

I try very hard to never be in a position that requires me to program in the C++ language again – I've had far more than my share of struggles with that blight upon the programming world.  So you can imagine my amusement in running across these quotes:
When your hammer is C++, everything begins to look like a thumb.

Steve Haflich in alt.lang.design, December 1994


Being really good at C++ is like being really good at using rocks to sharpen sticks.

Thant Tessman in comp.lang.scheme, December 1996


Of course SML does have its weaknesses, but by comparison, a discussion of C++'s strengths and flaws always sounds like an argument about whether one should face north or east when one is sacrificing one's goat to the rain god.

Thant Tessman in comp.lang.scheme, April 1997


As for C++ – well, it reminds me of the Soviet-era labor joke: “They pretend to pay us, and we pretend to work.” C++ pretends to provide an object-oriented data model, C++ programmers pretend to respect it, and everyone pretends that the code will work. The actual data model of C++ is exactly that of C, a single two-dimensional array of bits, eight by four billion, and all the syntactic sugar of C++ fundamentally cannot mask the gaping holes in its object model left by the cast operator and unconstrained address arithmetic.

Guy L. Steele: Objects have not failed. OOPSLA 2002

No comments:

Post a Comment