I agree with all the people who say that crates.io is superior to the stdlib.
However, I think there is a legitimate problem here, which is discoverability.
The nice thing about the stdlib is that it’s extremely discoverable: there is only a single stdlib, so there’s no choices to make, and everything is contained in one place.
Whereas with crates.io… you have to search for things (did I use the right keywords? did I miss a crate in my search?), and then you have to choose between multiple different competing crates (which one is the most full-featured? which one is well tested? which one is well maintained?)
All of this searching takes time, and it takes mental energy. It is so much easier to just rely on the stdlib, since it requires no choices, and it’s guaranteed to be well designed, well tested, and well maintained (well… for the most part).
I saw some comments that crossbeam is the de-facto concurrent crate. But if you’re new to the Rust community, you don’t know that. This is insider community knowledge that is only obtained after being a part of the Rust community for a while.
That’s why people keep asking for a stdlib, because a stdlib doesn’t require that sort of insider community knowledge.
So there is clearly a problem with discoverability. I hope we can all agree on that.
But the solution isn’t the stdlib. Instead, the solution is something like the awesome lists: a carefully curated list of “blessed” crates.
I’m not saying we should just copy the awesome lists, just that we should copy the idea of a curated list of crates.
There should be some minimum criteria for a crate to be put onto that list (such as it being widely used, full featured, well tested, well maintained, etc.)
And that list needs to be official: it needs to be promoted on the official Rust website. It needs to be promoted on the crates.io site. It needs to be extremely easy for newcomers to find the list. It cannot just be some third-party list.
The reason it needs to be official is because of both discoverability and trust: people who are new to Rust are naturally going to look at the official Rust website. Many people don’t even know that the awesome lists exist.
As for trust, it needs to be possible for people new to Rust to trust that the list is accurate and up-to-date. Nobody wants to use obsolete crates.
I think this is a far better solution than a stdlib, we just need to decide as a community to do it (and make it official).