We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Ah, Zig. I have a love-hate relationship with this one. A βnewβ (reading: appeared a couple years ago, already β yes, already), language with high ambitions. Zig was made to run at low-level, with a simple design to solve many problems C has (macros, allocators, error handling, more powerful types like baked-in tagged unions and bitsets, a better build system, no hidden control flow, etc.). The language claims to be the C successor, and today, many people claim that Zig is simpler and even safer than most languages out there β even Rust! β allowing to focus more on the technical challenges around your problem space rather than β quoting from the Zig mantra β your language knowledge. I think I need to put the full mantra because I will reuse it through this article:
Focus on debugging your application rather than debugging your programming language knowledge.
We will come back to that.
I had already written about Zig a while ago when I initially approached it. I thought the language was really interesting and I needed to dig deeper. That blog article was made in July, 2024. Iβm writing these lines in February, 2025. Time has passed, and yet I have been busy rewriting some Rust code of mine in Zig, and trying out new stuff not really easy or doable in Rust, in Zig, just to see the kind of power I have.
Today, I want to provide a more matured opinion of Zig. I need to make the obvious disclaimer that because I mainly work in Rust β both spare-time and work β I have a bias here (and I have a long past of Haskell projects too). Also, take notice that Zig is still in its pre-1.0 era (but heck, people still mention that Bun, Tigerbeetle, Ghostty are all written in Zig, even though it hasnβt reached 1.0).
I split this article in two simple sections:
- What I like about Zig.
- What I dislike about Zig.
continue reading on strongly-typed-thoughts.net
β οΈ This post links to an external website. β οΈ
If this post was enjoyable or useful for you, please share it! If you have comments, questions, or feedback, you can email my personal email. To get new posts, subscribe use the RSS feed.