A

Andrew Kelley

andrewkelley.me · Personal blog · on HN since 2013

Andrew Kelley, creator of the Zig language, writes about Zig, compilers, C toolchains, and open source funding.

What HN saysHN commenters praise zig cc as a C toolchain and his NES recompilation post, while some criticize his combative tone toward others.
155HN people shared it
103linked it in comments
79stories submitted
5.7Kstory points
2 months agolast shared
2013people per year2026

Most-shared posts

  1. 1
    Zig cc: A drop-in replacement for GCC/Clang
    38 people · 1.1K points · first shared 2020 · 288 comments on HN
  2. 2
  3. 3
    An Open Letter to Everyone I've Butted Heads With
    10 people · 50 points · first shared 2025 · 2 comments on HN
  4. 4
    My Thoughts on the Bun Rust Rewrite
    10 people · 6 points · first shared 2026 · discussion on HN
  5. 5
  6. 6
    Introduction to the Zig Programming Language
    9 people · 99 points · first shared 2016 · 44 comments on HN
  7. 7
  8. 8
    Unsafe Zig Is Safer Than Unsafe Rust
    7 people · 112 points · first shared 2018 · 102 comments on HN
  9. 9
    Redis Renamed to Redict
    7 people · 106 points · first shared 2024 · 52 comments on HN
  10. 10
    Zig's New Async I/O
    6 people · 338 points · first shared 2025 · 172 comments on HN
  11. 11
    Don't Take the Black Pill (Text Adaptation)
    5 people · 7 points · first shared 2026 · discussion on HN
  12. 12
    I am not a "JavaScript Developer".
    5 people · 3 points · first shared 2013 · 1 comments on HN
  13. 13
    I Quit My Job to Live on Donations to Zig
    4 people · 434 points · first shared 2018 · 236 comments on HN
  14. 14
  15. 15
    A Better Way to Implement Bit Fields
    4 people · 162 points · first shared 2017 · 33 comments on HN

What HN people wrote when they linked it

Rendello · 2026-08-08
I used a great one for FB until it stopped working. Andrew Kelley had a good analogy in his Don't Take the Black Pill talk: > the user-facing software of Facebook is categorically, fundamentally coercive. It's like an arbitrary code execution exploit running on our brains. Scrolling down is the program counter, and the content that pops up is the instructions. https://andrewkelley.me/post/dont-take-black-pill.html#:~:text=Doomscr…
baranul · 2026-07-25
> why "the speaker" has quit HN Quitting HN[1] might have more to do with feeling he and Zig had already harvested the maximum benefit and marketing propaganda usage for elevating itself, including using it to thoroughly smear its C alternative language competitors. Thus, it came time to figuratively give HN the middle finger while on top (selling high before the stock may fall). Many might not have done a review of the history, as he quit Twitter and Reddit too[2], years ago (2023). Arguably excuses are given to cover for offloading any personal involvement in a particular social media platform, as either they are self sustaining without his presence or no greater benefit can be had. [1]: https://news.ycombinator.com/item?id=47928645 (Tell HN: Site Is Trash Now) [2]: https://andrewkelley.me/post/goodbye-twitter-reddit.html (So Long, Twitter and Reddit)
mikepurvis · 2026-06-29
I've always really enjoyed Andrew Kelley's article about trying to statically recompile NES code from 2013 [1]. Basically he makes a ton of progress but gets hung up not just on the realities of the handwritten assembler of the era just not being all that great at mapping to higher level LLVM IR. In the conclusion he specifically calls out a JIT-type methodology as probably being the way to go, where you live-recompile the hot paths when you have the runtime data required to actually understand them, and don't worry about the parts you can't. Very cool to see something like that in action. [1]: https://andrewkelley.me/post/jamulator.html
yx827ha · 2025-12-31
Check out `zig cc`. It let's you target specific glibc versions. It's a pretty amazing C toolchain. https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-c…
echelon · 2025-11-27
The author of the article is the creator of the Zig language. This is par for the course for him. He's quite a bit like Linus [1]. He needs to start following his own advice [2]. [1] https://mastodon.social/@andrewrk/112362751644363647 [2] https://andrewkelley.me/post/open-letter-everyone-butted-heads.html
crabmusket · 2024-03-23
I found out about this via Andrew Kelley's blog[1], and I think he makes a great argument: > In Why We Can't Have Nice Software, I point out this pattern of needless software churn in the mindless quest for profit. This is a perfect example occurring right now. Redict has already reached its peak; it does not need any more serious software development to occur. It does not need to pivot to AI. It can be maintained for decades to come with minimal effort. It can continue to provide a high amount of value for a low amount of labor. That's the entire point of software! I hope that sufficient momentum/support can gather around Redict in order to maintain it for its existing users who aren't looking for a vector database, search database, generative AI widget, all in the one piece of software. [1] https://andrewkelley.me/post/redis-renamed-to-redict.html
jitl · 2022-08-09
> But aside from Jai, is anyone C alternative really looking to pursue having killer features? And if it doesn't have one, how does it prove the switch from C is worth it? It can't. Zig's `zig cc` is a killer feature that doesn't even require using Zig-the-language at all. `zig cc` is an LLVM-based C compiler that gives you trivial cross-compilation for existing C codebases, adds effective caching, and can be easily installed on most operating systems with `tar -xzf`. https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-c…
olifante · 2022-05-24
Great post. It's shocking to discover that the lead developer of Zig only earns 1500$ a month, and still manages to donate 10% to the musl project: https://andrewkelley.me/post/why-donating-to-musl-libc-project.html
pcj-github · 2022-05-23
I recall reading https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-c… as well and thinking this would be great to integrate with Bazel for hermetic cross-compile of go/cgo. Great to see they actually went and did it! Will definitely be trying this.
eggy · 2021-11-03
I've touched Zig a few times over the last year or so, and I like it, but I am still itching for something else that is not as complex as Rust, but not too close to C. I am now playing with Scala Native[0] just to see how it works on the low-level stuff. Zig is amazing especially since you can use the compiler as an alternative C compiler too[1]. I like Lisp and APL, so I have been learning April[2], a subset of APL in Lisp. It is very cool, if you like Lisp and APL. The game in Zig in the article reminds me of the Dyalog APL simulation of a boat navigation app developed in Finland using APL[3]. [0] https://github.com/scala-native/scala-native [1] https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-c… [2] https://github.com/phantomics/april [3] https://www.dyalog.com/case-studies/simulation.htm
capableweb · 2021-11-03
I know nothing about Zig, but looking up the main author (Andrew Kelley) they seem to be interested in game development, judging by some blog posts on their website (https://andrewkelley.me/) so probably at least influenced by that a bit.
int_19h · 2021-10-07
Because a "better C" is long overdue. (And no, Rust is not it. It's a great language, but its design philosophy is very different.) Ironically, today, Zig is also one of the best C/C++ compilers around, chiefly because it "just works", even for advanced scenarios such as cross-compilers: https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-c… (Yes, of course, the actual compiler is Clang. But Zig wraps it in a way that makes it so much easier to install and use, especially on Windows.)
1_player · 2021-03-22
Which is why Zig shipping with a functional C compiler with cross platform support is a brilliant idea. Just run `zig cc` and you don't even need `clang` around. https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-c…
seg_lol · 2020-10-12
What specifically, that they mention Zig or that you learned of Zig or that Zig has a lazy build system or ??? The thing I really find interesting about Zig is the compile time function evaluation [1] and how it can stand-in for macros, code generation, precomputing values, etc. I think of CTFE as a continuation that comes baked into the binary from an earlier point in time, T-days_ago. As for this release, I am stoked to see Flang making progress. I am excited about Fortran in the browser. The interesting thing of note is that Zig is in the process of creating their own backend, but I don't see them dropping LLVM any time soon. An alternate backend is a great way to find bugs in codegen. [1] https://andrewkelley.me/post/zig-programming-language-blurs-line-compi…
kristoff_it · 2020-09-28
I think your point was fair and your approach is just as well. The reality is that we don't have a gigantic amount of resources right now. We don't have Google or Mozzilla backing the project, so most information out there is contributed by community members on their free time. Take a look at other content by Andrew (https://andrewkelley.me) or from Zig SHOWTIME if you want to lazily evaluate Zig :)
jtolds · 2020-05-23
seriously, zig is so amazing. if all zig was was https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-c… it would be unbelievable, but it's so much more than that.
AndyKelley · 2019-02-13
Wait, Bootstrap has JavaScript now? I've been feeling guilty for not removing Bootstrap 2.3.2 as a dependency from my personal site (https://andrewkelley.me/) for a while now, and as far as I can recall, it was only CSS. Boy am I out of the web dev loop. I'm quite happy with my newest site (https://ziglang.org/), which has a dependency on... nothing! With cache off, 54.36 KB / 50.08 KB transferred. Cache on: 54.36 KB / 0 B transferred. No JavaScript.
zem · 2017-10-17
the reference to a 5-bit number in the intro was intriguing; i don't think i've ever seen a language that would support that (maybe pascal with type subsetting). this seems to be the best description of it: http://andrewkelley.me/post/a-better-way-to-implement-bit-fields.html
999900000999 · 2026-07-13
Every one feels a bit wrong here. Zig’s author, Andrew Kelley is out of line here. > We made futile attempts to guide them towards better programming practices. There were a few exceptional heroes who did their very best in a dysfunctional company. You know who you are. But you can't stop a rising tide. https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html So not only is Zig written by amateurs, but these amateurs also don’t know how to run a company? Who is Andrew to say this, Oven got an exit. As far as their investors and owners are concerned that’s the only real reason to exist. Assuming ( big assumption to be fair) all the early Bun employees got a fair amount of equity they’re all rich now. That’s a much better outcome than most startups. At my first startup we had 6 day work weeks. I still remember staying up until 2 or 3am manually installing Postgres again and again. All we got was a paycheck. Although for me I went from a minimum wage earning college dropout to a 6 figure software engineer( at a new company). As for actual coding… LLMs will always do better work in a well known stable language than something relatively new. I had to give up on trying to get LLMs to write working Haxe code. Haxe is too niche for LLMs to handle. I personally can’t stand Rust, it feels like it’s designed for machines to write. Zig is designed for humans. Outside of a 200k+ job offer you won’t see me learning Rust. Zig is rather pleasant. I can imagine writing a…
Zambyte · 2025-12-03
My prompt: tell me about the new zig io interface Ecosia: > The Zig IO interface is associated with Zigbee, a specification for a suite of high-level communication protocols using low-power digital radios. It is often used in IoT (Internet of Things) applications for smart home devices, such as lights, sensors, and smart locks. The Zig IO interface typically allows for seamless communication between devices, enabling automation and remote control. > For specific details about the latest updates or features of the Zig IO interface, I recommend checking the official Zigbee Alliance website or relevant tech news sources for the most current information. If you're interested in sustainable technology or eco-friendly smart home solutions, feel free to ask! Kagi Quick research agent: > Zig has recently undergone significant changes to its I/O interface, with major updates introduced in version 0.15 and further enhancements planned for the upcoming 0.16.0 release. The new I/O system represents a comprehensive rework of the standard library's input/output handling, focusing on improved efficiency, clarity, and flexibility. > The most notable changes include a complete overhaul of the `std.Io.Reader` and `std.Io.Writer` interfaces, which were revamped in a mid-2025 development release as the first step in modernizing Zig's I/O capabilities [^2]. These interfaces in Zig 0.15.1 represent a significant improvement in both efficiency and code clarity, though they require slightly…
ploxiln · 2024-03-31
I'm reminded of this recent post about the Redis fork to be maintained by Drew Devault: https://andrewkelley.me/post/redis-renamed-to-redict.html > Redict is a Finished Product > Drew is a controversial person (he's been rude/mean in the past) xz should be pretty much finished as well, major overhauls like the "ifunc" feature to inject alternate function implementations are not really justified. Beware of busybodies and this whole "the community demands vibrant evolution of the project" thing. xz does its job already! And being rude/mean is not a plus, it's a minus, but it does seem to correlate strongly with leading a high-quality project. Even if it's not the best way, this person has the guts to say no in unequivocal terms. You might just have to accept the downside of a rude/mean maintainer as a common unwanted side-effect of an effective maintainer. (Linus Torvalds also comes to mind of course.)
lhorie · 2021-03-10
Interesting read, especially as someone poking w/ writing a parser in zig for fun :) One area of improvement worth mentioning in this area is that currently zig errors cannot be tagged with extra information, which tends to be important for surfacing things like line numbers in parsing errors. There was a proposal[0] to improve this and it's not the end of the world for me anyways (as a workaround, I'm toying with returning error tokens similar to what treesitter does) On a different note, there's another cool zig thing I found recently that is mildly related to parsing: a common thing in parsers is mapping a parsed string to some pre-specified token type (e.g. the string `"if"` maps to an enum value `.if` or some such so you can later pattern match tokens efficiently). The normal way to avoid O(n) linear search over the keyword space is to use a hashmap (naively, one would use a runtime std.StringHashMap in zig). But I found an article from Andrew[0] about a comptime hashmap where a perfect hashing strategy is computed at comptime since we already know the search space ahead of time! Really neat stuff. [0] https://github.com/ziglang/zig/issues/2647 [1] https://andrewkelley.me/post/string-matching-comptime-perfect-hashing-…
lproven · 2026-08-21
A text version, for anyone else who dislikes video: https://andrewkelley.me/post/dont-take-black-pill.html
simon_void · 2026-08-19
> Bun's recent migration to Rust which could be misinterpreted as an example supporting migrating to rust, but under the hood it's far from a success story. Since you don't mention that this migration is basically executed agenticly by Claude, it seems like you attribute this troubled migration to Rust not being that good of an improvement after all. For me it doesn't seem that surprising that Claude autonomously translating hacky Zig (according to Andrew Kelly #1) to unidiomatic (way more unsafe code that usual) Rust didn't solve the issues that the original code base already had. #1 https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html
king_geedorah · 2026-07-25
They’re likely referring to his post / thoughts on the bun rust rewrite and specifically those he shared about the lead developer of the bun project and the bun project at large. I would not characterize what he shared as vitriolic, but from the comments when the post was submitted one would get the impression that is not a majority opinion here. https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html
windexh8er · 2026-07-20
Except the transition was never necessary. It was just another Anthropic marketing effort so they could claim another shallow victory [0]. [0] https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html
jgalt212 · 2026-07-19
> It’s made absolutely no negative difference, as we’ve seen in the real world in the last 60 days since the merge. This is even more interesting given that prewar Bun was not a well respected code base. This matters if the code was bad, were the tests bad / not comprehensive as well? If so, the translation to rust whose sole / primary target was test-passing will have a fair amount of undocumented bugs in it. > poster child for Zig programming language actually being the prime example of How Not To Write Zig Code https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html
randusername · 2026-07-13
TFA has an odd perspective. > Views are my own. I have no history with Zig. I’ve never spoken to Andrew Kelley There are better primary sources to explain what ZSF is trying to achieve with its AI stance. Kelley's rant [0] was a bit much but the ZSF AI Policy [1] and Kelley's interview on it [2] are interesting and informative. [0]: https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html [1]: https://ziglang.org/code-of-conduct/ [2]: https://www.youtube.com/watch?v=iqddnwKF8HQ
dwdz · 2026-07-09
"The blog post is expertly written. It's almost like the marketing department of a trillion dollar company has a lot of money riding on this article." -- Andrew Kelley https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html
jtmarmon · 2026-07-09
> I'm hustling. I'm playing the game. I'm doing what it takes to make this thing mainstream and a viable, practical choice for individuals and companies. If you talk shit about Zig in public, I'm going to fight back. But I respect you. I see you. I understand you. I don't hate you. I would literally buy you a drink. Andrew Kelley - An Open Letter to Everyone I've Butted Heads With (2025 Aug 29) https://andrewkelley.me/post/open-letter-everyone-butted-heads.html

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close