4 ms·
Bootstrapping is done rarely but ongoing compiler development is done all the time. It seems like a bad idea to optimize for bootstrapping at the cost of not be
by hsivonen 8y ago
Bootstrapping is done rarely but ongoing compiler development is done all the time. It seems like a bad idea to optimize for bootstrapping at the cost of not being able to use the best Rust has to offer in compiler development today.
- ploxiln 8y agoThe benefit is to stable software distributions, and also to from-scratch software stack builds in diverse environments. As a software engineer who has been interested in reliable and understandable software systems for a couple decades, I find the Rust trend of following the web-ecosystem and completely abandoning software support after a couple of months to be _nuts_. Look, I'm a reasonable guy. I don't insist on being compatible with Linux 2.4, I don't insist on working with a compiler and system libraries from 2006, I don't reject all bundling completely. But working with stuff from a few years ago would be very helpful to lots of projects and efforts, and is what I've come to expect from high quality software distributions and libraries, like Debian stable, the linux kernel, GCC, libpng, sqlite3, etc etc. (The linux kernel is a huge project and maybe the fastest-moving in existence, and you can build the very latest release with GCC-4.7!)
- zozbot123 8y ago> I find the Rust trend of following the web-ecosystem and completely abandoning software support after a couple of months to be _nuts_. If Rust was a "traditional" project and not following web-ecosystem practices, it would still be issuing 0.x releases though - the language itself is quite far from true maturity (the "2018" version has only just gained NLL, and there are plenty of deeply-impacting features in the pipeline, at various stages of development). So it's six of one, half a dozen of the other...
- acqq 8y agoTo save others searching; The mentioned NLL is: https://github.com/rust-lang/rfcs/blob/master/text/2094-nll.md https://github.com/rust-lang/rfcs/blob/master/text/2094-nll.... “non-lexical lifetimes”
- steveklabnik 8y agoFor a simpler explanation, see https://doc.rust-lang.org/edition-guide/rust-2018/ownership-and-lifetimes/non-lexical-lifetimes.html https://doc.rust-lang.org/edition-guide/rust-2018/ownership-... (the guide says beta but it’s in stable now, that will be fixed soon.)
- mook 8y agoThat seems perfectly reasonable for unstable software in heavy development, which Rust might very well be. Unfortunately that also means it shouldn't be used as part of anything stable, which makes using it in Firefox a terrible idea. Think of it as LLVM declaring it has a hard dependency on the Linux kernel from last week (that isn't in a release yet).