Get Free Shipping on orders over $79
Learn Zig over Rust and C++ : Learn Modern Systems Programming with Zig for C++ and Rust Developers - Annie Cal

Learn Zig over Rust and C++

Learn Modern Systems Programming with Zig for C++ and Rust Developers

By: Annie Cal

Paperback | 10 May 2026

At a Glance

Paperback


RRP $109.99

$90.75

17%OFF

or 4 interest-free payments of $22.69 with

 or 

Ships in 5 to 7 business days

There's a question that's always been asked by systems programmers working in C++ and those working in Rust. Is there a way to control systems that doesn't mean choosing between power and predictability? Zig represents that path.

The idea is pretty clear as really there's no such thing as hidden behaviour. Everything's totally clear about each allocation. Every error is given a name and can be found in the type system. So, every piece of control flow is going to appear at the call site. The programmer always knows what the program does, because the language won't act without instruction. This book teaches Zig through a project-based approach centred on a single growing systems toolkit.

This book gives hands-on experience with Zig's allocator model, generic programming through comptime, typed error handling, filesystem and process management, concurrent threads and atomic state, and HTTP server construction, with each concept built on the one before it.For C++ developers, Zig gets rid of undefined behaviour and preprocessor complexity without sacrificing machine-level access. For Rust developers, it's got a simpler ownership model, no borrow checker friction, and a C interoperability path that doesn't need a binding generator. You'll see that both communities have familiar systems programming patterns expressed in Zig that carries none of their respective historical weight.

Key Features

Write memory-safe systems code without garbage collector or borrow checker overhead.

Control heap allocation using Zig's transparent allocator interface.

Build compile-time generic data structures with zero runtime overhead.

Handle errors through typed error sets.

Interoperate with C libraries directly without binding generators or wrapper layers.

Cross-compile production binaries with a single build command.

Coordinate concurrent threads safely using Mutex, atomic values, and condition variables.

Model data with exhaustive enums and tagged unions.

Inspect and manipulate raw memory through typed slices, packed structs, and pointers.

Deploy release binaries using Zig's 3 configurable build modes.

Table of Content

Getting Started with Zig

Exploring Zig Codes

Allocation, Safety, and Data Structures

Generics, Reflection, and Toolchain

Files, Processes, and Networks

Threads, Shared State, and Coordination

Optimisation and Deployment

Advanced Patterns

More in Computer Programming & Software Development

The C Programming Language : Prentice Hall Software - Brian Kernighan

RRP $107.04

$75.75

29%
OFF
Design Patterns : Elements of Reusable Object-Oriented Software - Erich Gamma
Web Engineering : Theory and Practice - Jeremiah Downey
The Essence of Software Engineering - Cersei Page
Introduction to Programming Languages - Gordon Hurley
Swift : The Practical Guide - Kerem Koseoglu
Building Microservices : Designing Fine-Grained Systems 2nd Edition - Sam Newman
PHP, MySQL, & JavaScript All-In-One For Dummies : For Dummies - Richard Blum
Microsoft Excel 365 Bible : Bible - Michael Alexander

RRP $90.95

$65.75

28%
OFF
Addiction by Design : Machine Gambling in Las Vegas - Natasha Dow Schull
Learning Go : An Idiomatic Approach to Real-World Go Programming - Jon Bodner
Fundamentals of Python : 3rd Edition - First Programs - Kenneth Lambert