Linked by Thom Holwerda on Fri 10th Jul 2009 22:53 UTC, submitted by poundsmack
Thread beginning with comment 372999
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.





Member since:
2005-07-06
At the kernel level, you're running on the bare metal and you have to provide all functionality from scratch. The features of C++ depend heavily on a runtime to handle things like RTTI, exceptions, global/static initialization, memory allocation and constructors/destructors, among other things.
Except of course that only RTTI and exceptions requires the runtime, constructors and destructors are just syntactic sugar for function calls at the right places. Global/static initialisation is also compile-time, memory allocation you have to manage in every OS and using C++ does not make it any simpler nor harder.
No, the real reason is probably that a couple of years ago when the debate started the computers were quite slow and memory quite expensive (compared to today's computers) and C++ compilers were quite bad. You simply could not afford the less optimal code that the C++ compilers generated. Today that is not a problem, a lot of time, money, and effort has gone into making efficient C++ compilers and I would say that most energy is put on making C++ compile well and not C (remember that both Intel and MS sells C++ compilers, even though they can compile C too (well, at least Intel's can)).