4 ms·
When I see these subjects, I can't help but talk about the Odin Programming Language. It's been such a joy working nearly exclusively in Odin this year. The cre
by leecommamichael 10mo ago
When I see these subjects, I can't help but talk about the Odin Programming Language. It's been such a joy working nearly exclusively in Odin this year. The creator of Odin might have something interesting to say on this topic. vidarh said "Wirth was perhaps too ascetic in his insistence on keeping the compilers minimal, but you can fine less extreme versions carried on in extensions done in the PhD dissertations of students in his group." I'm not versed in the extensions, but I wouldn't be surprised if Odin looked a lot like them. It's a very practical language, and feels like a proper 21st century C language with Wirth's design ethos.
- Rochus 10mo ago> feels like a proper 21st century C language with Wirth's design ethos. While Odin is a modern and capable language, it belongs to the "C-alternative" school (alongside Zig) rather than the "Wirthian" school (Pascal, Modula-2, Oberon). Odin, by design, retains manual memory management and allows pointer arithmetic. Oberon has a GC and very restricted pointer use. Odin's "joy" and "practicality" come from adding many features that Wirth would have considered "unnecessary complexity".
- kazinator 10mo agoISO Modula 2 has manual allocation and deallocation: NEW and DISPOSE. The ISO module SYSTEM provides pointer arithmetic with "ADR" manipulation. Argubly, though, ISO Modula 2 is not exactly a Wirthian language any more but "Standardian".
- AnimalMuppet 10mo agoEven Pascal had a way of allocating things on the heap, though I forget the syntax.
- leecommamichael 10mo agoI see what you're saying, and it's true that C's design guides Odin's in a large way. A more precise way to word things may have been "inspired by" rather than "with" Wirth's design ethos. In Odin's case, I do think there's quite a lot of design area reduced in not having a GC, which is no small amount of complexity to skip.