1. Zig’s rapid, breaking evolution
The language is still “0.x” and its core team embraces frequent, sometimes breaking, changes.
“Zig is not 1.0 so breaks are expected.” – h4ch1
“The language and stdlib changing hasn’t been a major pain point… but it’s still a source of churn.” – rtfeldman
2. Build‑time and cache bloat
Zig’s build system can consume enormous amounts of disk space and slow builds, especially when the cache is cleared.
“The zig cache for one project alone was like 140 GB.” – h4ch1
“My .zig‑cache is currently at 173 GB, which causes some issues on the small Linux ARM VPS I test with.” – latch
3. Zig vs. Rust (and other systems languages)
Many users compare Zig’s “open‑world” approach to Rust’s “closed‑world” safety guarantees, and debate which is better for different use cases.
“Zig is a modern C, Rust is a modern C++/OCaml.” – lionkor
“Zig chooses an open world model… Rust chooses a closed world model.” – sidkshatriya
4. Ecosystem maturity and library maintenance
Because Zig changes quickly, libraries and tooling must keep pace, discouraging long‑lived, “write‑once‑and‑forget” dependencies.
“A language that breaks frequently doesn’t just impose upgrade work on apps, but also discourages the creation of long‑lived libraries and tools.” – lerno
“The ecosystem will skew toward very actively maintained libraries and away from ‘write once then leave it alone’ libs.” – lerno