







If Zig code doesn’t look like it’s jumping away to call a function, then it isn’t. This means you can be sure that the following code calls only foo() and then bar(), and this is guaranteed without needing to know the types of anything:
Systems Programming with Zig
Zig delivers performance, reliability, and complex integration in systems programming in a simple, modern package. Zig hits the sweet spot for systems programming. This new programming language is high-performance, low-level, ultra-reliable, and perfectly suited for serious projects like writing libraries, daemons and shell utilities, and even operating systems and embedded code. Systems Programming with Zig shows you how to write quality, useful Zig applications without relying on libraries or frameworks-even if you’re new systems programming. In Systems Programming with Zig you’ll learn how to: Understand the Zig perspective on systems programming Write idiomatic Zig code Integrate Zig with C, systems libraries, and scripting languages Networking, interpreters, and graphics from the ground up Unlike UI-centric applications that form the public face of your software, systems programs like OS kernels, device drivers, and utilities interact directly with the hardware or operating system. In these low-level programs, performance and safety are paramount. Zig is a new programming language that builds on the legacy of C, C++, and even Rust to provide a high-productivity systems programming environment that does not rely on awkward libraries and frameworks.

How Our Rust-to-Zig Rewrite is Going
For the past year and a half, the team building Roc's compiler has been rewriting our 300,000 lines of Rust code into Zig, for reasons I'll recap below. We recently passed an exciting milestone: feature parity with the original compiler!
ZigCool
I can’t think of any other language in my 45 years long career that surprised more than Zig. I can easily say that Zig is not only a new programming language, but it’s a totally new way to write programs, in my opinion. To say it’s merely a language to replace C or C++, it’s a huge understatement.
Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
Inside Zig's Incremental Compilation
As a member of the Zig core team, one of the most impactful projects I’ve been involved with is the implementation of incremental compilation into the Zig compiler. This feature allows the compiler to detect which individual functions and declarations have changed since a project was last built, recompile only that code, and directly patch the resulting bytes into the output binary, making the rebuild extremely fast.
Place Capability Graphs: A General-Purpose Model of Rust’s Ownership and Borrowing Guarantees
Rust’s novel type system has proved an attractive target for verification and program analysis tools, due to the rich guarantees it provides for controlling aliasing and mutability. However, fully understanding, extracting and exploiting these guarantees is subtle and challenging: existing models for Rust’s type checking either support a smaller idealised language disconnected from real-world Rust code, or come with severe limitations in terms of precise modelling of Rust borrows, composite types storing them, function signatures and loops.
Seph
The Rust programming language feels like a first generation product. You know what I mean. Like the first iPhone - which was amazing by the way. They made an entire operating system around multitouch. A smart phone with no keyboard. And a working web browser. Within a few months, we…

lambek - Rust
Lambek is a library that enables type-level programming in stable Rust, supporting advanced features including higher kinded types, higher ranked types, and constraint kinds. Although Rust do not natively support these features, Lambek uses techniques including defunctionalization and CPS transformation to emulate these features in Rust.
“Implementation Selection” in Rust — Andrew Lilley Brinker
Exploring options for selecting branching paths in Rust code at compile time and runtime.

Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)
Rust Error Handling: thiserror, anyhow, and When to Use Each
In this blog post, we’ll explore strategies for streamlining error handling in Rust using two popular libraries: thiserror and anyhow. We’ll discuss their features, use cases, and provide insights on when to choose each library. TL;DR thiserror simplifies the implementation of custom error type, removing boilerplates anyhow consolidates errors that implement std::error::Error While thiserror provides detailed error information for specific reactions, anyhow hides internal details Return Different Error Types from Function Let’s start by creating a function decode() for illustration. The function has 3 steps:
Tree Borrows | Proceedings of the ACM on Programming Languages
The Rust programming language is well known for its ownership-based type system, which offers strong guarantees like memory safety and data race freedom. However, Rust also provides unsafe escape hatches, for which safety is not guaranteed automatically ...

Why developers at Amazon, Facebook, and Discord love the Rust programming language
Rust has been called the "most loved" programming language on Stack Overflow's annual survey. Here's why it's one of the fastest growing languages.
The Rust Programming Language - The Rust Programming Language
by Steve Klabnik, Carol Nichols, and Chris Krycho, with contributions from the Rust Community