Ask HN: Alternatives to Rust Programming Language
If you need memory safety, precise control over low-level runtime behavior (e.g., no tracing garbage collector), concurrency, and a strong ecosystem, Rust is pretty much your only option.<p>The alternative that comes closest to being viable, in my view, is Swift. Swift currently offers memory safety <i>or</i> concurrency, but not both at once. They&#x27;re working on fixing this, but they haven&#x27;t yet. Additionally, hopes that it would grow a strong ecosystem for non-Apple platforms (like Linux servers) don&#x27;t seem to have panned out, largely because Apple owns the language and they don&#x27;t seem to care very much about this use case.<p>As for the other low-level languages I&#x27;m aware of that aren&#x27;t C or C++ or assembly and aren&#x27;t hopelessly obscure:<p>Ada seems to be interested in adopting Rust-style memory safety, but (as far as I understand) it hasn&#x27;t yet. It&#x27;s also not a widely-used language with a strong ecosystem, at least outside of some narrow application domains that probably aren&#x27;t what you have in mind.<p>D offers memory safety <i>or</i> precise control over low-level runtime behavior, but not (as far as I understand) both at once. It also doesn&#x27;t have a strong ecosystem.<p>Jai doesn&#x27;t have a publicly available implementation.<p>Nim offers precise control over low-level runtime behavior <i>or</i> concurrency, but not both at once (because threads can&#x27;t share memory; there seem to be ways around this with globals but I&#x27;m not sure if they let you do everything you can do in C&#x2F;C++&#x2F;Rust&#x2F;Swift). Also, precise control over low-level runtime behavior isn&#x27;t the default; you have to opt in. And it&#x27;s not a widely-used language with a strong ecosystem.<p>Objective-C isn&#x27;t memory safe, has no plans to fix this, and its ecosystem is likely to decline with time as Apple pushes people to abandon it in favor of Swift.<p>Verona is a research project without a working implementation yet.<p>Zig isn&#x27;t memory safe and has no plans to fix this. It also doesn&#x27;t have a strong ecosystem. (I don&#x27;t know anything about its concurrency support.)<p>If you don&#x27;t need precise control over your program&#x27;s low-level runtime behavior, then there are many options available to you. (Go, despite sometimes being marketed as a &quot;systems&quot; language, is in this category; I would also classify Julia, Kotlin&#x2F;Native, and V here.) More details about your requirements would be needed in order to choose among them.