4 ms·
What did you get stuck on? > I also dont know why npm and node get so much shit for needing so many libraries but rust and cargo get a pass for these small li
by adamnemecek 5y ago
What did you get stuck on?
> I also dont know why npm and node get so much shit for needing so many libraries but rust and cargo get a pass for these small libraries everywhere.
Because cargo is a better package manager in every aspect.
- zozbot234 5y agoBecause Rust is a `cargo` cult. /s
- zerocount 5y ago[Ice Cube voice]: Started off with too much cargo, dropped 4 letters now I'm making all the dough.
- formerly_proven 5y ago> Because cargo is a better package manager in every aspect. A piece of software can only help with some of the less important questions when you're working with many dependencies.
- adamnemecek 5y agoIt handles the insanely tedious parts of package management like version mismatch.
- pjmlp 5y agoIt doesn't handle the issue that every tiny piece of functionality is a crate, because everyone wants to have one on their CV. Also there are no namespaces and integration with other languages boils down to writing our own build.rs scripts.
- formerly_proven 5y agoI'm no node developer, but even with ~100 packages in a Python project it was really rare to see "version mismatch problems". There's probably a lot of talk about it because "just install newest spec'd version recursively" is not technically correct and can violate package version constraints, and it's also probably the only algorithmic thing you can put in a package manager, and optimal solutions are of course NP-hard, making it an interesting thing to work on. But practical impact? Far down the list.
- iopq 5y agoI literally just downloaded a Python program that didn't run because I had the wrong version In Rust, when you compile an earlier edition with the newer compiler it actually works
- adamnemecek 5y agoI have definitely run into these problem with much smaller projects in both python and js.
- Zababa 5y ago> Because cargo is a better package manager in every aspect. It is not. For example, cargo doesn't have namespacing, which makes the issue of name squatting worse. I'd like to have every crate of the tokio-rs organization on Github (https://github.com/tokio-rs https://github.com/tokio-rs) under a @tokio/ namespace or something like that. npm allows that. Dismissive responses like that are part of why people talk about "blind optimism and fanboy-ism".
- DenseComet 5y agoI'd love to see that happen, but as I understand it, that's a decision for the crates.io registry. Cargo itself doesn't deal with those types of details and you could host a custom registry that does have namespaces.
- adamnemecek 5y agoYou are confusing cargo and crates. Also this was a conscious decision.