3 ms·
"Rust does not run any critical component like Linux Kernel..." - and the only reason why it is not happening (provided that C and Rust have perfect interoperab
by strategarius 7y ago
"Rust does not run any critical component like Linux Kernel..." - and the only reason why it is not happening (provided that C and Rust have perfect interoperability, more and more C/C++ developers get familiar with Rust) is the fact that Linus Torvalds convinced by voices from Ethernet socket not to use anything but C. I can't wait for him to retire so that Linux kernel devs could pick up more modern toolset
- steveklabnik 7y agoIncidentally, back in 2016: https://www.infoworld.com/article/3109150/linux-at-25-linus-torvalds-on-the-evolution-and-future-of-linux.html https://www.infoworld.com/article/3109150/linux-at-25-linus-... > What do you think of the projects currently underway to develop OS kernels in languages like Rust (touted for having built-in safeties that C does not)? > That's not a new phenomenon at all. We've had the system people who used Modula-2 or Ada, and I have to say Rust looks a lot better than either of those two disasters. > I'm not convinced about Rust for an OS kernel (there's a lot more to system programming than the kernel, though), but at the same time there is no question that C has a lot of limitations.
- adwn 7y agoAs much as I love Rust: As long as Rust doesn't support all platforms which the Linux kernel supports, it really is a no-go for kernel code in general.
- steveklabnik 7y ago"in general" is a bit strong; the maintainers have said: > I spoke with Greg Kroah-Hartman, and he said he'd be willing to accept a framework in the kernel for writing drivers in Rust, as long as 1) for now it wasn't enabled by default (even if you did "make allyesconfig") so that people don't need Rust to build the kernel, and 2) it shows real benefits beyond writing C, such as safe wrappers for kernel APIs. https://lwn.net/Articles/797828/ https://lwn.net/Articles/797828/
- adwn 7y agoThat's why I wrote "in general": It's not yet suitable for most kernel code, just for some specific cases (i.e., optional drivers). Hmm, maybe I should have written "...for general kernel code" or "...for most kernel code", that would have been clearer.
- steveklabnik 7y agoAh yeah, I see that now... words are hard, I think you can read this both ways. Sorry about that!