Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Collection of blog posts about the Zig programming language

Zig blog posts

This is intended as a place to list blog posts about Zig, for anyone who's interested in reading what people have to say! Also check out links at https://ziglang.org/learn/ and https://ziglang.org/news/.

Posts were found by searching on lobste.rs, at https://dev.to/t/zig and https://medium.com/tag/zig.

Please let me know in a comment if there are any posts missing that you'd like me to add here!

2021

Oct-Dec

Implementing a file pager in Zig (ayende)

Apr-Jun

Forking is Cool, or: A Unix Shell in Zig (ratfactor)
How I Use SDL2 in Zig - a Brief Overview (TommiSinivuo)
Writing A Brain**** Compiler (g-w1)
Zig Makes Rust Cross-compilation Just Work ()
Learning About ELF With Zig (g-w1)
Learn Zig by building a Ray Tracer, Chapter 1: Tuples (KilianVounckx)
First steps with Zig (msfjarvis)
The problem with pointers (ehaas)
Zig Metaprogramming (ikrima)
Basic Syntax (ikrima)
Testing memory allocation failures with Zig (ehaas)
Bio: All your parentheses are belong to us (cryptocode)
Some notes on using Zig with Valgrind (cryptocode)
Preventing integer overflow in Zig (ehaas)
Zig NestedText Library (LewisGaul)
An intro to Zig's integer casting for C programmers (ehaas)
Zig + STM32F4Discovery = Blink (rbino)

Jan-Mar

Zig Tutorial #5 — Type Conversion (rguiscard)
How safe is zig? (jamii)
Zig Tutorial #4 — sort (rguiscard)
A “Better C” Benchmark (zserge)
Why you should learn Zig (xpyxel)
Setup Zig for Gamedev (fabioarnold)
Zig, Parser Combinators - and Why They're Awesome (hexops)
Zig Tutorial #3 (rguiscard)
Zig Tutorial #2 (rguiscard)
Zig Tutorial #1 (rguiscard)
Memory-mapped IO registers in zig (jamii)
Why I rewrote my Rust keyboard firmware in Zig: consistency, mastery, and fun (lynaghk)
First Contribution To Zig (LewisGaul)
Rust, Zig, and the Futility of "Replacing" C (Gavin Howard)
Have you ever tried Zig ? (pmalhaire)
Weaning Zig off of git submodules 1: Intro (mattnite)
A surprisingly capable RPN calculator in about 100 lines of Zig code (cryptocode)
The First Zig Website Redesign (kristoff)
Async CPU bound workers in Zig (cryptocode)
Zig wrinkles (cryptocode)
Running Zig binaries on a KaiOS device (cryptocode)
Zig Makes Go Cross Compilation Just Work (kristoff)
Trying out Zig - Zigominoes (LewisGaul)

2020

Oct-Dec

ZzForth (nsmryan)
Software Reliability C++ vs Zig (ordovician)
Gotchas when Doing Zig Programming (v0.7) (ordovician)
C++ vs Zig Template Based Programming (ordovician)
Is Zig the Long Awaited C Replacement? (ordovician)
Understanding the Zig Programming Language (ordovician)
Assorted thoughts on zig (and rust) (jamii)
Zig heading toward a self-hosting compiler (Jake Edge)
Zig Type Checked State Transitions (nsmryan)
Cloc Supports Zig Now (nsmryan)
A Copy Trait in Zig (nsmryan)
MsgPack in Zig (nsmryan)

Jul-Sep

Zig's New Relationship with LLVM (kristoff & andrewrk)
Zig Ray Tracing In A Weekend (gweej)
Automatic Language Bindings (floooh)
Validating strings at compile time in Zig (euantorano)
Zig CCSDS Primary Header (nsmryan)
Zigtastic Async (gweej)
Debugging Zig with VS Code (watzon)

Apr-Jun

What is Zig's “Colorblind” Async/Await? (kristoff)
A Brief Exploration of Zig (gsquire)
How to get code coverage using zig and kcov (codelv)
Open multiple dispatch in zig (jamii)

Jan-Mar

Trying Zig with C web servers (dermetfan)
Learning Zig - first hour... (MrOneTwo)
Cool, new language for 2020 (MrOneTwo)
zig cc: a Powerful Drop-In Replacement for GCC/Clang (andrewrk)

2019

Automated Testing for Zig projects with Circle CI (euantorano)
call Zig from Python (tonetheman)
What is Zig's Comptime? (kristoff)
Writing a small ray tracer in Rust and Zig (Nelarius)
A Reply to The Road to Zig 1.0 (gingerBill)
How to Write a Redis Module in Zig (kristoff)

2018

Using Zig to Provide Stack Traces on Kernel Panic for a Bare Bones Operating System (andrewrk)
String Matching based on Compile Time Perfect Hashing in Zig (andrewrk)
I Quit My Cushy Job at OkCupid to Live on Donations to Zig (andrewrk)
Zig: January 2018 in Review (andrewrk)
Unsafe Zig is Safer Than Unsafe Rust (andrewrk)
Zig: December 2017 in Review (andrewrk)
Big Integers in Zig (tiehuis)

2017

A Better Way to Implement Bit Fields (andrewrk)
Zig: Already More Knowable Than C (andrewrk)
Zig Programming Language Blurs the Line Between Compile-Time and Run-Time (andrewrk)
Troubleshooting a Zig Regression with apitrace (andrewrk)

2016

Introduction to the Zig Programming Language (andrewrk)

Other Resources

A half-hour to learn Zig (ityonemo)
Zig SHOWTIME Youtube channel

@thomastanck
Copy link

thomastanck commented Mar 26, 2021

@LewisGaul
Saw this on Reddit: https://zserge.com/posts/better-c-benchmark/
Published 18 Mar 2021

@LewisGaul
Copy link
Author

LewisGaul commented Mar 26, 2021

@LewisGaul
Saw this on Reddit: https://zserge.com/posts/better-c-benchmark/
Published 18 Mar 2021

@thomastanck Thanks, added :)

@rofrol
Copy link

rofrol commented May 26, 2021

Some more articles:

@LewisGaul
Copy link
Author

LewisGaul commented May 26, 2021

@rofrol Wow that's a long list of posts I'd missed, I'll go through and add them when I've got time - thanks!

@LewisGaul
Copy link
Author

LewisGaul commented May 28, 2021

Added, thanks (you might as well have started your own list ;) happy to keep updating as you find more though).

@rofrol
Copy link

rofrol commented May 28, 2021

I would rather move it to community pages. Like awesome-list but have no time :) Look here https://github.com/kisswiki/kisswiki/blob/master/src/languages/zig/links.md or just https://github.com/kisswiki/kisswiki/tree/master/src/languages/zig

@g-w1
Copy link

g-w1 commented Jun 10, 2021

@LewisGaul
Copy link
Author

LewisGaul commented Jun 10, 2021

@g-w1 Nice, thanks - added!

@Luukdegram
Copy link

Luukdegram commented Jul 16, 2021

@NightMachinery
Copy link

NightMachinery commented Oct 18, 2021

I second moving this to an actual repo, awesome-zig-articles.

@LewisGaul
Copy link
Author

LewisGaul commented Dec 23, 2021

I'm happy for this list to be moved, I haven't been updating it recently (as I'm sure is obvious). I guess the advantage of a repo is just that anyone can open PRs? Would it make more sense to just have it as a page on the Zig wiki under https://github.com/ziglang/zig/wiki/Community (where this gist is currently linked) so that anyone can edit directly?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment