6 ms·
Hopefully rust language enhancements will finally merge into Linux 6.0 i believe Linus knows how significant RUST would be for multi-arch linux. This benign ve
by brianhorakh 4y ago
Hopefully rust language enhancements will finally merge into Linux 6.0
i believe Linus knows how significant RUST would be for multi-arch linux. This benign version bump should give all the C++ devs plenty of headroom to stay in a stable 5.x while the rustaceans oxidize the kernel ecosystem to make it (more) architecturally neutral, typesafe, easier to dev modules and more secure. Ive been a linux user since 0.97 and I can't recall being this excited about the future!
- CaliforniaKarl 4y agoC++? The Linux kernel is written in C, not C++.
- smegsicle 4y agomust be confusing linux kernel with windows kernel happens all the time
- sph 4y agoI don't think Linus cares about Rust at all. He's been hands off about it, he knows kernel devs would like to adopt it so he's neutral, but I'll bet a tenner he will not start writing Rust anytime soon, and, if I can be so presumptuous to make assumptions, I don't think he's much of a fan, for many of the same reasons he prefers C over C++. I think Linus would be more of a Zig guy. I'm being tongue in cheek here, please do not read too much into this.
- claudiojulio 4y agoC++ is insecure in memory and has infinite unexpected behavior. Rust, on the other hand, does not compare with it, as it is safe. Linus doesn't like C++ because it sucks.
- kcexn 4y agoIf I recall correctly, Linus doesn't like C++ because it introduces abstractions that take control away from the programmer and delegates it to the compiler. Over time this just reduces the performance of the kernel, and makes it harder to find the root cause of faults and bugs.
- sph 4y agoIn a parallel universe where Linus learns Rust, I can imagine many legendary rants where a new kernel developer tries to be smart with some obscure macro and then getting summarily shot down by him. Yeah, Linus doesn't like C++ because of the abstractions and complexity, which Rust doesn't save us from. He'd rather have a less secure but simpler (and more widespread) language. That said, it's great of him to stay open minded and opening the doors to Rust in the mainline tree.
- kcexn 4y agoI think he's always been OK with C++, Python, Rust etc., for tooling around the kernel. But found that for the kernel itself, the performance and reliability guarantees were strict enough that he didn't want to risk there being performance or reliability issues caused by the compiler. Performance/reliability issues caused by programmers can be found and rectified. Performance issues caused by compilers may not be replicable even between builds.
- giancarlostoro 4y ago> I think Linus would be more of a Zig guy. I think he'd just prefer to keep using C but I could be wrong. It feels like he is definitely married to C. If there was another language I felt he would adopt, it would of been Go had Go not adopted a GC. You can learn the standard libraries of both and 10 years later they still are mostly the same. It is pretty commendable.
- kaba0 4y agoI honestly don't get how Go managed to get this fake "low-level language" image, but no, it is not at all a low-level language. Like how does it even enter the discussion over, say, Haskell?
- sph 4y agoMaybe because there was one of the original creators of C behind Go, and Pike is a de facto old school Unix guy? Many people, myself included, thought we'd get C but a little more modern and secure. I don't get your comparison. Go is much lower level than Haskell, even with a GC.
- kaba0 4y ago> Go is much lower level than Haskell, even with a GC. No, it isn’t. Can you actually show me anything that would imply that? Haskell can use pointers/FFI, etc. just fine. They are on the exact same level, the same way as countless other languages including C# and D.
- sph 4y agoI think we have a different definition of high-level. To me it's not language features, but which "abstraction level" you operate in, and how far removed it is from how a CPU actually works. In Go or C, it's for loops and manual type conversions, in C# you have stuff like Linq, in Haskell you operate on monads and functors. So, compared to all of those, Haskell is much higher level than C# or C. I'd say even higher than Erlang, which doesn't have pointers. Imagine an assembler language with a GC. If such an abomination existed, I would consider it to be lower level than C, because you're still closer to the machine, even if memory allocation is done for you.
- edgyquant 4y agoThis is a perfect example of the type of blatantly ignorant (in the real meaning) message common on Reddit. The confidence with which you’ve just spoke out of your ass is astounding.
- yjftsjthsd-h 4y ago> how significant RUST would be for multi-arch linux Er, isn't Rust's list of target architectures a subset of Linux's? Maybe after the Rust GCC frontend is prod-quality it would at least not be a regression (outside of architecture specific drivers)...
- deleted 4y ago[deleted]