Systems Programming with Zig
Pre-1.0 Book and Publisher Strategy
- Many are wary of buying a Zig book before 1.0, citing frequent breaking changes in the standard library and build system (0.15 called out as major).
- Others argue the core language is small and already relatively stable; most churn is in std and async, so a book can remain broadly useful.
- Manning’s MEAP model is seen as a low-risk bet: cheap to produce early-access PDFs, errata can be published, and a second edition can follow if needed.
- There is precedent for pre-1.0 books (e.g., other niche languages from the same publisher), where post-1.0 breakage was manageable.
Zig’s Stability and 1.0 Timeline
- Skepticism that 1.0 will arrive soon; jokes about waiting decades appear alongside a more optimistic “within a few years” prediction.
- One major outstanding blocking issue for 1.0 is referenced; the compiler and language surface are perceived as relatively stable compared to tooling and stdlib.
Real-World Usage and Ecosystem
- Multiple production projects are cited: transaction databases, web runtimes, and experimental browsers, though several are still small companies or early-stage.
- One major user stresses that Zig upgrades are minor compared to their domain complexity, and they prefer the maintainer to “take his time” rather than rush 1.0.
- Debate over how “real” the ecosystem is: some see Zig as mostly hype; others counter that any niche language starts with a few focused early adopters.
Zig vs Rust/Go/C++: Memory Safety and Tradeoffs
- A long subthread questions Zig’s appeal without full memory safety; some insist memory safety is “table stakes” for new systems projects.
- Zig proponents emphasize:
- Spatial safety (bounds-checked slices, no out-of-bounds in safe code) even though temporal safety (use-after-free) isn’t guaranteed.
- Simple, explicit semantics (no overloading, no hidden allocations, no implicit calls) and faster compiles.
- Explicit allocator passing and the ability to run with no heap at all, which they say Rust/Swift/GC languages don’t support as cleanly.
- Critics argue Rust-style guarantees eliminate a large class of high-impact bugs; others respond that safety exists on a spectrum and costs (complexity, async, borrow-checker friction) also matter.
Ergonomics, Bug Rates, and Overall Sentiment
- Some report Zig’s small, cohesive feature set and strict checks (e.g., on unused error returns, shadowing) noticeably reduce logic bugs in practice.
- Others find the syntax cryptic and the type system too weak for expressing invariants.
- Overall tone: cautious optimism about Zig’s design and future importance, but skepticism about calling it “ultra reliable” or standardizing on it before 1.0.