Hacker ApprovedDepartments

Zig

Ranked 4 of 163 programming languages by recommenders

A low-level C replacement praised for comptime metaprogramming, explicit allocators and helpful safety checks, though critics say it lacks Rust's memory-safety guarantees and leaves footguns.

A low-level C replacement praised for comptime metaprogramming, explicit allocators and helpful safety checks, though critics say it lacks Rust's memory-safety guarantees and leaves footguns.

1,192 people gave an opinion

recommend it
743
criticize it
449
approval share
62%
Each figure is 10 people. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Owned for 1 year

Median of the 27 owners who said how long they have had it.

Each square is one year.

Why it doesn’t carry the badge

  • 743 people recommend itNeeds 10 or more, met.
  • 1.6 recommenders for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 12 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Comptime replaces generics and macros

    “zig seems more ambitious (incremental compilation ! comptime ! translate-c ! logical bitcasting !) and committed to the vision of C companion/replacement”

    Comment from 30 Jun 2026 in “Zig's New BitCast Semantics and LLVM Back End Improvements”

    “Zig has shown that you can do almost anything you would reasonably want to do with macros with partial evaluation that has access to reflection.”

    Comment from 9 Nov 2025 in “Why is Zig so cool?”

    “Zig is an excellent low-level language. Thanks to the comptime features, you can have high-level looking APIs while staying down to the metal.”

    Comment from 30 Apr 2026 in “The Zig project's rationale for their firm anti-AI contribution policy”
  • Explicit, swappable allocators

    “Zig does help you. Array slices, explicit nullability of pointers, defer errdefer, explicit allocators, built-in leak detection, bounds checks, overflow detection”

    Comment from 20 Jul 2026 in “Claude Code uses Bun written in Rust now”

    “since zig anoints an allocator interface in its stdlib, your (and the stdlib's) data structures which use allocators can be trivially reused”

    Comment from 30 Jun 2026 in “Zig – SPIR-V Backend Progress”

    “Zig does in fact do some stuff to address memory management like making allocations more explicit using allocators and shipping with arenas.”

    Comment from 10 May 2026 in “Bun ported to Rust in 6 days”
  • Bounds checks and spatial safety

    “Zig does help you. Array slices, explicit nullability of pointers, defer errdefer, explicit allocators, built-in leak detection, bounds checks, overflow detection”

    Comment from 20 Jul 2026 in “Claude Code uses Bun written in Rust now”

    “Zig is better than c, and maybe a little bit better than c++, especially with respect to spatial memory bugs, but it doesn't provide the same garantees as rust.”

    Comment from 9 May 2026 in “Bun ported to Rust in 6 days”

    “Zig offers the same spatial memory safety as Rust does, and that is the kind of memory safety that prevents more dangerous vulnerabilities”

    Comment from 11 Nov 2025 in “Zig and the design choices within”
  • Ambitious modern C replacement

    “Zig is better than c, and maybe a little bit better than c++, especially with respect to spatial memory bugs, but it doesn't provide the same garantees as rust.”

    Comment from 9 May 2026 in “Bun ported to Rust in 6 days”

    “zig seems more ambitious (incremental compilation ! comptime ! translate-c ! logical bitcasting !) and committed to the vision of C companion/replacement”

    Comment from 30 Jun 2026 in “Zig's New BitCast Semantics and LLVM Back End Improvements”

    “Zig is an excellent low-level language. Thanks to the comptime features, you can have high-level looking APIs while staying down to the metal.”

    Comment from 30 Apr 2026 in “The Zig project's rationale for their firm anti-AI contribution policy”

What people warn about

Each mark is one comment

  • No Rust-level memory safety guarantees

    “Zig only suggests it (because you're forced to think about allocation, which makes you naturally think about the lifetime usually) but does not help you with it/ensure correctness.”

    Comment from 12 Jan 2026 in “Lightpanda migrate DOM implementation to Zig”

    “Zig is better than c, and maybe a little bit better than c++, especially with respect to spatial memory bugs, but it doesn't provide the same garantees as rust.”

    Comment from 9 May 2026 in “Bun ported to Rust in 6 days”

    “part of the problem is today this will be true tomorrow some poor chap maintaining the code will forget/misunderstand the intent and hello undefined behavior.”

    Comment from 5 Dec 2025 in “Thoughts on Go vs. Rust vs. Zig”
  • API design makes mistakes easy

    “Zig has plenty of foot guns (eg forgetting to call defer on a deinit but even misusing noalias or having an out of bounds result in memory corruption)”

    Comment from 14 Feb 2026 in “Zig – io_uring and Grand Central Dispatch std.Io implementations landed”

    “Zig has some very interesting features, but the way they approach language and API design leaves a lot of surface area that makes mistakes easy.”

    Comment from 1 Nov 2025 in “Hard Rust requirements from May onward”
  • Manual memory management slows development

    “In Zig they're at least not paying for this with runtime space, they're paying for it with the programmer's need to make sure they talk about the same allocator everywhere.”

    Comment from 28 Oct 2026 in “Four Months of Zig”

    “Zig’s low-abstraction / explicit-by-default syntax tends to have you write more boilerplate-y code in general that are more annoying to write and maintain”

    Comment from 9 Jul 2026 in “Rewriting Bun in Rust”

    “This is reinforcing my belief that Zig programmers actually just have a sort of aesthetic attachment to the idea of managing their allocations themselves”

    Comment from 27 Oct 2026 in “Four Months of Zig”
  • Gets in the way for complex work

    “zig is made to feel easy and modern for people who don't know any better, and it does this well. But as soon as you actually need to do complex stuff, it gets in the way moreso than C”

    Comment from 8 Nov 2025 in “Why is Zig so cool?”

    “Zig’s low-abstraction / explicit-by-default syntax tends to have you write more boilerplate-y code in general that are more annoying to write and maintain”

    Comment from 9 Jul 2026 in “Rewriting Bun in Rust”

Other programming languages people recommend

The four most recommended other programming languages, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

Zig compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Rust2,03997368%134 yrs118 ownersApproved
Go1,25465166%135.9 yrs63 owners—
Python1,06782157%1218 yrs64 owners—
ZigThis page74344962%121 yr27 owners—
TypeScript57427368%138 yrs17 ownersApproved
See all 163 programming languages, ranked

What people said

40 of the 2,112 comments that mention it, newest first. Each links to the original comment.

“In Zig they're at least not paying for this with runtime space, they're paying for it with the programmer's need to make sure they talk about the same allocator everywhere.”

MixedComment from 28 Oct 2026 in “Four Months of Zig”

“This is reinforcing my belief that Zig programmers actually just have a sort of aesthetic attachment to the idea of managing their allocations themselves”

MixedComment from 27 Oct 2026 in “Four Months of Zig”

“Zig may be a compelling alternative to languages that don't have a standard library that lets you choose an allocation strategy freely”

RecommendsComment from 21 Sep 2026 in “What Zig felt like, coming from Rust”

“Zig's use of partial evaluation (comptime) as a single coherent mechanism that replaces a myriad of other partial-evaluation mechanisms”

RecommendsComment from 20 Sep 2026 in “What Zig felt like, coming from Rust”

“Claude does a great job of writing unit tests for the Zig code, and combined with Zig's fuzzing features and a Python-based integration testing suite, I have avoided hitting runtime UB so far.”

RecommendsComment from 22 Aug 2026 in “Zig's Io.Threaded Is Neat”

“Zig does help you. Array slices, explicit nullability of pointers, defer errdefer, explicit allocators, built-in leak detection, bounds checks, overflow detection”

RecommendsComment from 20 Jul 2026 in “Claude Code uses Bun written in Rust now”

“It's too bad about Zig because it has many nice ideas, in particular allocators, that I hope Rust or some future language will adopt.”

MixedComment from 19 Jul 2026 in “Claude Code uses Bun written in Rust now”

“To me production-ready means it can be trusted to power production workloads, has all tooling I need, and has a consistent long-term vision. Zig ticks all the boxes.”

RecommendsComment from 16 Jul 2026 in “How Our Rust-to-Zig Rewrite Is Going”

“Zig itself is a perfect counterexample to the theory that writing a compiler in a low level systems language will lead to a fast compiler.”

MixedComment from 16 Jul 2026 in “How Our Rust-to-Zig Rewrite Is Going”

“Zig’s low-abstraction / explicit-by-default syntax tends to have you write more boilerplate-y code in general that are more annoying to write and maintain”

CriticizesComment from 9 Jul 2026 in “Rewriting Bun in Rust”

“zig seems more ambitious (incremental compilation ! comptime ! translate-c ! logical bitcasting !) and committed to the vision of C companion/replacement”

RecommendsComment from 30 Jun 2026 in “Zig's New BitCast Semantics and LLVM Back End Improvements”

“since zig anoints an allocator interface in its stdlib, your (and the stdlib's) data structures which use allocators can be trivially reused”

RecommendsComment from 30 Jun 2026 in “Zig – SPIR-V Backend Progress”

“Zig professes to be a C replacement, not a C++ replacement, so leaving out operator overloading is consistent with that design goal.”

MixedComment from 8 Jun 2026 in “Zig Structs of Arrays (2024)”

“You're never going to interate at JS/Python speeds with Zig because you'll always be wrangling with memory lifecycles, object lifecycles, etc...”

CriticizesComment from 31 May 2026 in “Zig ELF Linker Improvements Devlog”

“why would you chain yourself to the crazy political nightmare that is the Rust project, when you've already got a language & runtime that's treated you well”

RecommendsComment from 23 May 2026 in “Yt-dlp – [Announcement] Bun support is now limited and deprecated”

“having actually written some zig in the last few days to play with their Io model / see what passing around an allocator is like, Zig is pretty fantastic”

RecommendsComment from 12 May 2026 in “Mojo 1.0 Beta”

“Zig does in fact do some stuff to address memory management like making allocations more explicit using allocators and shipping with arenas.”

RecommendsComment from 10 May 2026 in “Bun ported to Rust in 6 days”

“Zig is better than c, and maybe a little bit better than c++, especially with respect to spatial memory bugs, but it doesn't provide the same garantees as rust.”

MixedComment from 9 May 2026 in “Bun ported to Rust in 6 days”

“Zig is an excellent low-level language. Thanks to the comptime features, you can have high-level looking APIs while staying down to the metal.”

RecommendsComment from 30 Apr 2026 in “The Zig project's rationale for their firm anti-AI contribution policy”

“while it looks better than CMake, for anything professional I need remote execution support to deviate from the industry standard. Zig doesn't have that.”

MixedComment from 29 Mar 2026 in “C++26 is done ISO C++ standards meeting, Trip Report”

“Modern languages that don't throw exceptions for every error like Rust, Go, and Zig make much more sane telemetry reports in my experience.”

RecommendsComment from 16 Mar 2026 in “I'm Too Lazy to Check Datadog Every Morning, So I Made AI Do It”

“Moving from Python to Zig is a step down the tech stack, which brings with it exposure to underlying concepts and limitations that matter when writing any software”

RecommendsComment from 13 Mar 2026 in “Zig – Type Resolution Redesign and Language Changes”

“Rushing to "LTS" would go completely against the ethos of constant experimentation and improvement that is and has been making zig great.”

MixedComment from 14 Feb 2026 in “Zig – io_uring and Grand Central Dispatch std.Io implementations landed”

“it's better in my opinion for them to get the big important stuff right early than it is to get something stable that is harder to change and improve later”

RecommendsComment from 14 Feb 2026 in “Zig – io_uring and Grand Central Dispatch std.Io implementations landed”

“Zig has plenty of foot guns (eg forgetting to call defer on a deinit but even misusing noalias or having an out of bounds result in memory corruption)”

CriticizesComment from 14 Feb 2026 in “Zig – io_uring and Grand Central Dispatch std.Io implementations landed”

“You need to statically bound allocations to make sure they don't escape the arena (which is exactly how arenas work in Rust, but not Zig).”

CriticizesComment from 15 Jan 2026 in “Lightpanda migrate DOM implementation to Zig”

“It places partial evaluation as its biggest focus more so than any other language in history, and is also extraordinarily focused on tooling.”

RecommendsComment from 12 Jan 2026 in “Lightpanda migrate DOM implementation to Zig”

“Zig only suggests it (because you're forced to think about allocation, which makes you naturally think about the lifetime usually) but does not help you with it/ensure correctness.”

MixedComment from 12 Jan 2026 in “Lightpanda migrate DOM implementation to Zig”

“The safety checks that Zig does have are different, and are different in a way that's uniquely useful for this particular project.”

RecommendsComment from 12 Jan 2026 in “Lightpanda migrate DOM implementation to Zig”

“It's caused me to be really thoughtful with how I design my data structures, and often made me use better ways of representing metadata.”

RecommendsComment from 6 Jan 2026 in “C Is Best”

“To me, the whole point of Zig's explicit allocator dependency injection design is to make it easy to not use the system allocator”

RecommendsComment from 5 Dec 2025 in “Thoughts on Go vs. Rust vs. Zig”

“part of the problem is today this will be true tomorrow some poor chap maintaining the code will forget/misunderstand the intent and hello undefined behavior.”

CriticizesComment from 5 Dec 2025 in “Thoughts on Go vs. Rust vs. Zig”

“Given the density of memory issues in the Bun issue tracker I have a hard time squaring the statement that Zig makes it "easy" to build memory safe programs.”

CriticizesComment from 17 Nov 2025 in “Open-source Zig book”

“Zig offers the same spatial memory safety as Rust does, and that is the kind of memory safety that prevents more dangerous vulnerabilities”

RecommendsComment from 11 Nov 2025 in “Zig and the design choices within”

“Zig has shown that you can do almost anything you would reasonably want to do with macros with partial evaluation that has access to reflection.”

RecommendsComment from 9 Nov 2025 in “Why is Zig so cool?”

“the unprecedented use of partial evaluation is in having a single unified mechanism that replaces generics, interfaces, and macros”

RecommendsComment from 8 Nov 2025 in “Why is Zig so cool?”

“zig is made to feel easy and modern for people who don't know any better, and it does this well. But as soon as you actually need to do complex stuff, it gets in the way moreso than C”

MixedComment from 8 Nov 2025 in “Why is Zig so cool?”

“The overhead isn't remarkably worse than the cost of modifying the value someone passed in to "Fill this in in case of errors" (which is what you have to do now in Zig).”

MixedComment from 8 Nov 2025 in “Why is Zig so cool?”

“Zig has some very interesting features, but the way they approach language and API design leaves a lot of surface area that makes mistakes easy.”

MixedComment from 1 Nov 2025 in “Hard Rust requirements from May onward”

“With the fun distinction that you can choose whether your program uses actual threads, or coroutines, or just runs everything synchronously without changing any of your code.”

RecommendsComment from 1 Nov 2025 in “Async/Await is finally back in Zig”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.