Linked by David Adams on Sat 11th Oct 2008 16:48 UTC, submitted by IndigoJo
General Development Eric Raymond is working on an essay, putatively titled "Why C++ Is Not My Favorite Programming Language". In his announcement, he calls it "an overcomplexity generator", "bloated, obfuscated, unwieldy, rigid, and brittle", and alleges that these characteristics appear in C++ applications also. I contend that many of the complaints about C++ are petty or are aimed at specific libraries or poor documentation and that many of the features commonly regarded as unnecessary (and excluded from intended replacements) are, in fact, highly useful. C++: the Ugly Useful Programming Language
Thread beginning with comment 333385
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: c++
by hashnet on Sun 12th Oct 2008 08:35 UTC in reply to "RE[2]: c++"
hashnet
Member since:
2005-11-15

This was even more the case when OO was all the rage, and developers went on designing deep class hierarchies just because they could.

This leading to the banana/gorilla problem.

For our embedded (bare metal) development, I have considered OCaml, Ada, Oberon, Pascal, then C++. In that order.

We ended up with C++, because the others failed us with big runtimes, complex cross compiling settings, and lack of host OS support (as in Linux, macosx, Windows etc) which was important since we don't want to force an OS on the developers.
Control over memory allocation is hugely important too - our initial platform only has 32k of ram.

C++ did the job nicely, we have our own templated OS and drivers, and the result is small and efficient.
The only restriction is no RTTI and exceptions, because of the associated runtime.
If we get the opportunity, we'll add the cxa_* funtions to our libraries so we can support exceptions.

So yes, C++ is a good workhorse. We just have to have very experienced developers who know how it works under the hood.

I just wish we had the time to participate in the OCaml or Ada efforts so that cross compiling is as easy as in C++.

Reply Parent Score: 3

RE[4]: c++
by Detlef Niehof on Sun 12th Oct 2008 09:26 in reply to "RE[3]: c++"
Detlef Niehof Member since:
2006-05-02

This leading to the banana/gorilla problem.


Hm? What's that supposed to mean?

Reply Parent Score: 1

RE[5]: c++
by hashnet on Sun 12th Oct 2008 09:35 in reply to "RE[4]: c++"
hashnet Member since:
2005-11-15

If just want or need the banana, you will also get the whole banana tree complete with the gorilla that was inside.

Or: try to pull just the one or two classes you need. In the end, you'll end up with the whole hierarchy linked into your program.

Reply Parent Score: 1