← Back to context

Comment by umanwizard

9 months ago

I used Rust professionally up until this year (since before async landed) and IMO you've hit the nail on the head. The shoehorning of async into the language and ecosystem seemed to be driven by the belief that if Rust can't attract Go or Python developers then it will fail. In fact Rust was doing fine in its niche attracting C++ developers and trying to make it everything to everyone has diluted what was great about it.

(That said, your example might be a bit exaggerated as I found mqtt libraries that don't require tokio).

Just like C++, teams will end up having to carve out a sane subset comfortable for their domain.

For myself that's looking more and more like:

Ditch crates.io (and maybe even Cargo), carefully curate and vendor all dependencies.

Probably avoid async, but definitely avoid tokio.

Don't get excessively clever. (Here I think Rust does a better job of C++ of having good "community standards" already)