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
Permalink for comment 333438
To read all comments associated with this story, please click here.
StaubSaugerNZ
Member since:
2007-07-13


//Print out to the screen or over a TCP connection


Your line above shows the flaw in C++. How do you get the TCP connection? While one could argue the the C++ language is ok what it's missing out on are standardised cross-platform libraries for things outside of data structures.

Libraries is the strength of Java (and .NET somewhat, if all you care about is the desktop on x86 architectures).

Ok, so maybe you don't need sockets, so where are the standardised cross-platform C++ guis (that don't need precompilers or macro magic). Or how about threading? When multiple threads own your Paper class who is responsible for cleaning it up? Where is the standard way of documenting the class for maintenance programmers new to the system? (sure doxygen is great, but it ain't standard on C++ projects).

Despite the power of C++ as a language it is weak in areas such as legibility, cross-platform standard libraries, and thread-safe programs that can be maintained by mortals (not just the 'elite' that visit sites like this). This is why C++ has been marginalised by Java and the much-simpler C (still used for systems programming).

Here are the statistics:
http://www.langpop.com/
http://www.tiobe.com/index.php/content/paperinfo/tpci/

Sure C++ and C# are used (and admittedly are the right fit for some projects), but not as heavily as many fanboi would like you to think.

Reply Parent Score: 3