4 ms·
Could someone expand on why Rust "isn't a systems language"?
by kyeb 7y ago
Could someone expand on why Rust "isn't a systems language"?
- rustybolt 7y agoI think that, in their words, of its "restrictive memory management".
- vardump 7y agoInteresting choice of words given you can do practically everything you can do in C also in (possibly unsafe) Rust.
- smt88 7y agoI think that assertion muddles their argument. Their key points seem to be that Rust (and other existing languages) lack backwards compatibility and have different memory management strategies. Lumping Rust in with GC languages is confusing. Whether either of those things matter is another story. From using TypeScript, I'm personally inclined to believe that a superset of a difficult language can't solve all of the underlying problems, while a totally new language can.
- fluffything 7y agoAll memory allocations in Rust follow a `malloc`-like API that ends up calling `malloc` and similar at some point.
- saagarjha 7y agoWith memory management, the question is often when and how to release resources, not how to get untyped memory from the operating system.
- fluffything 7y agoSure, but in Rust, the programmer writes code that calls malloc manually, which is completely different from Java.
- raphlinus 7y agoIt's simply incorrect, and betrays a carelessness with facts. Now, if you wanted to argue that the fragment of Rust excluding "unsafe" is not a systems language, fine. But by that reasoning, I think you can make an even stronger argument that (standard) C is not a systems programming language, because in practice no kernel is written in a way that avoids all undefined behavior.
- 0xdead 7y agoThe language itself is pretty good for systems programming. It's the lack of tooling (as compared to C) that renders it unsuitable for any real world systems programming projects.