8 ms·
Isn't it a little bit early? I have distinct feeling this would benefit from waiting a little bit more to have various kinks straightened out.
by lmilcin 5y ago
Isn't it a little bit early?
I have distinct feeling this would benefit from waiting a little bit more to have various kinks straightened out.
- mkl 5y agoThe kinks get straightened out by people working with it and trying to make things. Waiting won't accomplish that. > Like it was mentioned in the RFC, the Rust support is still to be considered experimental. However, as noted back in April, support is good enough that kernel developers can start working on the Rust abstractions for subsystems and write drivers and other modules.
- johnnycerberus 5y agoI also believe that this is a little bit hype driven but not quite. I've been talking with a Linux dev at a conference in Cluj and he said that people nowadays are not interested in Linux development as he was in high-school because there's so much more out there and way easier to enter (web, mobile, game dev etc.). A new language like Rust can reinvigorate the Linux ecosystem + the benefits of safety and other language features. Zig could have been an alternative but unfortunately it's still under development and quite far from a 1.0. But, in my opinion, once you fragment the ecosystem with Rust, adding a third language like Zig should not be a problem. So, yeah, the train still hasn't left the station.
- lmilcin 5y agoHonestly, I think this particular argument is bogus. From my point of view what counts is actual kernel development. If you are going to develop kernel because it uses cool new language but you would not if it was still C, you are probably not the right person. Now, I think Rust has potential to be good kernel language, I am mostly concerned with toolchain, ability for people to read the code with comprehension, ensure correct code, etc.
- johnnycerberus 5y agoIt is a little bit bogus, I did not say that I stand by it or that I think that this is the WAY. I'm not even a Linux developer or a kernel dev, though I've done embedded programming at the beginning of my career. Just that if we won't take risks, we will never know whether the approach of Rust or Zig or just plain-old C would prove to be THE approach to systems programming. Besides fragmentation, how else can you harm what we already have? I believe the ecosystems fix themselves, if you offer to the developer three choices (in our case C, Zig, Rust), we will see how things pan out and we will have a clearer picture. Java did not become the language of Fortune 500 companies out of sheer luck, people simply chose it more often than its counterparts because the feedback was positive. I expect the same in systems programming.
- accountofme 5y agoa couple of things: 1. rust is easier to read than c/c++ 2. The toolchain is llvm based and much nicer to use than c/c++. Hell your build scripts are also rust 3. Given the choice to develop in c or rust I would choose rust 4. In my own experience I have found rust to be simpler to Deal with correctness than c/c++ (I have been both a rust and c++ developer)
- lmilcin 5y ago> 1. rust is easier to read than c/c++ Rust may or may not be easier to read than C++, depends on your experience. But it is not true it is easier to read than C. C is objectively much smaller, simpler language than Rust. > 4. In my own experience I have found rust to be simpler to Deal with correctness than c/c++ That is the whole point of Rust. And also to do this with minimum runtime overhead.
- moltonel3x 5y agoBeing a smaller simpler language doesn't make it easier to read or write. Go is an even "simpler" language than C, but you quickly suffer from boilerplate-blindness when reviewing it. Being able to write good abstractions can make a huge difference. Having lifetimes, or the use of the semantically-correct integer type checked by the compiler reduces the cognitive load on the writer and reviewer.
- eejjjj82 5y agoIn what way? Rust seems to be proving itself as a reliable mainstay in systems development https://github.com/rust-lang/rust https://github.com/rust-lang/rust The git repo has over 150,000 commits, 3,000 contributors, and 9 years of release history. The last 6 years of which have been post 1.0. Also, Mozilla has been writing large parts of firefox in Rust since ~2017. There's some interesting writeups on hacks.mozilla, including this one on reducing CVEs with Rust https://hacks.mozilla.org/2019/02/rewriting-a-browser-component-in-rust/ https://hacks.mozilla.org/2019/02/rewriting-a-browser-compon... https://research.mozilla.org/rust/ https://research.mozilla.org/rust/
- lmilcin 5y agoSizes of repos have nothing to do with it. By that measure we should all leave C and convert kernel to C++. I do embedded development on ARM Cortex-M3 and while it is possible to do this in Rust, I have experienced a bunch of issues with the toolchain and I have decided to stay on C until toolchain improves. Don't get me wrong, I like Rust. Just don't allow liking something get in the way of practicality.
- deleted 5y ago[deleted]
- ChrisSD 5y ago> By that measure we should all leave C and convert kernel to C++. Microsoft actually did do that in the 90's.
- topbanana 5y agoThe way I'm reading it, that's exactly what's happening here