Differences between Odin and Zig

For those who went to Handmade Seattle, you may have seen me but in any case, I first saw the fireside chat with Ginger Bill and dismissed most of Odin because he was not Andrew. :wink:
But then I met a friend Josh there and he mentioned Odin to me again and that got me interested to at least see how is it different from Zig.

In the last week or so I’ve been learning and playing with Odin and met Rickard who similar to my experience had done stuffs in Haskell and Zig but is now mostly doing videos on Odin.

I found a lot of similarity between Odin and Zig and the biggest difference is that Zig has comptime where as Odin doesn’t but because I’m not an expert in Odin yet so I asked Rickard a question about his take since he has done Zig before and is now mostly doing Odin stuff.

He made a video about it:

Please do not take this as a flame bait and focus on the content.


I actually tried learning Odin before learning zig. From the little experience I had I remember thinking that it was, syntactically, much like Go but without the annoying design choices of Go. Having a way to avoid constant nil checks was nice. The context object and default allocator is a nice in my opinion.

Also Ginger Bill has perhaps the best series of articles explaining allocators I’ve read. You get a better idea of it than say the standard Rust explanation of stacks and heaps.

Ultimately I stopped working with Odin because it wasn’t stable enough for my learning needs.


Thanks for sharing your experience.
That’s the problem with most new languages as changes happen fairly frequently. I had to change my code multiple times for the changes in zig 0.12 as well. :slight_smile:

1 Like