Zig
Imperative, compile-time metaprogramming. First appeared 2016; systems and ownership; systems, c toolchain replacement.
Record¶
| First appeared | 2016 |
|---|---|
| Family | Systems and ownership |
| Paradigm emphasis | Imperative, compile-time metaprogramming |
| Typing | Static, strong |
| Memory | Manual, explicit allocators |
| Execution | AOT compiled (LLVM) |
| Primary domain | Systems, C toolchain replacement |
| Designers | Andrew Kelley |
| Reference | https://ziglang.org/documentation/master/ |
| Last verified | not 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.
Influence¶
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.