Why I’m excited about the Zig programming language

22 September 2023 · Updated on 24 August 2025

A Go programmer’s perspective on Zig

For the past few years, I’ve been a happy user of Go, my main programming language alongside Python. I’ve also written my fair share of Pascal, C, C++, Java, JavaScript, and I’ve been toying with Rust, Erlang, TypeScript, Ruby, R, Dart, Lua, Clojure, and OCaml.

Recently, I’ve been looking at Zig, a new and promising programming language, still in development, but already used with great success in ambitious projects like Bun, a JavaScript runtime and toolkit, TigerBeetle, a financial accounting database, and Ghostty, a terminal emulator.

I’m pretty excited about Zig. But it made we wonder why I would use Zig instead of Go, considering that Go has served me well so far. 🤔 That’s what I hope to clarify by writing this post.

I need to mention upfront that I don’t think there is a perfect programming language. This post is about discussing the tradeoffs I’m seeing, not claiming that one language is superior to another. ❤️

⚡️ The joy of programming the computer, not the language

I think my interest for Zig comes down to a simple idea: With Zig, I’m rediscovering the joy of programming in a minimalist low-level language like C, but with most of the perks of a modern high-level language.

There is something refreshing about being able to write programs interacting directly with the hardware and the OS, skipping the middlemen: no interpreter, no JIT compiler, no VM, no runtime, no garbage collector, no user-space scheduler.

🔬 Comparing Zig and Go

Zig == Go

Let’s start with what Go and Zig have in common. They both are general-purpose, imperative, statically typed, ahead-of-time compiled, and relatively simple programming languages, with a built-in code formatter, test runner, and cross-compiler.

Zig > Go

Now let’s look at some of the key features of Zig that don’t exist in Go:

Zig ≠ Go

Now let’s look at the key areas where Go and Zig do things differently:

Zig < Go

But nothing comes for free. Zig has:


  1. What is Zig’s “Colorblind” Async/Await?

  2. Closure (computer programming), Implementation and theory