genjix...I saw that
lol, yeah I didn't feel like I was contributing much to the convo so I was going to type a proper response instead but then... ahhh lost interest.
Here's the unfinished version:
----------
C++ is perfectly standard and for good reason. C is simplistic which makes it ideal for small projects.
I think critics of C++, cannot code C++. It's not only C with classes, but template meta-programming, RAII, design patterns, generalised expressions and so on, all with type-safety.
There's a reason many large projects are written in it, but not in Python. But the language is not easy to learn and
A favorite quote of mine: "I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." -- Alan Kay
Here's my perspective...for about 5 years all I did was C++. I loved it. This was in the late 80's and early 90's. My employer's library (big company) had a subscription to The C++ Report (which was about $300/yr at the time)...I lapped up everything in that journal and everything that Stroustrup had to say on the topic. Then, I happened upon Smalltalk. It was a language that had a clear goal and was honed over a period of ~10 years using the scientific method and it shows. It's a beautiful language. In retrospect I came to realize that C++ was a language that was designed in a rather haphazard manner...reading some of the articles in the C++ report were like reading the musings of a person that suddenly realized a deficiency in the language and hacked something in to fix it. It was a series of one hack after another. That's not to say that C++ doesn't have some convenient constructs to offer, nor that people can't do useful things with it (clearly they can)...it's just to say that as far as languages go, C++ is rather poor. C sticks very close to the machine architecture and as such, is very useful (and of course since most OSes are written in it, it's most convenient for interfacing with the OS). Stroustrup just did a poor job of grafting OO capabilities on top of C (and which in retrospect was probably a bad idea to begin with). Objective-C was arguably a better approach to adding OO to C, but is still a horrible monstrosity. Java, Smalltalk, and other OO languages that have a native interface are much better ways to combine the high level constructs of OOP with the lower level utility of C. Google's Dart will be interesting...its "isolates" and optional type system may bring a couple long overdue concepts into the broader consciousness of developers.
This is just my perspective. I try not to be a language fanatic and have no problem writing C++ code when I need to (among many other languages). But, I also appreciate good language design and like to talk about it from time to time.