Re: polishing one
I understand why massive projects like Linux will not move to C++ (as long as Linus is around, at least).
I think the more important question is - why is commonly-used, security-critical software like OpenSSL written in C? Why in the world would you want to be in a situation where that goto code starts looking appealing due to the limitations of the language? Or have to always loop manually over the elements of some array or data structure (which you had to roll on your own)?
Why would the only option to ugly C be C++ that uses all the complexities and gotchas of the language, when for a long time now you can write C++ in a language subset that is much more clear and simple, and completely avoids several of the most popular types of buffer overflow/pointer math/off-by-one issues of the equivalent C code. The horrific "implicit actions" and memory allocations need to be understood and controlled, true - but any security-critical, commonly-used software surely needs to have a very strict coding paradigm anyway, and the contributors need to have a high level of expertise.
Or if you are not limited to C-like languages, pretty much any reasonably-popular language would be a better choice than C...