Originally posted by AsuMagic
View Post
What primarily makes Rust "low-level" is that it does not use a garbage collector. This allows for "low-level" compatibility with the explicit memory allocation we find in most operating systems (malloc/free) in both kernel- and user-space. This makes Rust suitable, for example, for kernel and embedded development, in a way that Python and Java are not.
By the way, C++ is a tricky one to fit in this classification because it can do "low-level" due to its C roots though actually a lot of modern C++ is quite "high-level". C++ is a jack of all trades, for better or for worse.
Another by the way: "suitable" does not mean "perfect" or even "good". At least in systems programming C-style ABIs are standard, so you need to do some "wrapping" to call back and forth between C and Rust. C++ can be tricky in this respect, too.
Comment