C++ is an expert language
artificialworlds.net
artificialworlds.net
Okay, so it's essentially destroying itself as a general-purpose language with the complexity and idiosyncracy of some of the additions; a decently standardised ABI would help for embedded stuff. But on the whole I'd rather use std::vector<> than malloc() and free() when it's impossible or exceedingly impractical to use my favourite Lisp, or Ruby if I'm feeling imperative, or Java/C# if someone's forcing me.
Yes, you need to know what's going on under the hood, but it can save you a lot of micro-management that slows you down in C. I've come to realise that you have to treat C++ as exactly what the name suggests: a step up from C. If you treat it as anything more, you end up building template empires. Been there, done that, realised it was a bad idea. I'd still pick it over C though.
Then again, I was never really that far into C++ land, so I wouldn't be surprised if I were wrong.
// eof