Pablo Marcos Oltra
pamarcos.bsky.social
Pablo Marcos Oltra
@pamarcos.bsky.social
Systems Developer. Passionate about videogame development. Interested in compilers, build systems and new programming languages
"Es posible habitar un Internet descentralizado, lugares alternativos, nichos, romper con el Internet canónico y construir nuestros propios espacios" 👏👏👏👏

Justo por eso los de @choquejuergas.bsky.social han hecho un foro para hablar tranquilicos de sus cosicas: foro.choquejuergas.com
Foro Choquejuergas
El forochoque
foro.choquejuergas.com
November 3, 2025 at 6:11 PM
Odin does it adding support for it on the compiler directly, as far as I understand it:
odin-lang.org/docs/overvie...
June 4, 2025 at 7:39 AM
Glad you like it!

Something I've found very neat for both Zig and Odin: they provide a Struct of Arrays interface out of the box to improve data locality.

Zig does it using comptime and its reflection capabilities to implement it in its std:
zig.news/kristoff/str...
June 4, 2025 at 7:39 AM
The former. Neither Zig nor Rust have exceptions.
I see now that the original statement might lead to confusion😅
June 3, 2025 at 3:32 PM
This other one is also a good one: youtu.be/3K8znjWN_Ig

Sorry for the spam, but I've been following them for a while, so I've collected quite a few things at this point ^_^
"Boundaries of Language Design" with Andrew Kelley & Ginger Bill
YouTube video by Mr. 4th Programming
youtu.be
June 3, 2025 at 10:22 AM
I think @gingerbill.org (the creator of Odin) on the other hand, is more pragmatic and less of an idealist in that sense, but also has very good and insightful takes on language design. Plus, an incredible accent.

youtu.be/oaeQRKWr0v4 is a very nice listen where they both give their ideas
The Race to Replace C and C++Compiler - Podcast
YouTube video by Handmade Cities
youtu.be
June 3, 2025 at 10:20 AM
Yeah, Andrew Kelley created the Zig Software Foundation really early and strongly advocates for OSS. That's why he's only in Mastodon, I guess
June 3, 2025 at 10:20 AM
But having new paradigms, better toolchains and options is a good thing. It's also important to have success products built with the language. For Zig, that'd be Tigerbeetle or Ghostty. For Odin, JangaFX.

Having a good BDFL you agree with leading the language instead of a company also adds up :)
June 3, 2025 at 9:41 AM
All this comes from a systems programmer mindset, so I'm well aware I'm pretty biased. I'm very happy that lately there's a wave of new general-purpose programming languages such as Zig, Odin and others.

I agree that for most people, such low-level languages are overkill and not so convenient
June 3, 2025 at 9:41 AM
So, you can use C and have defer with gcc/clang extensions. And you can always return a struct wrapping the result along with a success boolean.

You can use arenas instead of raw mallocs everywhere. You may even have reflection with macro juggling. Even generics in C11, but they're very ugly
June 3, 2025 at 9:41 AM
Last, using comptime to avoid having a preprocessor and to allow generics is top notch. I think is better than C++ and Java.

In summary, Zig provides out of the box lots of things that only an experienced C developer can end up achieving with a strong and opinionated mindset
June 3, 2025 at 9:41 AM
Having defer and errdefer in the language to have locality between init and deinit seems a very simple thing but so powerful to avoid code clutter in different branches.

Metaprogramming and reflection using exactly the same language is a big plus, as opposed to C++ which is an incredible mess
June 3, 2025 at 9:41 AM
Even though the language itself is more complex than C, it also has less undefined behavior and is still much simpler than C++, which is an untamed beast at this stage.

The explicit error management is an improvement over exceptions, a la Rust and the rest of modern systems languages.
June 3, 2025 at 9:41 AM
My take on Zig in a few words: it's a modern and much better C. Just the fact that the toolchain can easily cross-compile and the build system is standardized is a big plus compared to both C and C++.

The allocator-awareness of the std is very nice for systems programming and makes memory explicit.
June 3, 2025 at 9:41 AM
Cool! What do you think about comptime functions that return new types? That's something new to me
June 3, 2025 at 7:31 AM