4 ms·
It really does surprise me that languages come with their own package managers. In most linux contexts, there's really no need for it since linux distributions
by coherentpony 9y ago
It really does surprise me that languages come with their own package managers. In most linux contexts, there's really no need for it since linux distributions come with package managers.
Part of me feels like a better solution is to maintain older branches to give distributions opportunity to catch up.
- dbaupp 9y ago> In most linux contexts, there's really no need for it since linux distributions come with package managers This single sentences hints at least major two reasons for language-specific package managers: - non-Linux platforms - there's many different Linux package managers (apt, rpm, pacman, nix, portage, ...) A language-specific package manager means developers (i.e. the ones writing the packages) only have do to packaging work once, instead of for every platform they might want to support, including ones that they have no way to test on (and a lot of code, especially in the modern wave of languages like Rust, often works on all platforms with no particular effort from the developer). From an asymptotic perspective, using the platform package managers results in something like O(# libraries * # platforms) work and likely a lot of code not being packaged for some platforms, whereas language-specific package managers is something closer to O(# languages + # libraries) work (or maybe O(# languages * # platforms + # libraries). Looking at this decision purely in terms of developer effort, the latter seems like the better choice. (There's also things like fpm that are designed to be more like O(# platforms + # libraries) work, which is nicer than either of the above!)
- lokedhs 9y agoFor anything but C, one can't really trust the distributions to care enough for that to be an option. You can install Common Lisp libraries from the Debian repositories, but if you do, you'll find yourself in a world of problems since they are mostly severely out of date, if they work at all. Far too many times have I had to explain to newcomers to Common Lisp that they can't install stuff from the repositories, and instead have to download their CL implementation separately and then use Quicklisp.