3 ms·
Using the example of JSON, one of the issues in the Java ecosystem is that there are 3-5 JSON libraries(GJSON, Jackson, Org.json, Genson, etc.) that are common
by melissalobos 5y ago
Using the example of JSON, one of the issues in the Java ecosystem is that there are 3-5 JSON libraries(GJSON, Jackson, Org.json, Genson, etc.) that are commonly used. Today there is a clear choice for Rust, but in 5 years it will probably be more fractured.
If you have one or more dependencies that also need to parse JSON, and they choose differently, you could have cargo building multiple JSON libraries and including parts of them in your application, which would increase the bloat of the resulting binary.
This is of course a problem with any language and not Rust specific, but in an ideal world there would be one best way for doing most things included in the standard library and everyone would just use those.
- nindalf 5y agoWhat's funny is that serde pretty much dominates the serialisation space in Rust. It's as close to a de facto standard as possible. I would bet decent money that it remains the top lib in 5 years time. But your point stands - in an ideal world it would be nice if there was one obvious way to do it, and that obvious way was in the standard library.
- thesuperbigfrog 5y ago>> It's as close to a de facto standard as possible. Then why not put it in the standard library? If it is mature enough, then why not add it so anyone can use it without having to dowload it everytime? So that new users to Rust are not forced to search through all the possible candidates to find the best answer? If it is not ready, sure wait until it is or use something better. In the industry I work in, software needs to be mature, stable, and boring. I would love to start using Rust at work, but it is not ready in terms of maturity and stability because of reasons like these. Rust needs a standard. Rust needs multiple mature implementations. Rust needs a standard library that covers enough "everyday" use cases that you don't have to download half of crates.io to accomplish everyday tasks Perhaps it will be ready in 10 to 15 years. Until then, we will keep building things in C and C++.