3 ms·
Having worked on trying to generalize npm, component and bower, I do agree that a lot of what package managers do can be generalized. However, there are ways in
by malandrew 12y ago
Having worked on trying to generalize npm, component and bower, I do agree that a lot of what package managers do can be generalized. However, there are ways in which package manages can be very useful if there are bindings for the language in question.
More specifically, the import/require statements in a language, coupled with the information you can get from a package manager and syntax tree parsers provides enough information to map out entire programming ecosystems.
If there were ever one package manager to rule them all, it would have to support bindings (possibly as a plugin) for every language for it to truly be as valuable as the language/runtimes it supports.
- MichaelDickens 12y agoIf you're the author of a new programming language, it's easier for you to develop a plugin for an existing package manager than to develop a new package manager.
- dom96 12y agoIs it though? Do existing package managers even provide a way for you to write plugins for them?
- malandrew 12y agoNot that I know of. I haven't come across many that are thoroughly documented for the sake of people that come later and furthermore many come with the baggage of the decisions made early on that are difficult if not impossible to change. No one wants a "so so package manager" that supports plugins. Furthermore, writing a package manager is usually one of the first large scale projects common to most language ecosystems that really exercise what a language is capable of. Other tools for working with the language, such as parsers, interpreters and compilers are among the first projects in any ecosystem.