Language
日本語
English

Caution

JavaScript is disabled in your browser.
This site uses JavaScript for features such as search.
For the best experience, please enable JavaScript before browsing this site.

  1. Home
  2. IT Terms & History Dictionary
  3. Zig

Zig

Zig is a systems programming language whose development began as a personal project by Andrew Kelley in 2016. Positioning itself as a "candidate successor to C", Zig aims to keep C's simplicity while adding modern safety and expressiveness. Its design is anchored by two principles — "No hidden control flow" and "No hidden allocation" — which keep the source code's appearance and the program's actual behavior in lockstep. As of 2025, version 0.14 has been released and development continues toward 1.0.

Origin of the Name

Andrew Kelley has not made any public statement that pinpoints the exact origin of the name "Zig". For the first several years of development, the short repository name, the brief file extension, and the ease of typing were practical reasons that fit a systems language. The crisp sound of starting from "Z" — the last letter of the alphabet — and the mechanical "zig-zag" feel both align well with the down-to-earth, no-nonsense character that systems languages tend to embody.

2016: The Birth of Zig

Andrew Kelley has spoken publicly about the immediate trigger for starting Zig: the pain of debugging an audio processing tool written in C. Existing C had too many "traps" — macros, the preprocessor, undefined behavior (UB — situations where the standard does not define behavior, leading to unpredictable results from optimizing compilers) — and a great deal of his time was being eaten away tracking down memory-related bugs in large C codebases.

The idea of building "a language that can be used in the same low-level territory as C, but with fewer of C's pitfalls" led to the start of Zig in 2016. In its earliest period Andrew Kelley designed the language specification, the compiler, and the standard library largely on his own, releasing a steady cadence of small versions from 0.1.0 through 0.4.0.

C 1972 - simple, with traps Rust (2015 -) ownership-based safety Zig (2016 -) explicitness + allocators

Andrew Kelley's Design Philosophy

Andrew Kelley clearly positions Zig as "a candidate successor to C". Where Rust chose to guarantee memory safety through a strong type system based on ownership, borrowing, and lifetimes, Zig chose a different path. Instead of forcing programmers through a type system, Zig keeps the source code and the program's runtime behavior perfectly in step — the language's distinguishing trait.

Two core principles support this design:

PrincipleMeaning
No hidden control flowThe language never introduces control transfers that are not visible in the source. Exceptions, operator overloading, and hidden function calls (such as overloaded operator==) are deliberately excluded from the specification
No hidden allocationMemory is never allocated behind the programmer's back. Every standard library API takes an allocator (a memory allocator object) as an explicit argument

The "what you read is what runs" character of Zig code is a direct expression of Andrew Kelley's strong commitment to avoiding the kind of fatal bugs that systems programming has long tolerated.

2020: Zig Software Foundation

In 2020, the Zig Software Foundation (ZSF), a non-profit organization, was established. Built on a donation-based model, ZSF employs full-time engineers who continuously evolve the specification, the compiler, the standard library, and the build system (build.zig).

ZSF is not the product of any single large corporation; it is community-driven. Compared to Rust, which began under Mozilla's sponsorship and later transitioned to the Rust Foundation, Zig has been driven from the start by the voluntary support of its community and donors. Andrew Kelley himself works full-time on Zig as a staff engineer at ZSF.

The Road to 1.0

As of 2025 Zig is still under development at sub-1.0 versions. Releases come roughly once or twice a year, each adding meaningful progress.

YearVersionNotable milestone
20160.1.0Initial release
20200.7ZSF founded; serious discussion of a self-hosting compiler begins
20220.10First public release of the new self-hosting compiler
20240.13Progress on incremental compilation; significant rework of build.zig
20250.14Continued work toward stabilizing the standard library API

From 1.0 onward, long-term backward compatibility is intended to be guaranteed, and Andrew Kelley has stated that the chief goal of 1.0 is "to deliver a language specification that does not break". Until then, the standard library API may shift between releases, and projects that adopt Zig in production accept that risk knowingly.

Zig Today

Although Zig is still pre-1.0, real-world adoption is already underway. Some representative examples:

ProjectOverview
BunA JavaScript / TypeScript runtime that claims to outperform Node.js. Most of its implementation is written in Zig. Reached v1.0 in 2023 and continues to add features aggressively
TigerBeetleA distributed database for financial transactions. A symbolic case of Zig being selected for the "fast and safe" demands of finance
UberAdopts zig cc as a cross-compiler in its internal build infrastructure
GhosttyA high-speed terminal emulator developed personally by Mitchell Hashimoto, co-founder of HashiCorp. Notable as a Zig-built application

The pattern of "writing the core in Zig and wrapping it with another language on the outside" is also growing. Zig's design philosophy — explicitness, no hidden behavior, and C interoperability — is steadily widening the available choices for systems programming.

Related Dictionary

The Zig language's syntax, standard library, and practical patterns are covered in detail in the Zig Dictionary.