Lessons from Zig

Zig vs C++: Tiny library dream sparks a giant fact‑check brawl

TLDR: An essay urges C++ to slim its core library like Zig, but commenters immediately call out factual misses, saying Zig’s library isn’t that small. The debate splits between “freeze C++” minimalism and the safety of built‑in tools, highlighting how much stability vs. flexibility matters for everyone who writes software.

A spicy essay says the Zig programming language keeps its core library tiny and even kicks out features to community packages—then argues the C++ standards committee (aka WG21) should copy that playbook. The comments immediately lit up with fact‑check fire: multiple readers insist Zig isn’t that minimal, pointing out it actually ships an HTTP client and server, a tar reader, and that realpath still exists—so, yes, the premise got roasted. Zig minimalism? The crowd says: kinda, but not that tiny.

Despite the errors, a bunch of folks vibe with the bigger point: once C++ adds something, it ossifies. People invoke ABI (the “application binary interface,” how programs plug into compiled code) as the concrete wall that stops change, even noting Google’s retreat from the standards game. Then the drama ramps up: one commenter openly wonders if this is sour grapes over failed proposals—a chef’s kiss of internet intrigue.

Enter the hottest take: “just freeze C++,” like putting the language in the Disney vault and letting new ones innovate. The counterpunch? Standard libraries mean stability; third‑party packages can vanish. Cue jokes like “Zig: minimalism with a buffet” and “C++ is the Titanic—great ship, won’t turn.” The result: a glorious pile‑up of minimalism vs. maintainability, with facts, feelings, and memes colliding.

Key Points

  • Zig maintains an intentionally small standard library focused on low-level, foundational utilities.
  • Domain-specific features (e.g., tar/zip/JPEG handling) and high-level frameworks (e.g., HTTP clients) are excluded from Zig’s standard library.
  • Zig actively removes components, relocating them to community-maintained repositories like std-lib-orphanage under MIT license.
  • Examples of removal/reorganization include realpath(), a red-black tree implementation, and filesystem APIs moved from std.fs to std.Io.
  • The article argues WG21 should adopt an economically driven, high-bar inclusion philosophy for C++ to minimize perpetual maintenance costs.

Hottest takes

"There is a much simpler solution to the C++ language: just freeze it" — motoboi
"Zig's standard library is not that small to be honest" — Cloudef
"std::regex might suck, but the maintainer won’t disappear overnight" — unclad5968
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.