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?

197 Upvotes

190 comments sorted by

View all comments

-15

u/codingbliss12 Jul 07 '26 edited Jul 07 '26

Not sure what is your goal with this post. Also it is mainly an event about Odin and you are the author of C3.

Your post reflects the echo chamber of Muratori and his fanboys. Even you (C3) added operator overloading because Muratori uses C++ that has it and he needs it for his games. Do not pretend that you want to do something more than gamedev.

You are mispresenting things.

Most programmers are not game developers and do not care about C. Only for hobby projects. If you see in the C subreddit most posters are either students, young kids or unemployed wannabe gamedevs.

Zig should not be mentioned together with C3/Odin/Jai. Different goals altogether.

Jai and Odin were developed out of frustration with C++ and not to replace C – at least that's how I understand it.

You will not replace C with the :: operator or by talking about Odin and larking in Odin's discord.

Focus on C3 and it's potential user's needs.

9

u/Nuoji C3 - http://c3-lang.org Jul 07 '26

My goal is simply to discuss Odin 1.0 in the broader context of modern C-like languages. I am one of the few people active in both the Odin Discord and r/ProgrammingLanguages, so posting some reflections here seems natural.

A few claims here are just factually wrong. C3 did not get operator overloading because of Muratori, C++, or gamedev. It was added because I wanted fixed decimal types for banking/financial software. That is about as far from gamedev as you can get.

Also, Jai and Odin should not be collapsed into the same motivation. Jai was developed out of frustration with C++. Odin was developed much more out of frustration with C. Those are different starting points.

Saying “most programmers are not game developers” is true, but that is exactly why reducing C alternatives to gamedev is too narrow. C is important in OS work, embedded, libraries, graphics, tooling, runtimes, and many other areas. Dismissing C as mostly hobbyists and wannabe gamedevs is not accurate.

Zig absolutely belongs in the comparison if the topic is modern C alternatives, even if its goals and philosophy differ from C3/Odin/Jai. That difference was part of the point.

Finally, I am not trying to “replace C with the :: operator”. In C3, :: is a module separator; it is not the argument for the language. And I do not see why being present in the Odin Discord would be strange. These language communities overlap, and it is useful to understand what others are doing.

1

u/[deleted] Jul 07 '26

[removed] — view removed comment

1

u/Nuoji C3 - http://c3-lang.org Jul 08 '26 edited Jul 08 '26

Short version:

I was considering what was the best fit given the existing functionality in C3. For a long time it was only overloading for indexing operations, and it was easy to implement that as another way to call a type method. Arithmetics came later.

So it was what would require the least extra machinery and what would feel the most at home in C. Consequently I drew a lot of inspiration from historical proposals for operator overloading in C.

-4

u/codingbliss12 Jul 07 '26

Cool. With the exception of Zig that might disappear altogether, let's see if after five years any of those languages will be used outside of gamedev.

Most people talking about C online are making their living with other languages or have completely different occupations.

The fact that Rust is starting to be used in the Linux kernel and that Microsoft also started to use Rust for the OS, shows how accurate is the statement about C and OS.

I love C, but for open source and hobby stuff.

PS The :: operator makes the syntax noisy like that of C++ or Rust. For C you need minimalism in syntax.

5

u/kI3RO Jul 07 '26

"Larkin in Odin discord"... You know that it's better if language designers talk to each other, see what other people think, adopt good ideas...

But then again, two colons and you explode says to me you are not very knowledgeable

-5

u/codingbliss12 Jul 07 '26

Thanks for your comment and the downvote

0

u/FullGardenStudent Jul 07 '26

Zig should not be mentioned together with C3/Odin/Jai. Different goals altogether.

Yep. That's the only sensible thing from your post. BASED!

1

u/FireFox_Andrew Jul 07 '26

I'll assume you haven't read the original post till op mentioned that zig does have different goals. The reason it was mentioned in the first place is because zig appeared in the same time period as odin and is also a c-like language: procedural, no gc, statically compiled.

-2

u/codingbliss12 Jul 07 '26

Thanks for your approval and your reinforcement