Zig#
Zig is an imperative, general-purpose, statically typed, compiled system programming language designed by Andrew Kelley. The language is designed for “robustness, optimality and maintainability”, supporting compile-time generics, reflection and evaluation, cross-compilation and manual memory management. A major goal of the language is to improve upon the C language, while also taking inspiration from Rust, among others. Zig has many features for low-level programming, notably packed structs (structs without padding between fields), arbitrary width integers and multiple pointer types.
Read more on Wikipedia.
Official#
Sites#
Documentation#
Community#
Documentation#
Applications#
- Pixi: Pixel art editor made with Zig
Coding conventions#
Courses#
- Ziglings ⭐
Forums#
Groups#
News#
Sites#
Libraries#
Discover#
List#
- BYOL: A memory-efficient, straggler-avoiding, cache-friendly scheduler
libxev
: A cross-platform event loop ⭐- Mecha: A parser combinator library for Zig
zcirc
: A dynamic circular buffer allocator for Zigzig-gamedev
: Building game development ecosystem for @ziglang! ⭐- [2020]
interface.zig
: Dynamic dispatch for zig made easy
Tools#
- Gyro: A Zig package manager with an index, build runner, and build dependencies
- Zigmod: A package manager for the Zig programming language ⭐
- Zigup: Download and manage Zig compilers ⭐
Resources#
Text#
- Awesome Zig ⭐
- The Algorithms: Zig: All algorithms implemented in Zig
- Zig Vs C - Minimal HTTP server ⭐
- [2023] Anytype Antics
- [2023] Code study: interface idioms/patterns in zig standard libraries ⭐
- [2023] Data driven polymorphism
- [2023] DNNs from Scratch in Zig
- [2023] Errors and Zig
- [2023] Meet Zig: The modern alternative to C ⭐
- [2023] Problems of C, and how Zig addresses them
- [2023] Regular Expressions in Zig
- [2023] Sneaky Error Payloads
- [2023] The Curious Case of a Memory Leak in a Zig program
- [2023] The Seamstress Event Loop In Zig
- [2023] When should I use an UNTAGGED union?
- [2023] When Zig is safer and faster than Rust ⭐
- [2023] When Zig Outshines Rust - Memory Efficient Enum Arrays ⭐
- [2023] Writing JSON to a custom output in Zig
- [2023] Zig And Rust ⭐
- [2023] Zig Bits:
- [2023] Zig build system
- [2023] Zig Package Manager – WTF is Zon
- [2023] Zig Quirks ⭐
- [2023] Ziggifying Kilo
- [2022] A Refresh for Zig Programmers and Dabblers ⭐
- [2022] Building Zig structs at Compile Time ⭐
- [2022] Cool Zig Patterns - Gotta alloc fast ⭐
- [2022] Easy Interfaces with Zig 0.10.0
- [2022] Hot-code reloading on macOS/arm64 with Zig
- [2022] How (memory) safe is Zig?
- [2022] NuttX RTOS for PinePhone: Render Graphics in Zig
- [2022] Some Thoughts on Zig
- [2022] The Zig and Go Programming Showdown! ⭐
- [2022] What Makes the Zig Programming Language Unique? ⭐
- [2022] Zig Is Self-Hosted Now, What’s Next?
- [2021] A Review of the Zig Programming Language (using Advent of Code 2021)
- [2021] An intro to Zig’s integer casting for C programmers
- [2021] Async CPU bound workers in Zig ⭐
- [2021] C/C++/Zig Series ⭐
- [2021] Code Coverage for Zig
- [2021] Preventing integer overflow in Zig
- [2021] Resource efficient Thread Pools with Zig ⭐
- [2021] Struct of Arrays (SoA) in Zig? Easy & in Userland!
- [2021] Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun (HN)
- [2021] Zig Build Explained ⭐
- [2021] Zig, Parser Combinators - and Why They’re Awesome
- [2020] Assorted thoughts on Zig (and Rust) ⭐
- [2020] Understanding the Zig Programming Language ⭐
- [2020] What is Zig’s “Colorblind” Async/Await?
Video#
- Zig SHOWTIME
- [2023] 3 things you might like about Zig
- [2023] Intro to the Zig Programming Language
- [2023] Using Zig to write native extension modules for Python ⭐
- [2023] Zig feedback: real-life example with LibIPC ⭐
- [2022] Gettin’ Ziggy Wit It - Why I am convinced Zig is the C successor we’ve been waiting for
- [2022] Zig Roadmap 2023
- [2021] Taking the warts off C, with Andrew Kelley, creator of the Zig Software Foundation ⭐
- [2021] Zig language: a WAY better C! ⭐
- [2020] Interview with Zig language creator Andrew Kelley
- [2019] The Road to Zig 1.0 - Andrew Kelley
- [2018] Zig: A programming language designed for robustness, optimality, and clarity ⭐