Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm the creator of the Odin programming language and I originally tried to approach it by fixing C. And my conclusion was that C could not be fixed.

I made my own standard library to replace libc. The lack of safety is hard to do when you don't have a decent enough type system. C's lack of a proper array type is a good example of this.

Before making Odin, I tried making my own C compiler with some extensions, specifically adding proper arrays (slices) with bounds checking, and adding `defer`. This did help things a lot, but it wasn't enough. C still had fundamentally broken semantics in so many places that just "fixing" the problems of C in C was not enough.

I didn't want to make Odin initially, but it was the conclusion I had after trying to fix something that cannot be fixed.



I am quite happy with what you can do with C's types already today: https://godbolt.org/z/njzazY4n6

This is (almost *) bounds safety with -fsanitize=bounds

*) with some pending some compiler improvements it will be perfect

(edit: updated godbolt link)


I feel like Odin is the closest to "normal C", especially in its simplicity, which is often undervalued. If C was easily fixable it probably would've been done already anyway...


Do you know if there are some professional games that have been made with Odin and released on steam or on game consoles?


I (the author of the article) also made a kooky game called CAT & ONION: https://store.steampowered.com/app/2781210/CAT__ONION/

It's a short game made in Odin, but I spent a lot of effort in polishing it so that it would be a pleasant little strange experience.

It was the first commercial game made in Odin.

Some games made by other people:

Solar Storm (turn-based artillery game): https://store.steampowered.com/app/2754920/Solar_Storm/

2deez (fighting game, not yet released): https://store.steampowered.com/app/3583000/2Deez/


Not a game but the impressive VFX software embergen is written in Odin iirc.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: