Me:
I'm not talking about the benefits of non-OO languages; if anything I'm saying that of the OO languages C++ is too complex for its own good and has a minority of appropriate use-cases. There are lots of great OO languages around that don't have these problems. Most programs don't need the speed that C++ can give you, and for OO elegance I personally think there are better options.
I think you have become confused; I'm not heralding any language as the best; I'm saying that where power is needed I'd probably choose C, and where OO is needed I'd choose whatever language seems most appropriate to the job: Java, C#, perhaps Ruby or Python. If I was writing a game I might well choose C++, indeed, I have already made that choice for a Nintendo DS game I don't have any time to write ;-)
There's no point in you trying to win an argument around C++ where Operating Systems are concerned. It's unwinnable. In fact a quick check gives me a glorious fact; Microsoft's rather interesting Singularity OS has its interrupt code written in C and Assembly, and then skips way up the chain to a C# derived language for the rest of the OS. They used the right tools for the right jobs; C/Assembly for the thin core and managed code for the rest. So existing OSs (Windows, Linux, BSD -- and therefore MacOSX) use C, and a cutting edge OS uses a combination of C and managed code.
I don't really understand your perspective on C++ and memory leaks; you seem to think it's a good think that I should have to pay attention to trivialities that have been solved in other languages. I also complain that maintaining C++ code (unless it has severe code guidelines applied) can be more of a pain that other comparable (OO) languages. You're not being egotistical for believing a developer should understand the tools available to him; you're being naive: they don't. You're only being egotistical when you sound like you think you won't make the mistakes that C++ very kindly makes easy for you.
The point about memory leaks isn't that they are avoidable, it's that they're easy to create in the first place. Relying on time consuming processes to mitigate risks that can be avoided using a different language seems like a waste to me. Don't latch onto this as an indication that I'm now crusading against process; I just think that process can be used to find other problems that we haven't already solved in other languages. No point wasting resources on C++ unless it's delivering a crucial benefit -- like in required speed.
I'll let the point about safety critical or realtime systems slide; I don't think there are anywhere near as many such systems written in C++ as there are in C, but I have sufficiently little interest in that area having had to learn Ada that I'm not going to bother researching it further :-P I never once contested the use of OO -- just C++ -- I think you're becoming deluded in your confusion; there is a difference between OO and C++, you know ;-)
I don't think I've strayed; C++ has its place: mostly in making stuff like games run faster, though I believe even there there is a trend to develop minimal engines in such performant languages and drop to Lua or the like for logic and content. In most cases I think that Java or C# will get you what you need with less code and more safety -- basically my view is the inverse of yours: most of the time we don't need performance, we need to get a working application out there (that we can maintain easily in a conventional process); in the very few cases where we do need performance and OO in one place, I think you're right: we need C++.
I don't know what insight your parting comment about PHP is supposed to impart; Facebook's shareholders seem to think it's "worthwhile", after all. Here, again, I hear ego rather than sense.