Or you could, you know, use Rust, Go, C#, Java, or some other modern language.
C does need to die, but until fairly recently there were not many viable replacements. D isn't bad but isn't "better enough."
C does need to die, but until fairly recently there were not many viable replacements. D isn't bad but isn't "better enough."
It turns out that Rust has gained some attention and is capable of operating in this space. The inertia of Linux kernel code needing to inter link and being largely in C is one reason why you don’t see random bits of Rust in Linux, but this is not to preclude designing low level systems in Rust.