3 ms·
We don't need to speak in hypotheticals, we can just look at the glob crate: https://crates.io/crates/glob https://crates.io/crates/glob 213M downloads, depend
by kibwen 1y ago
We don't need to speak in hypotheticals, we can just look at the glob crate: https://crates.io/crates/glob https://crates.io/crates/glob
213M downloads, depends on zero external crates, one source file (a third of which is devoted to unit tests), and developed by the rust-lang organization itself (along with a lot of crates, which is something that people tend to miss in this discussion).
- hu3 1y agoglob was just an example. They weren't asking about a specific crate. Also this crate is from official rust lang repo, so much less prone to individualistic misbehaving. A bad example all around.
- deleted 1y ago[deleted]
- timeinput 1y agoI think the parent was suggesting comparing and contrasting the glob dependency in rust, and npm. The one off isn't useful, but picking ten random, but heavily used packages probably is. The parent didn't really mention what the node version looked like though. The npm glob package has 6 dependencies (those dependencies have 3+ dependencies, those sub dependencies have 6+ dependencies, ...) As you point out the rust crate is from the official repo, so while it's not part of the standard library, it is maintained by the language maintenance organization. Maybe that could make it a bad example, but the npm one is maintained by the inventor of npm, and describes him self as "I wrote npm and a pretty considerable portion of other node related JavaScript that you might use.", so I would say that makes it a great example because the people who I would expect care the most about the language are the package maintainers of these packages, and are (hopefully) implementing what they think are the best practices for the languages, and the eco-systems.
- kibwen 1y ago> Also this crate is from official rust lang repo, so much less prone to individualistic misbehaving. To reiterate, lots of things that people in this thread are asking the language to provide are in fact provided by the rust-lang organization: regex, serde, etc. The goalposts are retreating over the horizon. Rust's primary sin here is that it makes dependency usage transparent to the end-user. Nobody wants to think about how many libraries they depend upon and how many faceless people it takes to maintain those libraries, so they're uncomfortable when Rust shows you. This isn't a Rust problem, it's a software complexity problem.
- hombre_fatal 1y agoWhich glob crate? https://crates.io/search?q=glob https://crates.io/search?q=glob I went to page 8 and there were still glob libraries.
- timeinput 1y agoThat's much more a statement about the search function on crates.io than it is the number of glob crates. I think if you have the standard glob crate as a dependency you show up in that search.
- kibwen 1y agoThe one that shows up first, which is to say, the one with 200 million downloads, which is to say, the one whose name is the exact match for the search query.
- buzzerbetrayed 1y agoFinding a single library that avoids the problem is pretty useless. You can find great libraries in Node as well but everyone would agree that Node has a dependency problem.
- kibwen 1y agoAnd yet it's telling that, when the author mused about library quality and unknowingly suggested an arbitrary library as an example, the Rust version turned out to be high quality.