4 ms·
Most C/C++ projects do compile if you use a 6 month old compiler.
by fctorial 6y ago
Most C/C++ projects do compile if you use a 6 month old compiler.
- rapsey 6y agoSo what?
- linkdd 6y agoIf you think the whole world of IT works on bleeding edge tech, you're mistaken. Most distributions have an LTS that is supported for 5 to 10 years. You won't get the newest, hottest compiler on those platforms. > So what? Rust is a great language, but y'all need to calm down with the hype. "Not Rust" != evil.
- Tuna-Fish 6y agoFor as long as Rust has existed, no-one who is writing rust actually wants to use a compiler version that's any older than the newest. The language keeps adding good stuff in every version. I thought it would calm down a bit after NLL, but now everyone is salivating for const generics, which will land in 1.41... and in a whole lot of versions after that, as they split up the feature into smaller, easier to implement and study chunks. The language simply hasn't reached the level of maturity of C++ where people yawn at the new features that are going to be added. > Most distributions have an LTS that is supported for 5 to 10 years. You won't get the newest, hottest compiler on those platforms. Yes, you do, because you won't be using the distribution-supplied compiler because like the entire rest of the rust developer community you are using rustup.
- linkdd 6y agoWhat if you're in a constrained environment, there is no rustup installed, and you don't have the permissions to install it? This issue certainly occurred with a lot of C/C++ projects over the past 30 years, why would Rust be exempt of that issue in the future?
- rapsey 6y agoIf someone is working in an insane environment then that is his problem and also highly unlikely to be using Rust anyway. Why should library developers care about keeping compatibility with old Rust compiler versions for some arbitrary amount of time?
- sanxiyn 6y agoThat's easy to answer. Because users want that. Of course developers are free to ignore such users, and such users will choose a different library.
- Ar-Curunir 6y agorustup is installed within the user's home directory. If you can't write to your own home, then what can you do on this device that involves compiling code?
- jcelerier 6y ago> rustup is installed within the user's home directory. If you can't write to your own home, then what can you do on this device that involves compiling code? there are plenty of companies when you don't have the right to import any new executable code (coming from "outside") in office computers.
- linkdd 6y agoSmall example in one of my previous job: Application was built using Java/SpringBoot, and the CI/CD was based on Jenkins. We had no control over the version of maven/jdk installed within the Jenkins, and the network policies did not authorize outgoing traffic (so no curling rustup). Only one company repository (based on Nexus) was available. Basically, we were users of a company provided/constrained platform to build our applications using a curated list of tools that has been audited by another team. If we wanted to add a dependency not present in the provided repository, it would require time for the audit and integration. Time we did not necessarily had. Now, with Rust/rustup/Cargo, the company would have provided a specific set of Rust versions and a private crate repository. I doubt that the auditing team would have time to add a new Rust version every week. If a crate present on the private repository is updated upstream and requires a more recent Rust version, the crate update will be delayed until the Rust version is audited/validated/integrated. IMHO, this is a very common use case, since companies like to split concerns in different specialized teams.
- steveklabnik 6y agoThere is a huge community wide discussion about this. Characterizing it as “no-one” completely ignores that some of the most prolific and vocal community members have advocated for expressly supporting older Rusts. One of the core issues here, imo, is that it is unclear which Rust is the oldest one to be supported. That requires a clarity in understanding the pros and cons of each one, and simply due to there being more releases of rustc, it’s a little less clear which version gets you the most bang for your buck here. I agree that some of this is a function of the new-ness of the language. I think once (if) we start an LTS program, that will help, and is partially why I desire such a thing. https://rust-lang.github.io/rfcs/2495-min-rust-version.html https://rust-lang.github.io/rfcs/2495-min-rust-version.html is an example of a feature we’re adding to help people do this kind of thing. It’s small but it’s a start.
- nindalf 6y agoAnyone developing games with this project is likely to be on Windows, Linux or Mac, on x64 or aarch64. Such developers would likely install Rust with rustup, not with the distro provided one. So yes, any developer that fits this description can rely on the newest, hottest compiler.
- linkdd 6y agoAnd that's perfectly fine. But game developers are a small fractions of Rust developers.
- _joel 6y agoI think most devs use rustup, not the distro supplied one.
- 3836293648 6y agoIs rustc even in the repos? Should it (and cargo) be? Or should they just have rustup? I lean towards the latter
- steveklabnik 6y agorustc is in pretty much every distro's repos at this point. They often have Cargo too. They sometimes, but not always, have rustup.
- maccam94 6y agoSome distros ship programs compiled with rust, and they do so using the version of rustc in the repo.
- nicoburns 6y agoRight, but it's this specific project that requires the latest Rust compiler, not Rust libraries in general.
- eeZah7Ux 6y ago> If you think the whole world of IT works on bleeding edge tech, you're mistaken. Unfortunately HN attracts the very vocal minority...
- ironmagma 6y agoPart of the reason Rust is still fun is that it hasn’t hit the point yet where everything has to worry about backwards compatibility. Let’s keep it that way as long as possible.
- Thaxll 6y agoThis kind of comment is worrying, I would never choose a library / framework if I had to upgrade the runtime every 3 month.
- steveklabnik 6y agoYou don’t have to. If you want to depend on other people’s code, they may use new features, which may require a newer compiler. But you are in full control there; you are not forced to upgrade. (Note also it is the compiler, not a runtime. Big difference when it comes to things like deployments, IMHO.)
- hctaw 6y agoRust doesn't have a runtime so you're good
- ironmagma 6y agoRust does have a runtime, but it's statically linked. https://doc.rust-lang.org/reference/runtime.html https://doc.rust-lang.org/reference/runtime.html
- steveklabnik 6y ago"runtime" is a term that has conflicting colloquial and precise definitions. In a precise sense, any non-assembly language, including C, has a runtime. In practice, this makes the term "runtime" not super useful to many folks, so they mean "virtual machine" or "large, featureful runtime that's required to support critical language features" when they say "runtime." Rust is the same as C in this regard. It technically has a runtime, but not in the way that many people mean.