Usually, I prefer manually installing the packages needed for getting started with a new language or technlogy.

I avoid using distro package managers since they tend to be a bit outdated in this regard, and specialised package managers like SDKMAN! seem overkill for one or more packages. Exceptions being languages with excellent tooling and version management like Rust or Ocaml.

I’ve been doing this for a while and was wondering what the general consensus is

Edit: Thanks for your replies everyone! I’ve decided to stick with my distro package manager.

  • Para_lyzed@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    7 months ago

    Since I run Fedora, the repos are very up to date. Not as bleeding edge as Arch may be, but plenty fine for learning and development. There are a lot of issues you can run into during manual installation/uninstallation, so I always use distro package managers. Plus, that ensures that software has a much greater chance of running in an environment similar to an end user, so it’s just ideal overall. I can certainly understand frustrations with Debian packages being out of date, but that’s an ideological choice, and the user should have been aware of that before choosing Debian. All I usually have to do is install the compiler/runtime, a language server for neovim, and some minor configuration for IntelliSense, then I can be up and running with a new language.

    The other side to this is that you don’t necessarily need to be using the latest version of the language to learn or develop in it. It’s often a good idea to stick with the latest LTS release of the language so that it’s most available and compatible with the runtime/environment that the end user has access to. Utilizing features only available on bleeding edge versions of the language can make it difficult for others to use your software, as they’d have to go through the hassle of manually installing the latest version, and can lead to breakage if the language changes before the next stable version is released.