The [new] and constructor/destructor operations create hidden memory
allocations in C++ that can blow performance in kernel "fast paths". 
Writing kernel code in C++ is never a good idea because of this problem,
and the fact that with function overloading, it's possible for someone
to write code that is so difficult to follow, it's unmaintainable.  MS
wrote a large portion of W2K in C++, which is one reason it's hard to
debug, and slow.  C++ also puts in jump tables with mangled names, and
is very difficult to debug at the assembler level.

C++ is very good for application programmers who reuse a lot of code
because it allows the creation of building block libraries -- it's not
good for kernel development, IMHO where speed and supportability is more
important that modularity....

I think that perhaps in the beginning C and C++ were not languages --
they were grades (snicker,  snicker).

:-)

Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to