Originally Posted By: peter
And yes, IMO Linus Torvalds is dead wrong on this. The kernel is chock-full of C++ -- all those fops and vops structures are in fact just vtables -- it's just that he quixotically prohibits all this C++ from being written in the normal idiom.

The modern libata subsystem (SATA stuff) in Linux is an even better example of OOP: it uses object intheritence and the whole sheebang, elegantly done in C. smile

The choice of C for the kernel means it's easier to port to new platforms, requiring a less complex (aka. less buggy) compiler to get things up and running.

If one prefers to work with C++ in kernel space, then there are other kernels that do it that way.