Zig

E131740

Zig is a low-level, statically typed programming language focused on performance, safety, and explicit control over memory, often used as a modern alternative to C.

All labels observed (4)

Label Occurrences
Zig canonical 4
Zig compiler 1
Zig programming language 1

How this entity was disambiguated

Statements (87)

Predicate Object
instanceOf programming language
systems programming language
competesWith C
C++
Odin programming language
Rust
designedBy Andrew Kelley
designGoal no hidden control flow
no hidden memory allocations
no undefined behavior in safe mode where possible
developer Zig Software Foundation
Zig community
fileExtension .zig
firstAppeared 2015
hasComponent zig build system
Zig self-linksurface differs
surface form: zig compiler

zig package manager (under development)
hasFeature C compiler replacement mode
C interoperability
async/await (cooperative concurrency) support
build system in Zig language
compile-time reflection
comptime metaprogramming
cross-compilation built-in
defer statement
deterministic destruction via defer
error unions
explicit error handling
incremental compilation
inline assembly
manual memory management
no exceptions
no global allocator by default
no hidden control flow
no hidden memory allocations
no hidden nullability
no macros
no preprocessor
optional types
packed structs
portable SIMD support
release-fast mode
release-safe mode
release-small mode
safety-checked mode
tagged unions
hasGoal improve safety without a garbage collector
provide explicit control over memory
provide predictable performance
replace C in many systems programming domains
implementationLanguage C
Zig self-link
influenced Bun JavaScript runtime
TigerBeetle database implementation choices
influencedBy C
C++
Go
Odin programming language
Rust
license MIT License
memoryModel manual memory management with allocators
paradigm imperative programming
procedural programming
structured programming
repository https://github.com/ziglang/zig
stableReleaseStatus pre-1.0 as of 2024
supportsArchitecture ARMv8-A
surface form: AArch64

ARM
RISC-V
x86
x86_64
supportsPlatform FreeBSD
Linux
WebAssembly specification
surface form: WebAssembly

Windows
bare metal targets
macOS
typingDiscipline explicit memory management
static typing
strong typing
useCase command-line tools
cross-compilation toolchains
embedded development
game development
operating system development
systems programming
website https://ziglang.org

How these facts were elicited

Referenced by (7)

Full triples — surface form annotated when it differs from this entity's canonical label.

LLVM influenced Zig
this entity surface form: Zig compiler
Zig implementationLanguage Zig self-link
Zig hasComponent Zig self-linksurface differs
this entity surface form: zig compiler
Jarred Sumner talksAbout Zig
this entity surface form: Zig programming language