I feel like every language should come with tooling to upgrade the version of the language. Right now I use external tools like pyenv, n/nvm, stack, etc. It really should just be built-in.
Only Go and Rust are painless enough to upgrade that they don't feel like they need it.
There is enough NIH already with language specific package managers trying to do everything.
Guix and Nix already solve this issue much better than things like pyenv, languages should just target them. Maybe provide their own Guix channels if absolutely necessary.
So that's kinda what should happen but I feel on many ways Guix/Nix are their own form of NIH since all these Nix files need to be made for everything!
Also in nix it's not as smooth to move between versions of a language as something like nvm, so these tools will always have an audience
Like more generally it's tricky to have multiple versions of software in nix
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!