Hacker News new | ask | show | jobs
by kyeb 2390 days ago
Could someone expand on why Rust "isn't a systems language"?
4 comments

It'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.
I 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.

All memory allocations in Rust follow a `malloc`-like API that ends up calling `malloc` and similar at some point.
With memory management, the question is often when and how to release resources, not how to get untyped memory from the operating system.
Sure, but in Rust, the programmer writes code that calls malloc manually, which is completely different from Java.
I think that, in their words, of its "restrictive memory management".
Interesting choice of words given you can do practically everything you can do in C also in (possibly unsafe) Rust.
The 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.