Zig is a blazing fast, statically typed, compiled systems programming language with a modern C-like syntax, offering low-level control, built-in memory safety, and powerful meta-programming capabilities. It prioritizes developer happiness with clear error messages, a friendly compiler, and an active community.
| # | ZIG | Topic | Description |
|---|---|---|---|
| PHASE 1: FOUNDATIONS | |||
| 01 | Why Zig & Thinking in Zig | Origins, purpose, paradigms: no hidden control flow or allocation, no macros. | |
| 02 | Toolchain & Environment | Install Zig, run your first program, and understand the four build modes. | |
| 03 | Statements & Expressions | Punctuation, operators, identifiers, comments, and compiler builtins. | |
| PHASE 2: TYPES & CONTROL | |||
| 04 | Data Types & Literals | Explicit-width integers, floats, bools, arrays, and compile-time literals. | |
| 05 | Control Flow | if, switch, while, and for — every construct is an expression. | |
| 06 | Functions & Cleanup | Parameters, return values, defer, errdefer, and inline functions. | |
| PHASE 3: THE CORE OF ZIG | |||
| 07 | Compile-Time Metaprogramming | comptime parameters and variables: generics and reflection in the language itself. | |
| 08 | Pointers & Slices | Single-item pointers, many-item pointers, slices, alignment, and casting. | |
| 09 | Optionals & Null Safety | Nullable values are explicit in the type: ?T, null, orelse, and unwrapping. | |
| 10 | Errors & Error Unions | Error sets, error unions, try, catch, and errdefer — errors are values. | |
| PHASE 4: MEMORY & DATA | |||
| 11 | Allocators & Memory | Explicit allocators, arena cleanup, and leak detection — no hidden allocation. | |
| 12 | Strings, Formatting & Files | Strings are byte slices, formatting is explicit, and file I/O needs an allocator. | |
| 13 | Structs, Enums & Unions | Data modeling with struct, enum, tagged union, and exhaustive switch. | |
| PHASE 5: TOOLING & INTEROP | |||
| 14 | Build System | build.zig, build steps, and the zig build / run / test workflow. | |
| 15 | C Interop | Import C headers with @cImport, link C libraries, and share types. | |
| 16 | Testing & Debugging | zig test, test blocks, safety checks, leak detection, and formatter. | |
| PHASE 6: PRACTICE & DEMO | |||
| 17 | Lab Examples | Run and modify single-file practice demos for every lesson. | |
| 18 | Study Projects | Small composed projects that combine everything: algorithms and CLI tools. | |
| PHASE 7: REFERENCE | |||
| 19 | References & Compilers | Browser playgrounds, official docs, courses, and sample repositories. | |
For the full categorized table — online Zig playgrounds, official documentation, courses, and sample repos — see the References & Compilers page.