Rust language release date1/11/2024 ![]() ![]() In some sense containers, nix/guix stye package management, and language specific dependency managers are different approaches to solving the problem: what my computer runs for daily use should be relatively stable and generally I won't need the latest and greatest package features in software I use - upstream developers have generaly dealt with various library deficiencies bugs in their dependencies. That problem is a mismatch in what a system package should be vs what a development package should be. The language provided version/package manager solves a very real problem. the pain around moving from nothing -> dep -> modules was real (if not widely publicized). Or when the distro gcc has a bug that your code hits. This is how pip and pyenv and a dozen other tools were born. i had this problem with python all the time, the system python version was notoriously old and out of date on macos, redhat, debian, etc. What other compiler is only usable if you install from some website instead of your repos? I can't think of any. That's a symptom of the very problem I'm describing. > And don't go saying I should use rust-up. It would be nice if we could do that without needing app specific version managers like rustup and nvm. As software packages take responsibility for evergreen stability, it also makes sense for users to get evergreen software. I think the era where it makes sense for apt to carry that burden by serving us ancient software packages is slowly coming to an end. Microsoft has the same policy with windows patches. Use old versions at your peril - they have known bugs.” Explicit support periods is better than vague, ambiguous expectations that software will work forever. The answer here is for gcc to say the same thing nodejs does - “these versions are supported and get bug fixes. Some distros were compiling Linux using ancient gcc versions, and then got upset when they ran into problems. The gcc bug was fixed years ago but the patch was never backported to ancient gcc versions. There was a kernel bug a few months ago caused by a bug in an old version of gcc. But more generally I think this model of software development makes sense and we’ll see it more and more going forward. The “minimum supported rust version” flag in cargo will help with this going forward. I don’t care what version of nodejs Debian LTS has when version 8 of nodejs stopped being officially supported and maintained, I immediately dropped support for it in my npm packages. Gone are the days of leaving behind large swathes of users because they’re still using FF 4.0 or IE 6. The platform generally expects users to mostly keep up to date - as a web developer I can now use new features in chrome and FF within a month or so of the feature being released. In this software model the authors make strong stability and backwards compatibility guarantees.įor example, as I understand it the rust compiler team literally compiles every public crate with each version of the rust compiler to make sure they haven’t broken anything. ![]() I see rust as following the evergreen model - along with nodejs, chrome, Firefox and others. ![]()
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |