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 333358
To view parent comment, click here.
To read all comments associated with this story, please click here.
kaiwai
Member since:
2005-07-06

... and this is true of any programming language. The problem lies with people overcomplicating and overthinking their code - and C++, like other languages that have object implementations, is ripe with opportunity to make those mistakes.

Objects are great for self contained modules where you need to pass data between functions as a set, where a simple pointer to the data being processed isn't enough. Binary Trees, relational datasets - Objects kick ass.


For me, I learnt a small amount of C++ when I was going through university/polytechnic. The problem comes right back to understanding objects and other concepts. I've always held the view that unless one 100% understands all the concepts behind C++ then one should avoid using the language.

For me, I've tried to wrap my head around the object orientated ideas and other C++ concepts - and I just couldn't understand it. Rather than muddling through creating ugly code I've decided to stick with C. I also think that there is an over marketing of C++ and object orientation, especially by managers and IT recruiters. Rather than choosing the 'best tool for the job', there seems to be a gravitation towards the 'coolest' and 'newest' tool for the job.

Reply Parent Score: 3

deathshadow Member since:
2005-07-12

For me, I've tried to wrap my head around the object orientated ideas and other C++ concepts

That's because, IMHO, the C++ implementation of objects is one of the most piss poor out there, and is the LAST place to learn how they work/why they should be used... Which goes to what you said about learning it and understanding the concepts behind it BEFORE you try to write anything serious in it.

Object Pascal / Modula makes learning the concepts clearer/easier - Partly because of the forward declaration giving you your structure beforehand. Even smalltalk is clearer and gets the CONCEPT across faster. Once you have the understanding of the processes and structure you can apply it to other programming languages in a sound manner.

Of course, Pascal for LEARNING? Who'd have thunk it?

Edited 2008-10-12 00:58 UTC

Reply Parent Score: 2

kaiwai Member since:
2005-07-06

For me, I've tried to wrap my head around the object orientated ideas and other C++ concepts

That's because, IMHO, the C++ implementation of objects is one of the most piss poor out there, and is the LAST place to learn how they work/why they should be used... Which goes to what you said about learning it and understanding the concepts behind it BEFORE you try to write anything serious in it.

Object Pascal / Modula makes learning the concepts clearer/easier - Partly because of the forward declaration giving you your structure beforehand. Even smalltalk is clearer and gets the CONCEPT across faster. Once you have the understanding of the processes and structure you can apply it to other programming languages in a sound manner.

Of course, Pascal for LEARNING? Who'd have thunk it?


Unfortunately in New Zealand, thanks to the 'arrangement' with Microsoft, they got rid of Pascal for a learning tool and replaced it with Visual Basic - yes, you heard it correct, Visual Basic is being used as a learning tool.

Reply Parent Score: 2

l3v1 Member since:
2005-07-06

Of course, Pascal for LEARNING? Who'd have thunk it? .


You'd be surprised. My schooldays from 6th grade up until highschool graduation saw us go through pre-PC machines up and over gw/q/turbo basic, turbo/borland pascals, turbo c/c++, borland then ms c++, but looking back, I think we spent the most time with pascal, which was nice (thinking back).

I find most of today's complainers, who applaud about one and cry over another language's strengths and weaknesses, not really worthy of spending much time with. They don't like one ? I couldn't care any less. When we (and I) had to solve a problem, choosing a language was the last step I ever took. Sometimes it matters less, sometimes it matters more, you always have to have some reason for picking one, besides personal preference.

But pascal, well, always remains one love of mine ;)

Reply Parent Score: 3

payans Member since:
2007-02-17

I think that it's a matter of how you think about programming. There is a type of person that finds C natural, and another type of person that finds C++ natural, and the two do not overlap very much.

I'd guess that this difference in psychology is what drove Stroustrup to develop C++ despite working alongside the guys who developed C. I wonder if people brought up on Pascal see any wirth in C++. C and Pascal is another similar psychological split.

Reply Parent Score: 2