Genuinely curious — what language do you think has good/better package management? Every time I start a Python project, for example, there's a bunch of time and frustration spent getting pip and virtual envs working.
As a python and node dev, I think NPM wins out just because I don't have to "activate" an environment when I want to use it. The environment is always right there where my code is.
You didn't ask me this question, but I work in Ruby, and off the top of my head, have no complaints about Bundler. Switching Ruby versions between projects is not something that is handled natively in any way (unsurprisingly?) and I know that I've struggled a lot with `rvm`, but since switching to *env (rbenv, pyenv, nodenv) I can safely say I do not have any struggles on that front either.
I feel ruby's whole problem in this space is that everyone recommends a different tool. I've used several. None are terrible. But walking into an environment and getting told everyone uses a different tool is
Only times I've run into dependency issues with .NET are when a library expects certain native DLLs to already be present on the system, but that's pretty rare (and fairly easy to solve).
In my mind, anyone setting out to create a package manager, or a new language that will need one, needs to at least match the functionality of Gems/Bundler or Hex/Mix. They've been around long enough that it feels like table stakes at this point.
Mix does more than just dependencies, however I am referring the table stakes as being the more narrow scope of dependency management.
They are talking about client development so none of the answers are going to compare.
You aren’t grabbing ESMs from CDNs for a Node server app. And even if you are, that’s just not a situation that’s happening outside of an ecosystem that straddles client development.