In the past I’ve seen C++ code (file filter drivers ), with OO (
class etc). Quite hard to debug, at least for me, when the designers
failed to understand what is/are going on …
Then move on to BSD, then Apple mach based kernel —, almost all is C
code ( except some asm )… Get open source, map correctly ( or almost
), debug thru kernel ( not what I want to do or enjoy ) but debugging
is bit easier, well just the debugger infrastructure is not as solid
as Windbg…
Given that, I always ask one question to any senior new hire — What
is the best code ? I would not answer the question, just in case …
And if I see a simple reasonable answer with some pseudo-codes that
guy is hired, period…
The trend I see, is that lately more candidates learn C++ ( Google ,
FB, Amazon etc., wants C++), so it is natural people want to use that
knowledge in kernel mode…
Now, what is the year when Linux got started ( i.e. porting Xinu or
something after wholesale changes )??? Perhaps early 90s in the lab,
then around 94 or 96 it is out there !!!.. By then lot of people
using C++/ Java is or already coming … So why Linus did not conform
to it… Whatever …
I hear people love to code in Swift/Obj-C/C++, so outside kernel
modules I create interfaces ( like in low level daemons / services )
and open up the bridges, so one can use swift or anything else. Inside
kernel, I use C ( and some asm for tickery).
I see some benefits of using C++, other than that I would suggest (
just like Dejon ) look at the archive, see the concerns, and come up
with solutions ( if you can ) — and enlighten us.
-Pro