Greg is a great level head in the kernel regarding rust, at least among the senior maintainers. I hope he can convince some of the more hostile maintainers to accept the new status quo that includes Rust in the Kernel at all levels.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Phoronix's comment section is as toxic as it can be, but i found out a comment that puts into words better similar thoughts I have on this:
How about the Linux Foundation forks over a few million to fund the thing in its name?
They could hire more engineers, more testing, more QA. Yet they don't.
And while at it, maybe Mozilla or any other stakeholder with resources could revamp Rust to produce lightweight binaries, have a stable compiler and for it to be way quicker in compilation?
No? Okay, but then why do all these foundations/organizations exist? And why do they hold such vast amounts of resources, while extorting the projects they claim to help?
I'd only add that it's not only about the kernel - they are home to a project that could be in the medium-long term a serious alternative to Google's blink/Apple's webkit, and of course an alternative to the hegemony of Chrome, but they actively chose to just not give them a single cent. Yes I am talking about Servo.
revamp Rust to produce lightweight binaries, have a stable compiler and for it to be way quicker in compilation
It really isn't that simple though. Rust's compiler isn't stable because the language itself is still being improved. This type of thing will only improve as adoption increases and real-world problems get ironed out. You can't just throw money and devs at it and expect the problem to be solved.
It's also not like the developers don't care about compile time, but the nature of the language (strict compiler checks which catch things before runtime) will inherently lead to something slower that other languages' compilers. There are probably still improvements they can make, but it's not as simple as just deciding to rewrite/revamp it and expecting massive speedups.
You can't just throw money and devs at it and expect the problem to be solved.
Then nobody will throw money at any project at all, because everything eventually will be solved by "magick".
Destinating more resources to that quickens and makes better that process, though, incentivating people to work on it and test it.
Took way too long, but finally some support from the top leadership for rust?
Linus has also declared Rust as basically inevitable before, since more and more kernel maintainers retire and not many young devs learn C anymore, at least not to a proficiency where you can handle kernel development.
I'm not a programmer so i don't have much skin in the game, but from how it's described it seems like a good idea to me and rust seems like a solid language to me. I do understand the concern from devs who don't know rust and don't want to learn it, but i guess that also depends on how much they would actually have to interact with it.
The main problem is that Rust is immature. It's still evolving, and the unreliable compiler slowly generates bloated binaries.
It's a great idea, and it will get there, but shoving something incomplete into the mainline Linux kernel isn't the way to start.
A Rust-only fork, on the other hand, would do much more to test and prove Rust's utility in such a space.
To point it out for folks unfamiliar with Rust, I consider this comment borderline misinformation.
I don't know in what world the Rust compiler is considered unreliable. In my experience, it is one of the most reliable toolchains across all programming languages.
The Rust compiler is slow, because it does so many more checks than the C compiler, which is what these devs want. This is also barely relevant while actually developing, because then incremental compilation kicks in, which makes subsequent builds rather quick.
And Rust binaries are primarily larger than C binaries, because it does not use dynamic linking of dependencies. In the kernel, you cannot use dynamic linking anyways, because you need a running kernel to have a filesystem from which to dynamically load these.