Odin is a general-purpose programming language designed with ergonomics as a core principle, prioritizing human developer experience over computer optimization. The language features built-in data structures like dynamic arrays and hash maps, array programming capabilities, and runtime type safety, eliminating the need for external build systems. Odin's design philosophy emphasizes coherence over consistency, implementing commonly needed features directly in the language rather than relying on operator overloading, which can lead to unexpected behaviors. The language's rapid build times (approximately one second for half a million lines of code) enable faster iteration and improved developer productivity.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
So What's Odin Lang Even Good ForAdded:
You brought up gaming there. I I did want to kind of talk about like whilst Odin is not just for gaming, that is something where I have heard a lot of discussion around Odin with gaming using, you know, real lib. Um I I don't know. What What What do you want to say regarding some of the use cases people have for Odin?
>> Yeah, so um Odin is general purpose.
Like you can literally make anything in it if you wanted. You could make an operating system if you wanted, a kernel. You could make a web browser.
Very difficult, but it would it would take you a few decades, but you could do it. But many people are making browsers in it.
Let's just make a browser. Like well guy well done guys for doing like the the Ladybird browser. They are going through as they can and they're getting there.
And they're going to be like what, the fourth browser to the And I say fourth, it's technically the second browser because all the rest are based on each other from like all the roots, aren't they, at the end of the day?
>> Yeah, all the other ones died. Like IE's dead.
Um then Edge, which was for the IE's dead. Opera's dead.
Um >> Yeah, now all of them that exist is you've got Chromium, WebKit, and Mozilla.
Right? So I'm just using that as a web So Gecko, I should say.
>> Sure.
>> And technically all of them are based on like spring like they're literally forks of older I think you like Mosaic and stuff like that. Much I may be wrong, people tell me again. But like they literally are forks of much older web browsers. So effectively they all got the same root in many ways.
>> Um Web Kit >> but it goes [laughter] >> Both WebKit and Chrome stem off of KHTML, which was the KDE uh KDE browser project from decades ago.
So that's all C.
>> Yeah, it's all levels of there's not actually many levels of that.
>> the Blink rendering engine. Like for anyone who wants to get pedantic about it. Like the Blink that's going >> back sometime. Bloody hell. Um forgot about Blink.
Uh But yeah, so stuff like that. So clearly when Ladybird comes out finally we've got another engine that's from scratch.
>> [clears throat] >> actually it actually helps with stuff.
But again, we're going back to Odin to develop the games. And many people actually think Odin is specifically for game making games with. And this does make me laugh because when you see Odin's only good at making games, which the thing the reason why it makes me laugh is Odin's the like games are the most general purpose thing you could ever do.
Like they cover every type of programming known to man.
And if you're saying that's great, thank you very much. It's the biggest compliment you've ever given me.
Thank you so much. But again, it's one of those people who are saying with Raylib, people who use Odin to use Raylib because you download Odin, it comes bundled with Raylib already.
Cuz it's we vendor Raylib as a package in there. And then you can just start using it and it works. In fact, all you have to do is start writing and then you Odin build dot, and that's done.
You don't have an external build system because the build system is within the code itself.
It's just automagic magic for you. It does all the linking for you.
And it's just so easy and quick iteration to do things.
And that's just the start of it. Like literally it's just easy to download.
Everything works. Everything's all packaged together, all vendored, and it's been tailored for the language as well. And then Odin has many different features within the language to make it such a pleasant experience compared to let's say using Raylib from C directly.
Like again, we've got proper array types like dynamic arrays so you can just keep appending to things if you wanted. We've got hash maps, you know. We've got proper string formatting. You don't have to just use printf. It's C style. We've got runtime type safety on the string formatting. We've got array programming. This means you can multiply arrays together with and matrices and swizzling and all that magical stuff.
There's a lot of little things where you go, "Oh my god, this actually feels like a really high-level language." Or even feels like I'm writing in like a shadier language.
But you're not. You're doing something which honestly no other language is really caring to that level.
And they're not to give that lovely ergonomic experience. And that's one thing about Odin when I was designing is is it's it is ergonomic, extremely ergonomic.
Um and usually most people say Odin is extremely comfy to use.
>> Mhm.
>> And that is a lot of design, a lot of iteration, and saying how people use things.
And that's all the point of ergonomics is. It's about designing for humans.
>> Mhm.
>> And that's what a programming language is for. It's not for computers necessarily, it's for humans.
>> Mhm.
I I I did see a >> Yes.
>> I did see a crazy comment. It's like I I going back to AI from earlier. I did see a crazy >> Go ahead. Go ahead.
>> Someone was like it's just a little side tangent. Um someone was saying oh it doesn't matter if the code's ugly because code's not made for people anyway, it's made for the computer.
If your entire If your entire development mindset is based around the the LLM doing everything for you, you know?
I I >> I I can understand where this mindset comes from because they're like well I'm programming so I can then make the computer do the thing. So therefore it's for the computer.
But it's not. Like these are high-level abstractions which are for people to deal with so then they can manipulate the computer. That's the whole point of the compiler. Like it's not Like if you if the if you're saying just computer like great, we'd all be von Neumann and we're just writing machine code directly.
And because anything other than that is just a waste of time.
>> [sighs and gasps] >> Cuz von Neumann was that smart and didn't understand that people weren't as smart as him. Uh >> Yeah.
>> Yeah. But that that's where it goes to.
But again this is the thing is when you try make it a very comfy experience, like a lot of times some things are just completely invisible as well. Like you don't even realize they've been solved because they're not problems to you anymore.
And again what I was saying like that build experience, I can just do Odin build dot like the current directory.
Works. Just works. Or even Odin run dot and just run the current directory. It builds it, runs the executable, and it works. It's a very pleasant experience.
There's no external build system that needed most of the time in the vast majority of times of most projects. Even the stuff we have at work general effects which is really complicated programs.
I can just do Odin run dot.
That's our entire program. It runs.
That's how simple it is.
It builds, runs.
And it builds in less I think it would now I've got it down to about second on my machine. So I can build an image which is half a million lines of code in a second.
Done.
>> It's wonderful.
>> Yeah.
>> That certainly makes things easy to test that if you're building like that's that's crazy.
>> Yeah.
Yeah, build speeds are really important.
I think there's a lot of people don't realize again ergonomics this this iteration time is very important.
Um and build speeds are really important aspect of that because you can iterate quicker.
If you don't have to wait like if you're doing with rust, rust has some long compile times.
And you can't be waiting while you like C++ if we're not even have to go to a more modern language.
I remember some of my colleagues um some of them are C++ programs they go oh I love I love how fast Odin is. And at the time when they were saying this I thought oh he's really slow it's taking 5 seconds to compile and they're used to 5 minutes. Now I've gotten that down in time down further and further now so they're really happy it's even faster.
Compare but it's just this levels of like people put up with really slow stuff.
And then it kind of changes your way of thinking as well about a problem because if you have to just wait you go and have a cup of coffee or you go out for a little walk or something while everything's compiling.
And then you're not thinking about the problem anymore. While if you can just there's a quicker iteration time oh I can get actually be more productive.
Much more.
And that's again it's all about ergonomics. It's about designing for humans.
>> Um okay that yeah I I was going to ask you like is is that like part of the philosophy in how the language is designed like this this designing for humans this ergonomics? And if so like, what are the other sort of design principles you have here?
>> Uh the design principles in general it's just usually again I said this very conservative approach to design is saying like look what what approaches already know we know work and then just do that.
And but sometimes they don't work. Like for instance if we have this interacting with another idea, they may not be coherent ideas. So you have to kind of like when you're designing things the number one goal is always to be coherent.
And then if and then aim for consistency, but if you have to choose between coherency and consistency, I choose coherency every single time.
Um and this is kind of again there's all these little design goals. It's like okay, as I said, ergonomics. What are people problems do people actually have?
Solve that specifically.
And once you see that understand that idea, you'll see there's a certain pattern throughout Odin the language itself.
A great example of this is Odin doesn't have operator overloading or stuff like that.
And you'll be going like but oh but I want to be able to add my own data structures and such. It's like well Odin's got to take the other approach going well, what's the actual data structures do you need? Well, we've just added them in the language directly. Not in the core library, in the language. So we've got you your arrays, you got your dynamic arrays, you got hash maps.
They're in there, you know?
And they've got And this this thing is where you we actually add the stuff that people what they would have normally you say operator overloading for and just implement those things directly.
Like oh I want to do it for array mathematics. Well, guess what? You can just add two arrays together. It works and it does it element-wise. They go oh yeah, but I also want to do what are the ones saying like oh um I also want to do quaternions or complex numbers. I'm like guess what? They're in the language as well. So there's all these little things where it seems like oh it just seems a bit ad hoc to add all them in. It's like well it's not ad hoc, it's more of like what do people use this problem space for and do that, rather allowing that generalized solution, let's say operator loading, to open a Pandora's Box.
Because I have seen actual horror shows of people doing operator loading, >> [laughter] >> where you go, "What have you done?
You've overloaded the you know, the multiplication operator, and now it turns on a toaster."
What?
Related Videos
Agentforce NOW AMA: Build with React and Salesforce Multi-Framework
SalesforceDevs
490 views•2026-05-28
How agent o11y differs from traditional o11y — Phil Hetzel, Braintrust
aiDotEngineer
450 views•2026-05-28
WEB TECHNOLOGIES UNIT-2 | Degree 4th sem BCOM Computers web technologies unit-2 full explanation💯✅
LearnwithSahera
1K views•2026-05-29
More tests are always better? How to use AI to identify tests that bring little value
Alliance4Qualification
335 views•2026-05-29
Search Algorithms Explained in 60 Seconds! 🤖💨
samarthtuliofficial
218 views•2026-06-01
People of Game of Thrones using JavaScript DOM
AltCampus
296 views•2026-05-30
Introduction to Problem Solving Part - 1 | Lecture 1 | Intermediate DSA
ascensionix
107 views•2026-05-29
🚀 BCS613C Compiler Design | Module 1 to 5 Schema Evaluation 🔥 | VTU 6th Sem 💯 #VTU #bcs613c #exam
Pranavaa-y4y
104 views•2026-06-02











