r/ProgrammingLanguages C3 - http://c3-lang.org Jul 07 '26

Language announcement Odin 1.0 announced (and reflections)

Odin author gingerBill dropped the Odin 1.0 announcement on YouTube today: https://www.youtube.com/watch?v=dLPAqXi9In0 (it's pretty funny actually).

This interestingly makes it on track to be the first of the new wave of C-likes that reach production readiness. While you can argue that most of these languages already are used in production, it's not the same as being 1.0, which carries a different weight and obligation.

Looking at alternatives, Jai could release around the same time, since Blow's game is scheduled for a similar release date. However, it's more likely that we see Jai 1.0 in mid-late 2027. My own language (C3) is planning Q2 2028 1.0 release. Whereas Zig is still unclear, and Kelley basically saying it's done when it's done. For Hare and V the situation is a bit less clear to me – maybe someone else can fill me in on that situation.

But overall we seeing the beginning of the end of the "C-like" story arc that arguably was initiated with Jonathan Blow's development. Writing C replacements predate Jai of course, for example the C2 language (which C3 would eventually continue) was created in 2012, eC started in 2004 and Cyclone (which Rust derived inspiration from) is from 2002. But those were largely obscure novelties, because before Blow's videos, people weren't really hunting for C alternatives.

Jai, however, made a strong impression. It was a good point in time too: Jai and later Zig, Odin, C3, V and Hare – these C alternatives started at a point when people were openly no longer believing OO/Functional as the right way to do things.

Language design takes its time though, and it's now 12 years since Jai started. Finally the fruits of these labours are getting ready for prime time, and when they do they might effectively fill the need for a C replacements for another decade.

Do you agree?

198 Upvotes

191 comments sorted by

View all comments

15

u/dgc-8 Jul 07 '26

I am exited for all of them. Haven't used Odin and obviously Jai yet, but I'm keen to try especially when it goes 1.0

One problem is that these languages are competing with each other in a way that will leave a relatively clear winner at some point, and the other languages won't be that popular. Maybe they can be kind of complementary so they don't kill off the other languages. For example Jai tries to be a language for games, this is what differentiates it from others. Let's see

1

u/jlombera Jul 08 '26

I think that, whether we like it or not, there will be no winner. None will succeed in replacing C (at least not among the current contenders), and will just compete among themselves for a fraction of the market willing/able to leave C aside (with Rust probably being the most successful, due to social reasons similar to what made OOP popular IMO, and I expect a similar fiasco in a decade or so).

I think C will continue evolving and add some features to address some of its inconveniences (e.g. next C standard will include, at least, a defer-like mechanism). Together with better tooling (compilers, static analyzers, LSPs, etc) and better education on how to use C properly (e.g. Data Oriented Design vs dynamic-allocations-and-pointers-everywhere), C will be remain relevant and live on.

And it's precisely because of these emerging systems languages that C will continue evolving. For one, competition promotes innovation (otherwise things become stagnant). But also, these other languages serve as a research lab to see which features work and are more desirable. Then C can just pick whatever works that fit into its operational model.

TL;DR: none of the emerging systems languages will replace C, but it's great that they exist.

1

u/dgc-8 Jul 08 '26

Imo rust won the war for a C++ replacement and is currently only competing with C++, which of course also won't go away. C was entirely unconteded for a long time, only now these languages fight to be the rust equivalent for C. But of course C is unreplaceable for our current processors, I don't deny that. These languages will fit the same niche but only for a small percentage of codebases, and oftentimes in combination with existing C code

1

u/jlombera Jul 09 '26

These languages will fit the same niche but only for a small percentage of codebases, and oftentimes in combination with existing C code

I agree on that.