| ▲ | Twirrim a day ago | ||||||||||||||||
I love the language, but I'm still not convinced by Rust's skinny stdlib approach. I appreciate not wanting to end up like python where they're having to remove stuff from the stdlib because it has too many batteries and bitrot is a problem, but there's surely a happy-medium somewhere along the line. I don't write much Go but it seems like it has a good balance when I do. It may be a bad example, but even in rust generating a random number involves pulling in 6ish crates | |||||||||||||||||
| ▲ | coderenegade a day ago | parent | next [-] | ||||||||||||||||
The skinny stdlib is always a mistake imo, because if you don't provide it, somebody else will, and it's unlikely to be as nice to work with for your users as a standard library implementation. In the case of C++, for instance, this lead to the boost era. For all of Python's warts, it at least makes everyday structures and operations you might want to use fairly painless, and it keeps expression fairly standardized. Leave external libraries to build things that are actually interesting, rather than scaffolding and infrastructure that the language vendor is better off providing. | |||||||||||||||||
| |||||||||||||||||
| ▲ | nu11ptr a day ago | parent | prev | next [-] | ||||||||||||||||
Agreed. I would like to see an extended stdlib of sorts form perhaps taking inspiration from Go or Python. I think it is too late to shim it into the language itself, but it could be like an alternative stdlib of sorts (more like an addendum, not replacing what is already in stdlib). The bonus is it would be precompiled for all platforms so even if doing a cold compile, it just is linked. | |||||||||||||||||
| ▲ | cmrdporcupine a day ago | parent | prev [-] | ||||||||||||||||
100% this. Was playing with the odin language recently (https://odin-lang.org/) and was very pleased at what was included in the std lib while still being a good viable systems PL. And delightful fast compilation time. That said, I missed the borrow checker. | |||||||||||||||||
| |||||||||||||||||