Yet another system language wanted to replace C.
- Interoperable by design
C friendly ABI
uses Clang for parsing header and compiling C code
uses llvm as backend for optimization
#zig as a C compiler - Many supported targets
- No system libc dependency (Zig ships with many libc)
errdefer
(more advanced thandefer
in Go)
typical pattern is todeinit()
in defer- Compile-time code execution
- Made bun
Home âš¡ Zig Programming Language
ziglang/zig: General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Zig (programming language) - Wikiwand
zigtools zls
(language server)
zig init-exe
zig init-lib
zig env
zig zen
catdevnull/awesome-zig: A list of awesome projects related to Zig
C-BJ/awesome-zig: 📜Zig Learning Guide & Project Lists
nrdmn/awesome-zig 😴inactive
build system terminology update: package, project, module, dependency · Issue #14307 · ziglang/zig
Zig in 100 Seconds - YouTube
CppCast Episode 342: Zig with Andrew Kelley - YouTube 2022
Prime Reacts: Is This NEW Language BETTER Than Rust? C++? (Zig First Impressions) - YouTube
Zig is FASTER and SAFER than Rust | Prime Reacts - YouTube
Loris Cro's Personal Website
Andrew Kelley
Roadmap
The Road to Zig 1.0 - Andrew Kelley - YouTube 2019-05
Zig Roadmap 2023 - Andrew Kelley - YouTube 2022-04, history
Zig Status Update & Demo - Cross Compilation & Async Functions - YouTube
Goodbye to the C++ Implementation of Zig âš¡ Zig Programming Language 2022-12
Zig Is Bootstrapping With WASM, Why? - YouTube
Learn
Documentation - The Zig Programming Language
Learn âš¡ Zig Programming Language
ratfactor/ziglings: Learn the Zig programming language by fixing tiny broken programs.
Chapter 0 - Getting Started | ziglearn.org
How To Zig?
Zig Crash Course - Gamedev Guide
In-depth Overview âš¡ Zig Programming Language
Introduction to the Zig Programming Language - Andrew Kelley 2019
Intro to the Zig Programming Language • Andrew Kelley • GOTO 2022 - YouTube
Understanding the Zig Programming Language | The Startup
Zig - YouTube Context Free
Zig SHOWTIME - YouTube semi-official Youtube channel
Commentaries
Zig language: a WAY better C! - YouTube 2021
3 things you might like about Zig - YouTube
Is Zig the Long Awaited C Replacement? | by Erik Engheim | Medium
Software Reliability C++ vs Zig. A tiny comparison of C++ and Zig in… | by Erik Engheim | Medium
C++ vs Zig Template Based Programming | by Erik Engheim | Level Up Coding
When Zig is safer and faster than Rust
Zig is FASTER and SAFER than Rust | Prime Reacts - YouTube
Zig And Rust
A Review of the Zig Programming Language (using Advent of Code 2021) :: Neil Henning 2021
My Zig Experience | Prime Reacts - YouTube
Internals
Zig Compiler Internals - Andrew Kelley - YouTube Zig code tour
What's a Memory Allocator Anyway? - Benjamin Feng - YouTube
zig as a C compiler
use zig as a c compiler · Issue #490 · ziglang/zig
ar
cc
c++
dlltool
lib
ranlib
zig cc
: a Powerful Drop-In Replacement for GCC/Clang - Andrew Kelley
Chapter 3 - Build system | ziglearn.org
zig build explained Series' Articles - Zig NEWS
Zig Build - Gamedev Guide
Zig Build System - In-depth Overview âš¡ Zig Programming Language
Maintain it With Zig | Loris Cro's Blog
Compile a C/C++ Project with Zig - Zig NEWS
Make Zig Your C/C++ Build System - Zig NEWS
Extend a C/C++ Project with Zig - Zig NEWS
Updating libc · ziglang/zig Wiki
Cross Compile
zig targets
zig targets | jq ". | keys"
zig targets | jq .arch
zig targets | jq .libc # this would be the target triple
zig build -Dtarget=x86_64-windows
Zig Makes CGo Cross-compilation Just Work - Loris Cro - YouTube
How Zig is used at Uber - Motiejus Jakštys - YouTube
Cross-compiling is a first-class use case - In-depth Overview âš¡ Zig Programming Language
Cross-compile a C/C++ Project with Zig - Zig NEWS
Zig Makes Go Cross Compilation Just Work - DEV Community
Building SQLite with CGo for (almost) every OS - Zig NEWS
Reliably Cross Compiling Go using Zig - fREW Schmidt's Foolish Manifesto
Cross Compile a Go Project With CGO Dependencies Using Zig · Luca Corbo
ziglibc
Ziglibc: Sweeping out the rug from underneath C - Jonathan Marler - Software You Can Love 2022 - YouTube
marler8997/ziglibc
implement libc in zig · Issue #514 · ziglang/zig
Windows binding
Showing Zig how to see through Bill Gate's Windows - Jonathan Marler - YouTube
marlersoft/zigwin32: Zig bindings for Win32 generated by https://github.com/marlersoft/zigwin32gen
marlersoft/zigwin32gen: Complete Autogenerated Zig bindings for Windows.
marlersoft/win32jsongen: Generates the JSON Win32 metadata files for: https://github.com/marlersoft/win32json
Package Manager
Zigmod Documentation | zigmod
nektro/zigmod: 📦 A package manager for the Zig programming language.
Zig Package Index - Aquila
zpm
Zig Pkg
silversquirl/deps.zig: A simple dependency manager for Zig
Zig libraries | Everything I Know
ZigLibs
ziglibs/repository: A community-maintained repository of zig packages
Libraries/Packages
thebsv/zitertools: An improved rewrite of the python itertools library to Zig.
KilianVounckx/zitertools: zig iterators
alexnask/ctregex.zig: Compile time regular expressions in zig
ibokuri/concepts: Compile-time validation of type constraints
hmusgrave/byol: Bring Your Own Loop -- A memory-efficient, straggler-avoiding, cache-friendly scheduler (shelved till async is re-released with Zig 0.12)
GUI
david-vanderson/dvui
david-vanderson/dvui-demo: examples for using gui
Capy UI - Cross Platform GUI Toolkit
capy-ui/capy: 💻Build one codebase and get native UI on Windows, Linux and Web
capy-ui/zig-template: Simple template for creating a Capy app in Zig
CLI
Hejsil/zig-clap: Simple command line argument parsing library
prajwalch/yazap: 🔧 The ultimate Zig library for seamless command line parsing. Effortlessly handles options, subcommands, and custom arguments with ease.
sam701/zig-cli: A simple package for building command line apps in Zig
Serde
Arwalk/zig-protobuf: a protobuf 3 implementation for zig.
kubkon/protozig: The protozig(uana), or protocol buffers implementation in Zig
zigtools/protobruh: Protobuf for Zig
mlugg/zigpb: Simple Protobuf encoder and decoder in Zig
gruebite/zzz: Simple and boring human readable data format for Zig.
iddev5/inon: :floppy_disk: Data serialization format in Zig
getty-zig/getty: A (de)serialization framework for Zig
getty-zig/json: A serialization library for JSON
kubkon/zig-yaml: YAML parser for Zig
aeronavery/zig-toml: A TOML parser written in Zig
travisstaloch/simdjzon: simdjson port to zig
xyaman/zjson: Minimal json library with zero allocations
ziglibs/eggzon: 🥚Zon - A DOM based Zig Object Notation parser
clickingbuttons/arrow-zig: Apache Arrow implementation
Database/ORM
Network
Date/Time
Logging
candrewlee14/zlog: A zero-allocation log library for Zig
Templates
batiati/mustache-zig: Logic-less templates for Zig
Math
kooparse/zalgebra: Linear algebra library for games and real-time graphics.
Traxar/numz
Hejsil/mecha: A parser combinator library for Zig
Gamedev
michal-z/zig-gamedev: Building game development ecosystem for @ziglang!
Jack-Ji/jok: A minimal 2d/3d game framework for @ziglang.
Mach engine
Mach engine - game engine & graphics toolkit for the future
hexops/mach: Mach is a game engine & graphics toolkit for the future.
hexops/mach-ecs: Entity Component System from first-principles designed for Zig