Zig

Imperative, compile-time metaprogramming. First appeared 2016; systems and ownership; systems, c toolchain replacement.

Record

First appeared2016
FamilySystems and ownership
Paradigm emphasisImperative, compile-time metaprogramming
TypingStatic, strong
MemoryManual, explicit allocators
ExecutionAOT compiled (LLVM)
Primary domainSystems, C toolchain replacement
DesignersAndrew Kelley
Referencehttps://ziglang.org/documentation/master/
Last verifiednot yet checked against its source by a human

Dates are first public release or publication, not the start of internal development. Colour on the typing and memory tags encodes kind, never rank.

Back to top

Influence

Figure 1. Zig in the influence graph: recorded ancestors on the left, languages that record it as an influence on the right. Every node links to its own record. Edges name indexed languages only, so an empty side means no indexed relative, not none at all. Source: languages.json.

Back to top

Within the Systems and ownership

Predictable performance without a tracing collector, achieved through ownership, borrowing, or reference counting checked at compile time.

Language First appeared Typing Memory Execution
Ada 1980 Static, strong Manual, pooled AOT compiled
Rust 2010 Static, strong, inferred Ownership and borrowing AOT compiled (LLVM)
Swift 2014 Static, strong, inferred Automatic Reference Counting AOT compiled (LLVM)
Hare 2022 Static, strong Manual, no runtime collector AOT compiled (QBE)
Mojo 2023 Static, strong; dynamic Python interop Ownership and borrowing AOT compiled (MLIR/LLVM)

5 other languages in this family, ordered by first appearance. Zig itself is omitted. Source: languages.json.

Back to top