this post was submitted on 06 Aug 2026
31 points (94.3% liked)

No Stupid Questions

49304 readers
841 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here. This includes using AI responses and summaries.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 3 years ago
MODERATORS
 

Lots of programming languages have their own package manager, separate from the distribution or OS package manager.

Going loosely from the TIOBE index:

  • Python has Pip
  • C# has NuGet
  • Javascript has npm for Node.js
  • Visual Basic also uses NuGet
  • R has a repository of packages that can be installed by running install.packages("something") in R
  • Rust has Cargo/Crates
  • Go has the go get command
  • Swift has its own package manager swift package
  • Ruby has RubyGems
  • Java has Maven and Gradle (not sure if they are full package managers, or build automation tools with dependency resolution)
  • PHP has Composer for managing libraries and dependencies
  • C and C++ are the only exceptions I can think of, off the top of my head; libraries are managed by, and coupled to, the operating system
all 11 comments
sorted by: hot top controversial new old
[–] oantby@lemmy.today 25 points 2 days ago

Simplest answer: it enables programmers on any variation of an OS to get code. If I’ve got a python requirements.txt, getting those requirements installed is the same on any system I’ve got an appropriate python version. The designers of the languages effectively deemed that an important goal and explicitly put in the effort to include package management, in at least most of your listed cases.

[–] urushitan@kakera.kintsugi.moe 9 points 2 days ago

One thing also important here is that not all os / distro package managers let you pin or choose versions. When you update you update. Software projects often lock dependencies to specific known working versions, which package managers generally support

[–] redsand@infosec.pub 6 points 2 days ago

Perl CPAN has been snubbed.

[–] hperrin@lemmy.ca 9 points 2 days ago (1 children)

Because it’s one central repository regardless of distribution or even OS.

[–] howrar@lemmy.ca 1 points 2 days ago

And also having to check OS compatibility for every package you want to use.

[–] ThunderComplex@lemmy.today 2 points 2 days ago

I wanna tackle the question „What’s the benefit?“ first. Imagine one package manager with one repository to serve multiple languages. Now I want to install a library for my rust project and I include a Python library (maybe by accident, maybe intentionally). What’s supposed to happen? Rust can’t call into Python so it can’t work.
So ideally libraries would have to be scoped to specific languages, and now we’re almost back to the original situation but with a worse package manager.

And what if I want to include a C++ library in Rust? If that library isn’t heavily using external C then the ABIs are going to be incompatible, and I still can’t use the library properly.

Does that fictional generic package manager also have to ensure compiled languages compile in a ABI compatible manner automagically?

And what is the OS package manager gonna do when you have two separate projects requiring two different versions of the same dependency?

C and C++ are the only exceptions I can think of, off the top of my head; libraries are managed by, and coupled to, the operating system

For C/C++ there's conan, vcpkg, and whatever Redhat calls their scl system these days. I know there's more, but those are the ones I can remember off the top of my head. You could argue that podman serves in this capacity to some degree.

[–] onlinepersona@programming.dev 1 points 2 days ago

Good question. They seem to be solving the same problem over and over. I think that nix could be the cross language solution, but it needs work.

[–] blarghly@lemmy.world -1 points 2 days ago

Tbf, both C# and VB use NuGet. Which also functions as the command line software installer for Windows in general. So it is kind of what you are looking for.