No, asdf is a replacement for them. It's not an abstraction on top of them. It uses its own plugin system, and everything is written purely in bash. Everything gets installed in `~/.asdf/installs`
> asdf version resolution is slow which makes every command execution pay that penalty. asdf reshim is needed for finding new executables, and some tools are not happy with their executables being masked by shims.
> Perform asdf version resolution only once and defer environment loading to direnv.
Nevermind trying to setup a development environment where you have multiple dependencies on different language runtimes.
Package managers often don't have a way to install specific old versions of a package, or multiple versions of a single package. That's the whole point.
Regarding the suggestion to “do things manually” — what is the value of doing things manually? For me, it is very far away from how I want to spend my energy, which is doing computer things that only I can do. I am happy to outsource environment variable fiddle faddling to someone else.
It can't actually install different versions though (looks like `asdf` can?), which is somewhat inconvenient.