upvote
Rust 1.0 was in 2015. Most of these languages you're thinking of out of the Handmade Community didn't even start development until around the point Rust 1.0 shipped.

In theory Odin 2027, the 1.0 release of Bill's Odin language, is scheduled for, as the name suggests, early 2027. Zig does not have an announced 1.0 schedule, and who knows for the other two famous Handmade languages.

From the rash of "C++ successor" languages a few years ago, Carbon is still being worked on, Herb Sutter's "Cpp2" seems dead or at least in a coma, Hylo is probably also in a coma, it has several "Write this text" type blog posts, dated 2025 for example...

reply
As an embedded dev, it still feels a decade away, at least. Rust is perfectly usable as a lang to make a little module that links into your main project as a .a file. But, as the language for your whole embedded codebase? Forget it. I have a litany of complaints including Cargo fuckery, ecosystem neglect, lack of first-party support, excessive code size, bad documentation, and bad IR that wastes stack by creating copies on immutable moves.

Don't get me wrong, Rust is lightyears ahead of any other alleged C/C++ successor. But I work in a space where C and C++ have been the only option for the last 30 years with absolutely no production-ready alternative. It looks like that won't be changing anytime soon, which is disappointing.

reply
All reasonable pain points. On the "Cargo fuckery" though, you might consider switching to an alternate build system like Bazel. Comes with its own set of issues (rustc isn't tied to Cargo, but the third party ecosystem definitely assumes it). But for embedded where you're cross compiling and working with C and C++ as well, I find it's a better solution than Cargo.
reply
Rust is already used in production for embedded (although only here and there). Not all places are ready, but I don't believe it's a decade away anymore.
reply

    > But I work in a space where C and C++ have been the only option for the last 30 years with absolutely no production-ready alternative.
What "space"? My guess: HFT or HPC.
reply
Their message begins with "As an embedded dev"
reply
From what I could understand regarding Sean Parent's last interview at ADSP, Hylo is most likely not happening at all, given the raise of AI tooling, with Dave Abrahams re-focusing into non-computing related work going forward,

https://adspthepodcast.com/2026/08/21/Episode-300.html

Cpp2 was Herb's experiment and doesn't seem to be developed much further now,

https://github.com/hsutter/cppfront/discussions/1450

Google is still quite keen in having Carbon, for the purpose of migrating existing C++ codebases, for new code there is Rust, Go, Kotlin, Java, Swift and co.

"Carbon: graduating from the experiment - NDC Toronto 2026"

https://www.youtube.com/watch?v=WJl4ftb5Fxg&t=9

reply
> other two famous Handmade languages

Jai and... C3? FilC?

reply
Jai and C3. I do not consider FilC to be a distinct programming language. AIUI the C I wrote twenty years ago would work with Filip's approach, maybe it needs minor tweaks in a few cases (mmap stunts for example) but likely not for much of what I wrote.
reply
To Odin's credit, it is used for production software that _isn't_ a toy (by the language's own authors). It is probably 1.0 quality already.
reply
If you want to imagine a "1.0 quality" which means "Is used in some software that isn't a toy" then all kinda of crap counts. Bill has given specific goals, I don't think he'll meet them or perhaps even understands how high those bars are†, but even by his understanding Odin hasn't reached those goals.

Unlike Jai you can just download Odin and see for yourself, it has the particular things Bill prioritized (swizzling, a very particular way to do generic programming) and it doesn't have things which Bill feels are a mistake (most obviously package management, but also closures, first class user-defined types, macros, I could go on). The resulting perf isn't very good, and to me it "feels" clumsy to use.

One of the striking things in the Handmade languages is that they're so often wedded to LLVM and so in that respect they're much worse than C which of course isn't even wedded to modern architectural choices like 8-bit bytes, much less LLVM. Zig is the most free of this peculiar curse, which is ironic because years ago Bill called out Zig as unable to escape this, while insisting Odin would not require LLVM - the reverse of what actually transpired.

† In particular Bill thinks he's going to completely specify the language. Anyone who works on this problem for WG14 (C), WG21 (C++) or Rust knows that's basically a rabbit hole made entirely of more rabbit holes. I think Oracle's Java has a complete specification, and maybe TC39 has one for "Javascript" neither of those were uh, cheap or easy.

reply
Zig too. But this is far from being mainstream. Rust took around 5 years I think to become accepted in major companies, and those languages are harder to justify.
reply
I've started distrusting anything good people have to say about Zig because of the wide variety of untrue claims made about it - unless those claims come from Andrew himself. Last time I was assured that compile-time memory guarantees were possible and were going to happen (they didn't: the recent announcement is runtime/debug assertions). Zig is still making massive breaking changes, and while that is not a bad thing, it makes it categorically _not_ production ready.
reply
Also note that isn't much different from debug heap that MSCV was already having in 2000[0], assuming you didn't want to shell out some money to Insure++{1], BoundsChecker[2] and similar products.

Or something like SoftBound, from 2009,

https://llvm.org/pubs/2009-06-PLDI-SoftBound.pdf

It hasn't been for lack of choice.

[0] - https://learn.microsoft.com/en-us/cpp/c-runtime-library/debu...

[1] - https://www.parasoft.com/products/parasoft-insure/

[2] - https://en.wikipedia.org/wiki/BoundsChecker

reply
[dead]
reply
>I hope announcements like this show that Rust is not a fledgling little language that moves fast and breaks things anymore

I see this on here a lot on this site, but Rust hasn't been that in over a decade. Rust's devotion to post 1.0 stability is massive and has involved some interesting design choices. I started writing run in 2015(?) and only hit one breaking change in the language. It was a niche bug in a macro that was fixed later in a later release.

Just watching hackernews you see lots of news about it, but these are additive and not breaking things. I was still writing lots of mio-style async code after async await was out. You don't have to adapt new style or libraries. I used to have a joke that you could tell a codebase's age based on the error handling libraries used, but even with that it was additive. Often multiple would exist in different parts of the same code base. "Oh wow, I've gone deep on this refactor.... I'm starting to see error_chain"

reply
Hah, I remember error_chain. One of my projects during an internship was upgrading a bunch of the old error handling libraries to the new things. I'm glad that corner of the ecosystem has stabilized now.

At that same job we hit a pretty nasty breaking change where mem::uninitialized() was deprecated and this turned out to cause a lot of critical async libraries to explode at runtime. But these sorts of things don't really happen anymore. The editions system is an excellent design and a big contributor to making the language and stdlib reliable.

reply
I'm personally a big fan of garbage collected languages. It's just unfortunate that Microsoft chose C# not to be Ahead-of-Time (AOT) compiled but running on a virtual machine like Java (after which it was modeled after).

Alas, that ship has sailed and Rust has many interesting features so I'm comfy with it taking over the role of C/C++ over the next decades.

reply
Native AOT with C#/.net has come a long way, fwiw.

https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...

reply
Some deployments can be AOT compiled (ASP.NET, mobile), others (like WinForms, WPF) cannot. That makes it confusing and fickle since not all language features work with AOT.

Microsoft needs to choose for AOT Full Monty and leave the CLR behind.

reply
Rust is a serious contender for the next mainstream, widely adopted low level language.
reply
Indeed, unless you're using Safari, you're almost certainly using Rust code to read this webpage.
reply
Allegedly, there is Rust in macOS (but maybe not in iOS), so maybe it's true even if you're using Safari.
reply
Why, when they have Swift for that role?
reply
For me it was the inclusion in the kernel. That locks it in as here to stay
reply
I thought it got pushed back out? Wasn't there a big drama about this and Linus weighed in?

Linus is a wise operator at this point. I often see him come in like a hammer to bash down squabbling, but then he allows the situation to evolve once things quiet down. I only saw the hammer so I'm not sure what the current state is now.

reply
Where did you hear that it got pushed back out? It's going strong as far as I can tell.
reply
I was thinking of the public clash in 2025 between Christoph Hellwig which lead to the resignation of Hector Martin, lead of the Asahi Linux project.

It looks like later, in December 2025, Rust was officially moved from experimental to official: https://lwn.net/Articles/1049831/

reply
I think what Linus pushed back on was specifically "social media brigading" as a solution to internal issues: https://lkml.org/lkml/2025/2/6/1292
reply
In this case it arguably helped. I do wonder how much longer that stalemate would have gone on without the blow up.

I don’t think it’s a good policy in general. Mostly I think it would just end up in alienation and people not wanting to work with you. And Martin did leave. But he had a point and it seemed to get resolved.

reply
deleted
reply
I expect that using Rust is in some years just the sign for vibe coded shit that only doesn't crashes every two minutes because the compiler is stopping the AI from doing the really dumb things.
reply
I was making the same argument just a moment before, using TIOBE. Now TIOBE is awful, but Rust is at rank #10 right now. I think this settles the older discussion as to whether Rust will prevail or not.
reply
Meh, I don't really trust TIOBE. It's at best a very noisy signal. And languages can end up on there for unusual reasons.
reply
[dead]
reply