Zig – io_uring and Grand Central Dispatch std.Io implementations landed
Status and Stability of Zig
- Major theme is concern over pre‑1.0 churn, especially the std.Io redesign (0.15 → 0.16) and frequent breaking changes.
- Some say Zig is “still early” and only an early‑stage language can break almost all existing code; others report upgrades were manageable with modest effort.
- There’s tension between valuing a “living” language that can still make big improvements vs. needing long‑term backward compatibility for 15–30‑year codebases (industrial, aerospace, etc.).
- Suggestions appear for versioned stdlibs (e.g.
std/v1) to keep compatibility layers thin while allowing ongoing cleanup.
Real‑World Use, Quality and Tooling
- Examples of non‑toy projects (e.g. terminals, Bun) show Zig is usable today, but some report multi‑month work to track new releases and hitting Zig bugs during upgrades.
- One contributor questions stdlib quality, citing incorrect inline assembly and register clobbering around context switching as evidence of insufficient testing; others say that’s more an LLVM/compiler issue than stdlib design.
- Some users choose to avoid stdlib entirely or pin specific compiler versions; distro maintainers worry about long‑term support burden.
Zig vs Rust/C/C++
- Zig is widely framed as “better C” (small, explicit, easy C interop, strong comptime); Rust is seen as a different beast prioritizing safety.
- Long debate over safety vs UB: critics argue Zig’s UB profile in optimized builds is still close to C/C++; defenders note many issues can be caught with extra static‑analysis tooling.
- Rust is credited with stronger safety and ecosystem, but criticized for compile times, complexity, and difficulty of low‑level patterns; Zig is praised for fast builds, simple mental model, and straightforward FFI hot‑path optimization.
- Some claim Rust is already replacing C++ in serious contexts; others argue its overall adoption curve is modest compared to past “top 5” languages.
Async, io_uring, GCD, and Concurrency
- Many are excited that Zig tackles io_uring and GCD with userspace stack switching / fibers, calling io_uring support a hard unsolved space where good abstractions are scarce.
- Others note the implementations are clearly marked experimental, currently incomplete (e.g. missing networking in GCD, growing vtable), and should be treated as such.
- There’s a split between people wanting high‑level async ergonomics in a systems language vs. those preferring explicit, low‑level control or external event libraries.
AI‑Assisted Upgrades and Development
- Some report excellent results using frontier LLMs to write Zig guides, auto‑migrate code between language versions, and even drive entire Zig projects (“centaur” style).
- Skeptics counter that LLMs mainly excel at known patterns, struggle with novel designs, and still require careful human review—so churn remains a real cost.
Adoption, Ecosystem, and Community
- Debate over whether Zig must become mainstream or LTS‑stable soon to “compete with C,” vs. letting it mature slowly like historical languages.
- Concerns about yet another stack to support in Linux distros versus enthusiasm for escaping the “C tar pit.”
- Meta‑discussion about recurring “haters” in Zig threads, with some urging people to treat languages as tools, not identities, and to simply not use Zig if the instability is unacceptable.