You use a tool to get a job done. C++ doesn't make C obsolete in any way (I get the sense you're complaining that since we don't focus on C we think it doesn't matter... This is not the case.) C++ adds many things to C beyond classes... I'm not sure I understand the problem here. You could also write x86 by hand, if you want go really, really, really native...What's the point?

This debate strikes me as one that has no purpose other than to satisfy an urge to present an opinion (C is better than C++). That's OK. It's fun to geek out. Smiley

C is a great language, one that powers a lot of computing today (and tomorrow). C++ is a great language, one that powers a lot of computing today (and tomorrow). Use what makes sense for the task at hand (sometimes, templates can be great, you know that whole genericity thing...).

For some real examples (as opposed to opinions of others), Google's V8 is implemented using a strict subset of C++ (C with abstract data types...). Chakra is implemented with C and C++ (some templates...). If you use both languages to solve a set of computing problems, then where does that leave your argument?

C or C++, go native when it makes sense, both are significantly more high level than machine code... If you need features of C++, then use C++. If C is all you need, then use C. Sometimes, you'll use both (this is the case in systems like Windows, SQL, Office, CLR, JVM, etc...)

Re your quotes... It's certainly the case that very few academics care for C++. In fact, it's cliché to criticize the language in academic PL circles... The fact remains, however, that C++ is a language for engineering, not academic literature. So, whereas I have the utmost respect for folks like Bertrand Meyer, I don't take their commentary seriously, any more than I do somebody stating any opinion as fact simply because it's his or her opinion...

++

C