Although the current Linux Kernel source-code contain certain parts of the code written in assembly code (actually native CPU assembly instructions) and recently certain parts of code written in Rust Language, majority of the Linux Kernel source-code is only written in C Language.
Students and beginners when they learn programming languages during college are introduced to various programming concepts, such as structured programming, object oriented programming (OOPs) and so on. And the advantages of object oriented programming vs traditional programming. So many wonder why such a large scale project like Linux Kernel is written almost entirely in C but not in C++ ?
Here is my detailed YouTube video explaining the same covering various aspects and fundamental reason why Linux Kernel is written in C but not in C++.
Refer Wiki:
Structured programming ↗
Object-oriented programming ↗
I also conduct sessions/classes on Systems and Network Software Programming, Linux Kernel Programming and Architecture. If you are interested, click HERE for more details.
If you have any queries or anything to discuss further on Linux Kernel Programming and writing Kernel modules kindly feel free to contact me.