In a candid keynote chat at the Linux Foundation’s Open Source Summit Europe, Linux creator Linus Torvalds shared his thoughts on kernel development, the integration of Rust, and the future of open source.
In a candid keynote chat at the Linux Foundation’s Open Source Summit Europe, Linux creator Linus Torvalds shared his thoughts on kernel development, the integration of Rust, and the future of open source.
I feel you’ve missed my entire point. My comment was not based on any technical merits of a language. It’s about a persons personal (religious) view of a tool they use to do their job.
I proudly use PHP, JavaScript, Java, Bash, and SQL. They have given me the means to make a long and fruitful 18+ year career. If my boss walked up to me tomorrow and said I needed to learn Python, or Rust, or even brainremoved, I’d learn it and be better for it.
Would it be as easy as my tried and true toolset? Not at first. I still remember the struggles I had when I was first learning my current toolset. It was frustrating. I remember cursing how stupid this or that was (especially PHP and JavaScript). But I learned, and now they’re not as frustrating — because I work with it, and not against it.
Look at JavaScript. Yeah it’s weird sometimes; if you don’t understand how it works. So people slap these transpiled languages or frameworks (like CoffeeScript or TypeScript or whatever) on top, trying to fix the things they think are wrong with JavaScript, and end up making a chaotic mess of the entire community. (And yes we could spend months arguing pros and cons of any merits of transpires and frameworks and why and what not, but then you’re still missing the point).
Anyway, the point is: if it works, then it’s good. Rust does not make Linux worse. If anything, it makes it better because it makes it more accessible to programmers who know Rust but not C. And that’s a good thing. It ensures the Linux kernel will be around longer than whomever ends up being the last C developer.
Those C developers bitching about how they don’t like the idea of rust in their kernel are akin to those old fogies yelling about those damned kids and their loud music or fashion sense.
Nobody is going to rewrite the entire kernel in rust. Parts of it are still written in assembler. It’s well over 30 million lines of code, 60% of it drivers. You can’t just go and rewrite that in a different language, hell it doesn’t even compile on the wrong C compiler version. You would need access to the hardware and run tests for every module you change at least or risk breaking stuff in production.
C programmers will always be around since they are necessary to keep the old code running on newer hardware. There are thousands of companies relying on the Linux and BSD kernels, for example every network router, switch etc.
I have nothing against rust, but there is always a danger of having too many programming languages used in the same project, especially if a error in one language can break something in a module written in the other. That’s just a nasty complication, especially for a time critical project like the kernel.