3 ms·
The standard library is different to the language itself: the language certainly doesn't disallow allocators/OOM handling, it's just the design of std. Furtherm
by dbaupp 11y ago
The standard library is different to the language itself: the language certainly doesn't disallow allocators/OOM handling, it's just the design of std. Furthermore, the standard library is layered: there's `std` with various OS-required routines (IO, etc.) and `core` that is the core stuff that doesn't require any of that. Operating systems/embedded applications can generally use `core`. However, even that is better than C/C++, where one usually has a from-scratch "standard" library (which is possible to do with Rust too): not being able to use the compiler-bundled `std` doesn't seem like a point against Rust.
Many user-space applications don't do heavy network work, which is where concurrent IO is most necessary. E.g. games or a scientific simulation, even web-browsers don't need of concurrent IO (they're not trying to juggle thousands of connections).
- acconsta 11y ago>Operating systems/embedded applications can generally use `core`. Which doesn't, correct me if I'm wrong, provide a stable allocator API or OOM handling yet. >E.g. games When your client pings 400 servers, how is it doing that? How is the game server implemented? >a scientific simulation That runs on one machine, and doesn't do a lot of disk IO? (concurrent file IO matters too). >even web-browsers Open the Chrome dev tools "network" tab, and then open Gmail. How many requests did it make? Again, concurrent IO is important.