Don’t get me wrong. I love Linux and FOSS. I have been using and installing distros on my own since I was 12. Now that I’m working in tech-related positions, after the Reddit migration happened, etc. I recovered my interest in all the Linux environment. I use Ubuntu as my main operating system in my Desktop, but I always end up feeling very limited. There’s always software I can’t use properly (and not just Windows stuff), some stuff badly configured with weird error messages… last time I was not able to even use the apt command. Sometimes I lack time and energy for troubleshooting and sometimes I just fail at it.
I usually end up in need of redoing a fresh install until it breaks up again. Maybe Linux is not good for beginners working full time? Maybe we should do something like that Cisco course that teaches you the basic commands?
This is one of the things I like about Rust: its rustup program can install the latest version of Rust in my home folder. I don’t need my distro to carry the latest version.
Unlike some similar things for other languages (like nvm for Node.js), rustup doesn’t require me to use a specific shell, doesn’t require me to use any special prefix for commands invoking Rust toolchain programs (I can just run
cargo build
andcargo run
like normal), and doesn’t touch any environment variable (except adding its installation folder toPATH
when rustup is first installed).Instead, it simply installs a wrapper binary for each of the programs in Rust’s toolchain. The wrapper binary checks if there is a Rust version override for the project I’m working on, then finds and executes the appropriate version of whichever program I’m trying to run. Nice and clean, with a bare minimum of nonsense.