At a high processor speed with ample memory, ease of maintenance becomes more important, I think.
The thing is, that correctly written C++ code should be as fast as C code (of course assuming you don't use some *bad* virtual classes, *bad* smart pointers, etc.) - so using C over C++ doesn't give you more speed. Note the word correctly - 90% of C++ developers use it incorrectly (too much abstraction, too much virtual methods and using stl stuff terribly wrong).
To the maintenance, I strongly have to refuse what you wrote. C code is as easy to maintain as C++, I'd also say it's even easier - as you don't need few pages describing syntax, naming, etc. - you can go with just a single one (you don't need any interface specific naming, virtual class naming, etc.). Also C language is simplier, using especially dynamic libraries is way too much easier in C (C++ interfaces for libraries are bloody mess), you can't have 2 functions with same name (which is HUGE advantage - as you can't accidetally call different function), etc. So using C instead of C++ is possible for large scale projects and maintenance is as easy as for other languages.
Of course it strongly depends on project creator/project leader. You can create unmaintainable bloody mess in C as well as in C++ (and vice-versa). The bad thing is, that most people are taught (and then thinks), that OOP is the only (or best) way to create maintainable code (especially when it comes to situation where there are multiple developers on the single project). It just depends on people who created/contribute to the project, it isn't bound to paradigm or language - it is bounded to projects and people.
Sadly 90% of more-men projects doesn't even have document describing syntax, etc. So for a reader it becomes really hard to figure out what is going on. Most C projects are often started by a single guy and he doesn't realize some1 can read the code after him, so he just use his own habits in the code.
Ha ha, didn't know Linus felt that way about c++ and STL and Boost.
It is not just Linus. I personally hate STL and Boost too. I don't think they're bad or such, but they're trying to be somehow doing everything and nothing. Debugging stl or boost code is a nightmare, and again 90% people overuse them. They destroy portability (they seem to be similar on Windows and Linux, but in the end they differ - which creates a ton of headaches), and more imporatantly, the amount of memory taken by them is huge. Still in some of the projects I have I use stl - it wasn't my idea in the beginning, but mostly (as I develop cross platform applications) we considered this decision a terrible mistake that sadly won't be reversed in those projects.