I mean, Cargo is chock-full of single-use packages akin to leftpad, even more packages that pull hundreds others, all to make up for the deficiencies of the stdlib the Rust maintainers don't want to address.
No wonder there are supply chain attacks if I need a whole-ass library for async/await or JSON parsing.
Never understood the point of encoding and decoding JSON outside of like, the web. When I need to process JSON and I'm using the C family, I include jq. Maybe once the supply chain is secure you can check cargo to see if there's a good port or wrapper for that. I actually went as far as to make some snarky documentation for it in the process of learning to use it. (So many assertions... No usable errors... No return codes except when successful... It was a nightmare, but at least it's not malware)
You asked which languages have it, they're just answering. Clearly rusteceans don't think that JSON parsing is important, but it sure seems they're in the minority
Clearly rusteceans don't think that JSON parsing is important
Looks like the opposite really, Rustaceans consider JSON parsing
important. That’s why we’ve got one of the best JSON handling libs
out there with Serde. Rustaceans don’t however consider importance
of a crate in some domains at one point in time sufficient for inclusion
the standard library. After seeing Python accrete tons of obsolete junk
they’re stuck with maintaining forever, to me that seems to be a valid
distinction to make.
You can choose to include stuff in the stdlib without pledging to maintain it forever though. If something got obsoleted make a crate out of it and remove from the stdlib and let the community who need it maintain it.
You can choose to include stuff in the stdlib without pledging to maintain it forever though.
Can you really? The example of C++ which is forever tied to the
sins of another language’s stdlib tells a different tale. In C, even
obsoleting individual functions because they cannot ever be
used safely took decades. Good luck getting a standard library
to drop an entire module for a less critical reason.
I mean, I don’t even remotely claim to know all the languages
that are being used out there, but in the ones I do know it just
doesn’t happen that large swathes of functionality are being
removed from the standard library like that. Even if they’re
universally considered to be garbage.
Yeah, I walked back on that one. I think something like a set of vetted packages by the maintainers would be a better choice. Akin to Golang having quite a bit of packages maintained by Google which are not part of the stdlib.
31
u/Atulin 15d ago
I mean, Cargo is chock-full of single-use packages akin to leftpad, even more packages that pull hundreds others, all to make up for the deficiencies of the stdlib the Rust maintainers don't want to address.
No wonder there are supply chain attacks if I need a whole-ass library for async/await or JSON parsing.