LWN.net Logo

I see I have to be more explicit

I see I have to be more explicit

Posted Mar 29, 2008 7:21 UTC (Sat) by felixfix (subscriber, #242)
In reply to: an "old beard" ? by felixfix
Parent article: Striking gold in binutils

You all seem to be concentrating on the limbs of the trees I mentioned, ignoring the entire
forest.

I know perfectly well why C++ has all those warts, speed.  But languages progress by more than
merely adding hundreds of new steam gauges (to use a quaint hardware engineers' term) to an
engine to allow ever finer control of it.  Anyone who is familiar with radial engines, those
wonderful noisy big round engines on WW II planes, will understand my comparison of C as the
R2800 and C++ as the Wright 3350 (hope I got that "right") which was the complex culmination
of radial engine technology.  What was needed was not such a finicky beast but a new way of
thinking, the jet engine, especially augmented with a glass cockpit which only shows you those
instrument readings you need to know, such as only engine temps which are out of spec.

C++ is horrible because it added complexity without benefit.  It has all the hallmarks of
kluge piled on top of kluge, patched and held together by duct tape.  3 times as many malloc
call pairs and the additional trap of mixing them up?  I doubt C++ gained triple the benefit,
and to say that the compiler, even while knowing the types, could not choose the right calls
based on type, beggars the imagination.  I would be embarrassed to rely on such a sorry excuse
for an excuse.  If virtual should only be used when absolutely necessary, then it was designed
wrongly.

That is what I was complaining about, not the rationale for each additional complication.  All
these complicated additional features screamed loud and clear that the basic design was flawed
beyond redemption; it's too bad no one was brave enough to say the emperor's clothes were
darned to nothingness.  That is why C++ disgusts me and I avoid it like the plague.


(Log in to post comments)

I see I have to be more explicit

Posted Mar 31, 2008 2:51 UTC (Mon) by ncm (subscriber, #165) [Link]

Ignorance is a poor basis for criticism.  If you don't understand the purpose for any given
feature, you will be ill-equipped to evaluate the benefits available from using it.

By all means avoid C++ if you like.  Most programmers are not intelligent enough to use the
language effectively, and should stick to solving easy problems with trivial languages, and
leave the hard work to professionals.  

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds