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 333401
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: Nothing wrong with it
by IndigoJo on Sun 12th Oct 2008 11:51 UTC in reply to "RE[2]: Nothing wrong with it"
Member since:

Templates are great, but template syntax is awful. I've also yet to see streams used effectively anywhere: after their first C++ "Hello world" most coders seem to just avoid them.

Personally, I find the << syntax for putting data into a stream really logical and intuitive. The text or data to the right looks like it's being "sent to" the object on the left. The only problem is that a lot of teachers and books don't explain properly how this works - my teacher just said, "oh, it's an overloaded operator" and didn't tell me what that meant.

Reply Parent Score: 2

RE[4]: Nothing wrong with it
by renox on Mon 13th Oct 2008 09:06 in reply to "RE[3]: Nothing wrong with it"
renox Member since:

Well, in theory stream are nice in practice for text handling they're not so good: bnolsen is right, for internationalisation streams suck.

And I would add that they're much too verbose.

Not that printf is ideal: in C it's untyped (but this is fixed in D), and arguments are too far for the text so it's too easy to make mistakes..

Ruby puts with printf format would be ideal.

Reply Parent Score: 2