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 333445
To read all comments associated with this story, please click here.
Member since:

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 marginalized by Java and the much-simpler C (still used for systems programming).

You raise valid concerns for someone who is not using C++ day in and day out. So let me shortly address them.

* Legibility: Use only the STL and the below libraries in a procedural style way interacting with your objects/classes.

* Cross-platform standard libraries: Poco C++, Boost, SQLite, wxWidgets are very free and very commercial quality. QT is very solid as well.

* Thread-safe programs that can be maintained by mortals: This is hard in any language. The latest version of Boost is moving toward making this easier. The early years of getting our heads around Object Design was hard. Until we fully understand threading it will be hard. Don't fret because C++ will be the first to fully utilize and set the pattern for other languages in this area.

I understand the mental handicap of learning something new or just plain not liking something. But modern C++ programming from scratch (avoiding any C style thinking) is very easy to read, maintain, develop, and obtain performance to create simple or demanding applications with.

I don't wish to convert anyone only to say that it is very nice sipping the cool glass of lemonade that is C++ nowadays so don't feel sorry for us. 10 years ago... yes... maintaining someone else poor C++ style... yes that is a lot of work but not anymore with modern styles.

Edited 2008-10-13 02:30 UTC

Reply Parent Score: 2