HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ziglang
zig
Zig2016–2026
ziglang / zig

zig

Moved to Codeberg

373Distinct people
681Mentions
3Explicit recommenders
43.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Moved to Codeberg

GitHub

Where it is used

  • Bun — Bun used the Zig programming language to implement its initial version of the runtime and tooling. This establishes Bun as a shipped product that was written in Zig. Source

What people are saying

My favorite of his https://x.com/joelreymont/status/1990981118783352952 > Claude discovered a bug in the Zig compiler and is in the process of fixing it! ...a few minutes…

rdtsc used a recommendation phrase. 3 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 7:02:26 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year681 dated mentions

Observed mentions: 2016-01-08 12:54:33 UTC to 2026-09-19 17:18:26 UTC.

02550751001252016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 9 mentions; 1 submissions, 8 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 21 mentions; 2 submissions, 19 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 34 mentions; 2 submissions, 32 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 60 mentions; 3 submissions, 57 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 111 mentions; 4 submissions, 107 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 93 mentions; 8 submissions, 85 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 113 mentions; 12 submissions, 101 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 85 mentions; 5 submissions, 80 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 124 mentions; 9 submissions, 115 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 26 mentions; 1 submissions, 25 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC918
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC505
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC21219
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC34232
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC60357
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC1114107
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC93885
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC11312101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC85580
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC1249115
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC26125

What Hacker News says

113 sources
> While their approach fits well into the C universe, I also dislike that there is no real way to add more context to an error (but well, no allocations). This caught me off guard when I was playing with Zig. What this means is that while you can return an error such as error.InvalidChar (even without explicitly defining it first), you cannot do error.InvalidChar(c) to give back the actual character. https://github.com/ziglang/zig/issues/2647
In Show HN: After a day of Zig – a review by a Rust enthusiast
Wasmer is a VC company building a platform that depends on the existence of these platform APIs – sockets, threads, forking, etc. They have a vested interest in the existence of these APIs, and the health of the developer ecosystem, to stay alive. From here, it kind of seems like the fundamental foundation of everything Wasmer is building. Meanwhile, Bytecode Alliance is a registered non-profit with many large corporate backers. They are building out the WASI standard with careful due diligence to learn from and avoid the mistakes we have found in POSIX. BCA has their own financial incentives, and they are aligned differently than yours. BCA ultimately is moving slower than works for Wasmer. So I guess you were faced with three options: A) wait for BCA, and do nothing B) work with BCA and push it forward C) fork it and do it yourself. So
Read the rest
you chose to fork it and reimplement POSIX with all its warts. I assume because this applies pressure to the community (candidly, a good thing) while letting you make progress immediately. Where I, and I assume others, have issue with all of this is: You have chosen a name that has created confusion in an already confusing space. You have whitewashed it by promoting it as a new open standard, but the controlling entity realllyy is just Wasmer[0]. You have demonstrated through your actions a complete lack of willingness to work with people in the community, preferring to strong-arm with veiled threats[1] or perverting incentives financially[2]. The issue isn't with WASIX, but with you and your actions. I have no confidence in your ability to lead this community forward in a way that has my (our) interests ahead of your company's. [0]: https://github.com/wasix-org/wasix-governance-meeting-notes/blob/5135516d091d1bc38… [1]: https://github.com/bytecodealliance/wit-bindgen/issues/306 [2]: https://github.com/ziglang/zig/issues/17115
In $20k bounty was claimed
I agree that there's a lot to like about Zig (the module system and error management are the two I mainly consider superior to Rust's approach for example) but I wouldn't say it's easy to stay safe without thinking about it. Quite the contrary actually. Rust sometimes forces you to add annotations which certainly can get unwieldy at times (I think this in particular trips a lot people because sometimes they know what they want to tell the compiler but don't know how to express it in Rust speak and thus anger ensues). Zig, on the other hand, doesn't require any of that and makes code look simple and arguably more pleasant in comparison, but it doesn't mean the "contract" between objects goes away. It's just not expressed in code and checked by the compiler but rather by the person writing the code. Take [0] for example. The compiler (at le
Read the rest
ast in the current stage, it's at 0.11 after all) is perfectly happy with code which returns a pointer to a stack allocated memory from a function. The fix is to remember that you need to pass the argument via pointer and not let the compiler decide for you. But what if the programmer forgets or somebody else is working on the code? [0] https://github.com/ziglang/zig/pull/17419
In Servo announces grant from the NLnet Foundation
short version: Clang is only removed from the main zig executable, but it's still available via the zig build system. longer version: I think this is the relevant link here: https://github.com/ziglang/zig/issues/16270#issuecomment-161... as you can see the proposal "make the main zig executable no longer depend on LLVM, LLD, and Clang libraries" has "accepted" status, but that doesn't mean you can't use Clang/LLVM/LLD to compile zig/C/C++ via the zig command. In the comment the link goes directly to Andrew explains that the usecases that require Clang ... are still covered by the zig build system. (Everybody was very worried first in that GitHub issue, but was relieved after reading the clarification. To be fair, that the build system could take over this functionality wasn't known from the start, so it was a very productive discussion.)
In Clang is being replaced by Aro (a C compiler written from scratch in Zig)
>Zig gives buffer overflow safety and null pointer safety but not use after free, double free It can provide the latter two through the use of the `GeneralPurposeAllocator`, which tracks UAF and double free. Stack pointer escape safety is being actively researched (there are a few tracking issues, see [1]). I'm personally interested in this, I've written a decent-ish amount of Zig for toy/personal projects, and anecdotally stack pointer escape is the only type of memory error that has bitten me more than once (though to be fair, one of these cases was calling into a C API, so even Rust wouldn't have helped). More broadly, the ability to catch all forms of UB in Debug/safety builds is an accepted proposal [2], though whether or not it will be possible in practice is a different (and interesting!) question. [1]: https://github.com/ziglang/z
Read the rest
In Memory-efficient enum arrays in Zig

Showing the 15 most recent of 113 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.