15 ms·
That is the opposite problem from what the person mentioned, and not a real problem. Rust is extremely good about backwards compatibility. With only a few ver
by stusmall 3y ago
That is the opposite problem from what the person mentioned, and not a real problem. Rust is extremely good about backwards compatibility. With only a few very extreme exceptions you can take anything written from 1.0 on and build it with a new compiler.
What the comment said was:
> can't compile something written by a rust dev today with a rustc compiler from 3 months ago
This is taking new code and using it with an old compiler. Because of how deadly seriously rust takes backward compatibility, it tends to not be an issue. Just get the newer compiler to build the newer code.
This also isn't a unique problem to rust. You can't use features in any language with compilers from before they were introduced. Funny enough, even with rust's rapid growth, I actually have less issues with it in rust because of the ease of upgrading.
- Karellen 3y ago> Just get the newer compiler to build the newer code. I think part of the problem is that this is backwards to how people coming from other traditional languages (like C, or C++) think. With those, you deliberately choose your target compiler in a way to maximise who can build your software. Telling all your users "just get the newer compiler" is rude. If you can reasonably target a 20-year old version of the compiler, so that users on systems who can't upgrade their compiler for reasons you have no control over can still build and use your software, then that's a trade-off worth considering. Note that you don't always have to choose that, but you should consider it. And when you do decide to move from, say, C89 to C99 (or - gasp - C11), that is a carefully considered decision. It's not just ooh, shiny. You don't always know who all your users are, or why they may not have the same flexibility as you. But if you want your software to be installed on 10 billion devices, that's the sort of thing you have to consider. https://daniel.haxx.se/blog/2022/11/17/considering-c99-for-curl/ https://daniel.haxx.se/blog/2022/11/17/considering-c99-for-c... https://curl.se/docs/faq.html#How_many_are_using_curl https://curl.se/docs/faq.html#How_many_are_using_curl
- gdprrrr 3y agoThat's just not how Software is done in this century, like it or not. Please update your software regularly.
- stusmall 3y agoI feel that. I've worked in those environments. A previous job we had a C89 code base that very deliberately could only build with certain older compilers. It was made to be able to target ~20 year old OSes and embedded environments. We had to be extremely careful about new features used, and if we tried to update the tool chain. > Telling all your users "just get the newer compiler" is rude. With Rust you don't have the same things holding you back. Features and targets are extremely well supported and for a long time. This compatibility is a die hard sacred tenant. This a good thing! It should be celebrated and shouted from every roof top! It isn't rude that the level of engineering allows this to be a low drama affair. Without the use of RUSTC_BOOTSTRAP it is very rare to have something holding you back on an older, stable compiler. I can think of one major bump of supported OSes a while back and that's it. You can stay on older versions of the compiler if you really want to, but don't expect to be able to build new code that uses new features.
- taylodl 3y ago[flagged]
- deleted 3y ago[deleted]
- estebank 3y agoI make it a point to seek out negative opinions of the projects I work on, because a lot of the time there's at least a kernel of a bug report behind every complaint. > BULLSHIT!!! > Have you tried listening to yourself? But this? This is the exact kind of attitude I find every now and then that makes me throw my hands in the air and think "why the fuck do I bother", before I retire to my issue tracker for a while. > It's not a problem that nobody can use the tutorials to learn the language because the language keeps changing every three months and the tutorials no longer work? The GP is arguing that it is not a problem that occurs and that the complaint in the root comment is about the opposite problem. You're misreading the person you're so passionately replying to. > It's a real problem. Can you point at any change in the past 12 months that would make the teaching of the language with an older tutorial no longer useful/confusing/a problem at all? > I know a lot of people who won't give Rust the time of day because of this issue. It's hard to take the language and community seriously while this real problem persists. I always try to get to the underlying problem that can be solved, if not for the person complaining, for anyone that will come after. But here? I am struggling to see anything actionable. The language doesn't change as much as you're implying, we make an effort to ensure that the developer experience for newcomers is as good as it can be. We have a lot of work ahead of us, but I look at what we've done since 1.0 and it makes me proud of where we are today. There are two separate concerns: - building new projects with older Rust, what the root comment is complaining about, which is a factor of how quickly the ecosystem adopts newer language/std features. The options there are to use older versions of the libraries or update their Rust version. Anything else is complaining that Office 97 cannot open files from Office XP. - building older projects with newer Rust, what you claim to be a show-stopping issue with Rust. I haven't seen evidence that this is a prevalent issue. I would love to see it if you do have it.
- deleted 3y ago[deleted]