Odin 1.0 Announcement
151 points by gingerBill
151 points by gingerBill
Lately, I think language creators are solidly expressing in surrounding media the intended feel of living with their product. Gleam and its ecosystem are charming and approachable; so are their version release notes. Zig is a rational, low-BS language; u/andrewrk's interviews are similar. I haven't used Odin yet, but this video leads me to expect that it upholds high product standards and leads to satisfying results.
"This video was edited by software built in Odin", left to the end, was a real "builder attitude" flex that left a positive impression on me for sure. I love your "feel" comparisons of the languages. I've written some Zig and played around with Gleam and I've written Go professionally and have strong feelings... I haven't looked at Odin one bit and would like to know where it fits in.
Fooled around a bit. Odin is one of the languages that makes me happiest. Few languages do such a good job at matching practicality with thoughtful design. It feels like for some more recent languages fall short of either or get stuck in some specific feature or implementing "all of them". I think gingerBill is also excellent at expressing thoughts around decision which is a skill I certainly have to work on.
Fooled around a bit. Odin is one of the languages that makes me happiest.
Same. I don't have as much time for Odin as I would like, but everything I did with it so far has been thoroughly enjoyable. It's also almost no effort to get back into after a while, which is interesting for a language I haven't used all that much.
Odin's been pretty much stable for several years now, so it's great that Bill and team are finally taking the step to 1.0. It's a necessary signal that it's production worthy for larger companies when they evaluate alternatives.
This raises the bar for all the other C-like projects that are in development: Jai, C3, Zig, Hare etc
I remember finding out Odin many years ago and going "wow this looks Go without all the stuff I hate about Go", but I was quickly told by everyone in my surroundings to ignore it, because it was yet another fluff lang that will not stand the test of time. I'm so glad they were all wrong! Hyped to give it a shot!
Cool annoucement, good luck to everyone involved the coming 6 months!
Funny how the Pascal book is prominently in view in the video. I always recognized Odin as a language in the Pascal family (even though the syntax suggests otherwise).
If you just changed Odin's declaration syntax from the Newsqueak/Jai style declaration syntax to a Pascal/Go style (which honestly happened for a week in the early days of Odin), you'd 100% realize it is a Pascal in disguise.
It is interesting how many people judge a language purely based on its declaration syntax, even if the concreteness of that syntax makes virtually no difference to its semantics. It's what draws people to a language, or puts them off entirely, even if that aspect makes so little difference in both abstract and concrete syntax terms.
In my opinion (and that of many others), Odin's use of : and = is probably the tersest and most ergonomic to use compared to the alternatives, even if it is less common to see, and thus puts a minority of people off because it is unfamiliar.
Were other Wirthian language a source of inspiration? Like Modula-2 or Oberon? If so, for which parts?
Holy charisma, batman!
I’ve been eyeing Odin for a little while now and I think I’ll try to play around with it in the future.
I've never used Odin before but after watching that video I think I'll give it a shot.
I have. If you're a systems programmer and you're used to either manual memory allocation and/or custom allocators. The language is very low friction. The standard library is "batteries included" and they vendor a lot of the high quality stuff people use. If you're up for it, give it a try. I did not expecting to use it for long but ended up using it for a while. It's rather stable despite being "pre 1.0"
Fun video! I was going to complain that there is no blog post to go along with it but I'm glad to have watched that video.
It seems to me that Odin has found its niche where it's doing fine and is generally useful to people, and there is not a lot of drama surrounding it, at least from the outside.
I wish there was a blog post because I don't like to watch videos. You can count me in the people that liked the look of Odin and was waiting to see if it stuck around and solidified. I am glad to hear they hit 1.0, maybe I'll use it for my next side project.
The TLDW is that they expect an RC in late December, their 1.0 will be called Odin 2027, it will have a complete spec, and he listed a lot of the batteries that will be included in the release. They expect to ship it in January 2027.
There were too many visual gags for it to be tightly coupled to a blog post. Besides which it doesn't look like gingerBill is a frequent blogger. It was mostly just a fun video.
Thank you for this, I really appreciate it. I'll look forward to checking this out some time next year then I suppose.
Uninteresting language. I did find these notes about the author to be quite interesting, though.
The second video unfortunately has been made private a long time ago: On Handmade Cities—A Letter to Abner Coimbre.
He posted it "unlisted" until it made the rounds after a few months and took it down. archived link.
ach, bad vibes from this guy...what is the obsession with communism, is he living in the 1950s
It hurts to see the use of "place and time" rhetoric to shut down opportunities for unification, especially when layoffs are plaguing our industry. What better place and time to encourage that reflection could there be than a conference where everyone is already together?
It's a real shame, because I do like the language; but the community surrounding it rubs me the wrong way, which seemingly starts at the top. I can pretty easily separate art from the artist and all that; but with a programming language like half of what you're actually getting out of it is the community in the form of libraries, knowledge sharing of best practices/pitfalls via blog posts, conference talks, discussions, etc.
Rubs you the wrong way how? I've used Odin exclusively for 3 years doing productive work and the community has never been a detriment at all. If anything, the Discord is actually very, very helpful and welcoming, and only gets too weird and Discord-y if you go in #randomer.
Edit: With that said, I write pretty much all the code that I use that isn't in vendor (which is great, by the way).
Damn. I've known that Ginger Bill is some kind of a chud for a long time, as I had for a little while an interest in it and hung out on the Discord (this was back in like 2018). Fond memories of seeing Bill use weird political analogies in PL design (paraphrase "Rust is bad because it confuses the free market and the nuclear family unit").
But it seems like he's straight up just some kind of a fascist now?
But it seems like he's straight up just some kind of a fascist now?
I think that's a bit of an extreme conclusion to draw from the linked article? I mean sure, the whole Wikipedia thing is dubious at best and the sphere of people surrounding Casey Muratori is downright toxic at best, but going from that to "therefor gingerbill is fascist" is a bit of a stretch.
Following LibsOfTikTok and Tucker Carlson and the rest is a very strong red flag to me.
I can't speak for LibsOfTikTok, but following Tucker Carlson is not necessarily a red flag. People should seek to expose themselves to all sides of the political spectrum to avoid living in a bubble or echo chamber. I'm sure If you looked at my following list on various platforms, you would be very confused, as I follow a broad spectrum of political views. It is entirely possible to follow someone that you disagree with.
edit: Looking at the following list mentionied, I would have picked up someone like Tim pool over the listed names. It's like following Alex Jones but without any of the humour one might get from their insane takes.
When combined with calling the head of the Zig project a communist, I think it can count as a red flag.
I don't care for the mccarthyism, but he's got a manifesto.
We believe that Free Market Capitalism is an outdated technology that has failed to prevent irreversible destruction to our home planet. However, we believe that human society will migrate to a better system without these flaws, and will prevent the ultimate irreversible action of self-destruction.
Is he a capitalist?
The word fascist has lost all meaning thanks to people like you.
And what kind of people is that, exactly?
If I had to hazard a guess: People who don't support fascism?
Regarding Ginger Bill: No opinion on the topic of whether or not he could be (even loosely) considered a fascist, or a supporter thereof. There are (unfortunately) a great number of people who enjoy being entertained by Tucker Carlson etc. who are not themselves supporters of fascists. We do not even know the reasons why Bill might be "following" Carlson, LibsOfTikTok, etc. In these troubling times, it's worth being rational in how we approach such topics -- now more than ever. Irrationality got us into this mess, and it's unlikely to get us out of it.
I used to watch that old, noisy, cranky, whiny guy on Fox News, for example, because many years ago I found him (can't remember his name, maybe O'Reilly?) to be entertaining, but despite his subsequent support for what academics clearly identify as fascism, I am not personally a supporter of fascism. (And I canceled my cable completely just to avoid sending any more money to the owner of Fox News, who is a truly wretched and evil man. I couldn't find any options from any cable companies that did NOT include Fox News, so I dumped it entirely.)
I appreciate where you’re coming from, but being vocally against the ‘ideological bias’ of Wikipedia maps pretty much 1:1 to support of Trump.
For people who are looking for something close to C but with basics like slices, dynamically sized arrays, etc., covered, a standard-library-provided view of what an allocator is, and the myriad things that we associate with C alternatives after 2014, I think Odin and C3 are by far the most interesting languages. With that said I'm not sure what makes a language intrinsically "interesting" as if that wasn't a very personal, at best objective-based, thing.
That's a great video (although I'm absolutely team blog post).
Also I hate to admit that marketing works, when I last looked at Odin it just didn't seem to solve any problems I have (i.e. no direct criticism, but also no incentive) but maybe I should give it another chance.
I've used Odin for three years exclusively at this point; I do basically everything with it because it gets out of my way and past the first couple of weeks it's literally just a matter of getting comfortable with it (as you can imagine I'm very comfortable with it at this point).
If you're looking for a language with "modern C alternative" conveniences like slices, dynamically sized arrays, a standardized view of what an allocator is, logging, bounds checking, and other things, Odin is a great language for you.
Note that it's not trying to be anything other than an imperative/procedural language, so if statements over expressions feels too off to you you're gonna either have to get past it (which I did) or look elsewhere.
Any questions on how a third party user deals with stuff are welcome, I'll answer them as best I can. I write the vast majority of the code that I use that's not already shipped with Odin via the vendor library, so I can't speak too much to the greater Odin ecosystem because I basically don't care. We've integrated C and C++ libraries for things that we weren't going to implement in certain projects, though.
The fact that it's not going to 1.0 without a proper spec is an important differentiator, IMHO, and it's neat to see also that they won't self-host the compiler until after 1.0.
Are there long-term plans to ensure the availability of a bootstrap path?
Congratulations on the milestone! Who is the target audience?
Mainly gamedevs, but can be used for anything else as well
The target audience is "systems programmers". Odin does have extensive built-in support for the kinds of programming GRAPHICS programmers need (array programming, vendored bindings for all major GPU APIs, stdlib allocators like pools and arenas) and builtin SIMD support. If you can write something in C or C++, then you can do it in Odin too.