| I think this is partially true, but more nuanced than just saying that Rust std lib is lacking. Compared to go and c#, Rust std lib is mostly lacking: - a powerful http lib - serialization But Rust approach, no Runtime, no GC, no Reflection, is making it very hard to provide those libraries. Within these constraints, some high quality solutions emerged, Tokio, Serde. But they pioneered some novel approaches which would have been hard to try in the std lib. The whole async ecosystem still has a beta vibe, giving the feeling of programming in a different language.
Procedural macros are often synonymous with slow compile times and code bloat. But what we gained, is less runtime errors, more efficiency, a more robust language. TLDR: trade-offs everywhere, it is unfair to compare to Go/C# as they are languages with a different set of constraints. |
All those AFAIR need 3rd party packages:
Regex, DateTime, base64, argument parsing, url parsing, hashing, random number generation, UUIDs, JSON
I'm not saying it's mandatory, but I would expect all those to be in the standard library before there is any http functionality.