langwhy

Zig

Systems· alive, actively evolving· since 2016 · Andrew Kelley · Zig Software Foundation

Systems language meant to replace C, with no hidden control flow or hidden allocations.

Draft from 2026-10-30, not yet checked claim by claim against its sources. Help verify it.

Born from

Andrew Kelley designed Zig to replace C while keeping C's binary interface, so existing C libraries still link. The Zig project argues that C++, Rust and D have so many features that programmers end up debugging their knowledge of the language instead of the application.

What it trades away

manual memorymemory
static typestypes
compiles to native coderuns as
threadsconcurrency

Cost: Still before 1.0, so the language changes between releases (0.16 in April 2026, 0.17 in October 2026), and every allocation and control path is written out by hand.

Where it fits

SlotFit
systems●●●
embedded●●○
cli●●○
wasm●●○
browser○○○Compiles to WebAssembly, but is not a browser language.

Why it exists

Zig is meant to replace C. Its overview says that “Zig competes with C instead of depending on it” and that “there is no hidden control flow, no hidden memory allocations, no preprocessor, and no macros” (Zig overview). The project’s argument against C++, Rust and D is that “C++, Rust, and D have such a large number of features that they can be distracting” (Why Zig). Wikipedia names Andrew Kelley as the designer and says Zig was designed to replace C “while maintaining C ABI compatibility” (Wikipedia). The first release is dated 8 February 2016 (GitHub).

What it trades away

Zig trades convenience for visible control. It avoids implicit calls such as operator overloading and exceptions, and it leaves heap management to the library and the application, so the programmer writes more of the code by hand (Why Zig). The language is also still before 1.0. Its news page lists 0.16.0 on 14 April 2026 and 0.17.0 on 2 October 2026, so code that works on one release can need edits for the next (Zig news).

Where it won

Ghostty, a terminal emulator, has a shared core written in Zig, and its Linux app is written in Zig as well (Ghostty). Uber uses the Zig toolchain as its C and C++ compiler. Its engineering blog says that since January 2023 the Zig toolchain compiles all of the C and C++ code in the Go monorepo for Linux targets (Uber Engineering). The project itself emphasises “out of the box cross-compilation to most major platforms” (Why Zig).

Named wins

Evolution

Reacts to: C, C++, Rust, d

Weigh it against: C, Rust, C++, Go

Timeline

Links

website · wikipedia · PLDB

Sources

  1. https://ziglang.org/learn/overview/
  2. https://ziglang.org/learn/why_zig_rust_d_cpp/
  3. https://en.wikipedia.org/wiki/Zig_(programming_language)
  4. https://github.com/topics/zig-lang
  5. https://ziglang.org/news/announcing-zig-software-foundation/
  6. https://ziglang.org/news/goodbye-cpp/
  7. https://ziglang.org/news/
  8. https://ghostty.org/docs/about
  9. https://www.uber.com/en-KR/blog/bootstrapping-ubers-infrastructure-on-arm64-with-zig/
  10. https://pldb.io/concepts/zig.html

Unverified draft, 2026-10-30.Edit the facts · edit the story · JSON · Markdown