3 ms·
Hm, this response essentially says "other languages have this problem too, so deal with it". While thats true, it completely misses the point. The point is not
by svnpenn 6y ago
Hm, this response essentially says "other languages have this problem too, so deal with it".
While thats true, it completely misses the point. The point is not that dependencies exist, or even that a package might have many dependencies.
The point is, Rust (and NPM) I have found many times dont care or even consider the impact of a large amount of dependencies, and often take no steps to mitigate or reduce that number.
As others said, some features could be split off into other crates. Maybe someone only needs HTTP, or maybe they need HTTPS but no Async. Or maybe they dont need logging. With Hyper and others you just have to build everything whether you want it or not.
- jandrese 6y ago> other languages have this problem too, so deal with it This is the primary reason I try to avoid projects built with npm. Fucking dependency hell. If the project hasn't been actively maintained in the last 3 months your chances of getting it to work drop precipitously.
- deckard1 6y agoGithub and npm are both graveyards filled with dead JS libraries. They make it too easy to litter the universe with sub-par orphaned software. And somehow, it's up to each individual to filter it all out. You have critical software such as React sitting next to mountains of bad nonsense code. And they are all on equal footing. People love to trash Perl on HN. But among many other things that Perl devs understood, they deeply understood issues that come up with dependencies. Most CPAN modules are namespaced, have unit tests, and unit tests run when modules are installed. Not only that, the people behind CPAN understood that it is a community effort and you, as a library author, have certain responsibilities to your community. https://pause.perl.org/pause/query?ACTION=pause_04about https://pause.perl.org/pause/query?ACTION=pause_04about None of that exists in npm. We have scopes in npm, and that's about it. CPAN makes npm look like a child's toy.
- stjohnswarts 6y agoCan you point out any projects that have gone off the rails because of dependencies? I mean otherwise it's just "what if" syndrome.
- steveklabnik 6y ago> As others said, some features could be split off into other crates. I agree with this, but that's not what your original post says. Or at least, it’s not what I understood from reading it. :) > The point is, Rust (and NPM) and C, in many real-world cases, which is why the above post matters.
- jandrese 6y agoWhen I find a project that is a handful of .c files and a Makefile they almost always compile and run. Sometimes with warnings because the features used in the code are depreciated but usually without too much fanfare.
- dpc_pw 6y ago> they almost always compile and run Same in Rust. Actually, it's quite better than in C. The only time Rust projects fail to compile is when they pull in some C library and something there (like configure.ac) messed up. :D And if this C project does anything interesting it pulls in bunch of C libraries that came precompiled with your OS, and might be stale and contain unpatched security vulns. C/C++ developers pointing at other languages about dependency hell is a curiosity.