4 ms·
Can someone with Odin experience tell me about a new feature? I'm looking for a unique hook, like Zig did with comptime.
by sriram_malhar 2y ago
Can someone with Odin experience tell me about a new feature? I'm looking for a unique hook, like Zig did with comptime.
- goodpaul6 2y agoI don’t think it’s trying to have some magical hook, it just feels better to program than C/C++ for most of their use cases. That being said, I find the error handling via multiple return values + or_return pretty nifty, and the vendored libraries give it a very “batteries-included” feel. For example, you can render hardware accelerated graphics and de/serialize JSON without downloading any packages.
- gingerBill 2y agoI am the creator of the Odin programming language but Odin doesn't have a "killer feature". The lack of a "killer feature" does mean it is a very weird language to market for (see: https://www.gingerbill.org/article/2024/09/08/odin-weird-to-market/ https://www.gingerbill.org/article/2024/09/08/odin-weird-to-...), but to summarize that article, Odin isn't trying to be hypeable, it's trying to be an extremely productive language for people looking for a C alternative for high performance modern systems.
- sriram_malhar 2y agoFair enough. The reason I asked is there are many languages that aim to fill the gap that Odin fills (Nim, Zig, Crystal). My use of the word "hook" wasn't meant in the sense of "killer feature"; it is some vague sense of what people believe should excite me to take a detailed look at the language spec. For example, I'd say "If you are a python programmer, you should take a look at Nim. Same syntax, automatic memory management, fast execution, and meta programming". For crystal, it would be the same set, except for the syntax (which resembles Ruby) Anyhoo, having read some more about Odin, I'll attempt an answer to my own question. These are the features -- the hooks -- that stood out from the competition for me 1. Array programming on fixed sized arrays. Very nice. 2. quaternion and matrix in-built types. This alone is worth the price 3. "where" clauses including numeric constraints on types (in parametric polymorphism) 4. relatively pain-free linking to C code of admission. 5. Small arrays for dynamically sized stack allocated arrays 6. Multiple return values that can be named. Consider me hooked! Thank you for all the hard work and sharing it generously with the world.