This is unprofessional and embarrassing for Zig.
I know very little about Jared but his article yesterday, which I read, seemed appreciative of Zig. I now learn he's donated significant chunks of money to them.
This entire article is publicly and personally attacking him for choosing a different product.
It's insane to me that Andrew thinks this post will somehow exonerate Zig when it really just makes them look childish. Or maybe he doesn't care, and just wants to attack Jarred?
> Two, I actually don't have any personal criticisms of Jarred
That’s quite a statement to make at the end of a post that seems to contain little else…all just thinly veiled.
Saying someone has „beginner energy“ but reframing it as a faux positive (this person fails and thus learns)
Or saying the grapevine says someone is a „stinky manager“? Basically I’m not saying this person is bad it’s just that I need to bring up on this blog that everyone agrees this person is bad.
All seems to be in very poor taste even if true…
> So, when the Anthropic aquisition finally happened, we at ZSF breathed a sigh of relief. When the donation silently stopped, our bank account was ready for it. When they neither canceled their monthly meeting with us, nor showed up, we were not surprised. The relationship was over.
Seen this time and time again, project/organization gets taken over, and everything "good" they did doesn't get exited with fanfare or anything, just silently dropped as your benefactor starts silently ignoring you.
I'm really happy they saw the writing on the all and were prepared for the inevitable, a really great lesson you shouldn't need to learn yourself the hard way, and FOSS project relying on one/two big donators should take heed, we'll see a lot more of this in the developer tooling ecosystem moving forward for sure.
I found this post very refreshing! I’m sure it would have been very tempting to one-up the “PR-speak” of the Bun post. Likewise, it would have been very tempting to include the same set of facts that reflect negatively on Jarred, while studiously concealing one’s own opinion (eg “I heard people called him a stinky manager. I am not saying that, other people are, but I’m not”). I appreciated that it was just … genuine.
There are astute comments about the post's tone elsewhere in this thread[0]
But this killed my hopes for Zig.
The drama is fun, and Andrew is maybe even admirable in his earnest, but this just isn't the kind of professionalism needed for a serious project. I know that's boring and uninspired, but that's what I want my tech stack and it's management to be.
Also, maybe Jarred was a net negative, but bun was also a really big project using Zig, and the project leaving isn't as good for Zig as Andrew is making it seem. It genuinely seems he's putting a lot of priority on purity and ideology over just growth of the language. And I am sorry, but adoption and reaching critical mass is an important part of a serious programming language.
[0] esp. nilirl.
It's hard, in my opinion, to lend credence to the author here when they decided to devote the first and largest section of their article to an incisive display of speculative ad hominem.
Would have been a great opportunity to outline the benefits of Zig! I've been keen to pick Zig up recently due to mitchellh's evangelism and inspiring writing on the subject.
This article puts me off learning Zig.
Not sure a personal attack against Jarred really helps the case for using Zig. He could have and should have focused on the language and not “a stinky manager”. Honestly, this makes me want to steer clear of Andrew as much as Jarred.
> I actually don't have any personal criticisms of Jarred
The whole post felt like a personal criticism of Jarred.
To me, this whole effort of rewriting Bun from Zig to Rust looks like a big marketing move. The question is: if Anthropic AI is really that powerful, why not just fix the bugs and give it the more ambitious task of redesigning the existing Bun Zig codebase in a way that eliminates not only the current bugs but also prevents similar ones from happening in the future?
> The main problem, however, was code quality.
> The sleight of hand misdirects the reader away from the main way bugs are eliminated: by dedicating engineering resources to it.
Perhaps the amount of bugs comes from using a C-like language that requires meticulous manual care to avoid writing runtime bugs.
Even C++ would be a safer choice because of RAII.
When you have to dedicate significant resources to avoid/fix runtime issues that are made impossible at compile time by other languages, the programmer isn't entirely at fault.
Despite stated otherwise in the post, this is a personal attack.
Anyway, let's try to discuss something more technical: I predict Zig will lose steam, and in 2027, will lose relevance:
1) It's hardcore Anti-AI 2) It's moved to Codeberg 3) It doesn't have the momentum to sustain the disadvantages of these two decisions
The project will in max 2 years make a blog post, not admitting to their mistakes, telling themselves that Zig is a success, despite the industry having moved on.
> You can imagine how we might want to put some social distance between ourselves and a project whose irresponsible software engineering practices invite the exact kind of criticism that people are eager to level.
The other (very salient) points notwithstanding, I'm afraid this quote shows that Zig hasn't learned a lesson that other languages of its generation (and older) have: if a project's memory safety depends only on "responsible engineering practices", then that project most likely won't be memory safe. Quoting the "swiss cheese" model used in risk management: one slice of cheese (engineering practices) just isn't enough if you want to be reasonably sure your program is memory safe.
That "I actually don't have any personal criticisms of Jarred" made me do a spit take, because a majority of what I had just read was absolutely a personally targeted criticism of Jarred.
Whether that's "okay" is a totally separate issue. I have no idea what the history here is, or whether this is warranted. But that was absolutely a personal criticism!
I was wrong to be upset this whole time that the rewrite would hurt Zig. This is one of those rare occasions when I’m glad I was wrong. Interesting insights.
A better title would be 'My emotions on the Bun Rust Rewrite', since the article feels like an emotional reaction rather than a thoughtful analysis of the situation. Give it some time..
I'm rooting for Zig either way, even though I have nothing against Rust and I don't directly use bun.
well, for me personally, "the" Zig project is not Bun but Ghostty, and it always has been.
yeah, Mitchell is very pro-AI, but he is thoughtful, and he sometimes highlights the difference between Zig's and Ghostty's approaches to LLMs (outright ban vs taming)
Anyone who would write an article like this is much more distasteful to me than anything Jarred did.
When I read about the bun rewrite I thought no sh*t, those are the exactly the types of bugs I would expect when doing a line by line rewrite of a program in a GC language to memory managed.
I was unimpressed with the engineering from the blog, and I'm not surprised to read andrew say they claimed no fuzz testing. I know someone who interviewed at bun when it was less than 10 people (around 5 he said). Allegedly jared lowballed the fk out of my friend, claimed they had no money because they're a startup, then proceeded to offer <1% equity
articles like these are needed - if you've to call people out - do it.
the tech industry's fake politeness has caused pain and confusion.
& yeah - I had already stayed off Bun before the whole rewrite, but now more reasons.
Dedicating most of the article to a personal attack and then finishing by saying that you don't have anything against the person is a bit of an odd sequence.
Thank you Andrew for sharing your side of the story. We can see that the relationship with Bun and Jarred was far from easy. You say it with your own words and even if it sounds bitter I like it much more than some bland AI assisted content.
[delayed]
Andrew could have been more tactful in his blog post (though as I've grown older I often find less tact to be more effective), but it really sounds like accommodating Bun was a net negative for Zig.
When Jarred joined the Zig community about 5 years ago, I described him as someone who had strong "beginner energy".
I wouldn't call it beginner energy, though I understand it might seem like that. Rather, it's an approach to development and no amount of time changes it.Why are we so eager to dismiss the very personal experiences of Andrew - someone who envisioned and developed Zig from the ground up? It is entirely within the realm of possibility that what he describes here did transpire. He had bad experiences with one of the more popular projects within the ecosystem - something that he hoped would become successful but the incentives were clearly misaligned.
When in doubt - look at the incentives. And the incentives here are fairly obvious. On one hand we have an open source project that is focused on quality and craftsmanship, and on the other hand we have the world's biggest AI company.
I am not anti-AI. But things like taste and quality matter. And I trust the creator of Zig more than the creator of Bun when it comes to said taste.
i think the blog post was very honest and direct and i could not agree more with andrew, now i’m not a zig user and i don’t find the language itself pleasing but it’s just a matter of taste,
i admire a few things in zig community, the focus on human relationship with learning and discovery and the focus on performance and building a meaningful relationship with members of community, I wish all the best to the zig and its community, although i have heard a few years ago that andrew was making apologies for not having enough diversity (race and skin colour wise) which i guess was a very dumb statement, but hey we all make dumb statements!
I really admire his stance on AI and agentic code contribution and the joy that they find in crafting good tools.
Am I right in thinking the Bun rewrite hasn't actually been released yet? There was a big kerfuffle when it was merged to master and people seemed to be behaving like that meant it was all done and dusted (as does this article), but it looks like the last release is still 1.3.14 from April so presumably general users are still on the Zig version? Is there a timeline for release?
As an outside observer with no horse in this race I think this post its more about the feelings of Andrew than pure technical content. He must surely feel frustated about Bun's migration to Rust and what it means for Zig, but it reads as sour grapes.
Compare the tone of this post to the one from Jarred about the Rust migration from yesterday, that one reads like a sensible technical document (no matter what you feel about the AI assisted migration).
This one reeks of hurt ego to me. Hell hath no fury like a language creator scorned.
Bun's bundler claimed the bottom place in my recent analysis of how JavaScript tools handle generating inline script tags[1], because despite making lofty promises about being able to bundle applications into standalone HTML files, it produced a baffling combination of spurious syntax errors and miscompilations when presented with tricky code.
I'm pretty sure the version I tested was the Zig one (have they made a stable release of the Rust rewrite yet?). So I can definitely see how Bun's move-fast-and-break-things philosophy would have been a poor fit for the Zig community, even prior to the Rust rewrite.
[1] https://carter.sande.duodecima.technology/inline-script-pitf...
> The post claims they were fuzzing their Zig code, while during our calls the whole Bun team told us that they were not fuzzing anything. This appears to be an outright fabrication.
Interesting I wonder if its something Jarred did locally or something else that was just not widely done by the whole team? I dont like to make bad assumptions about devs or dev teams without first asking. I owe credit to HN for one of the guidelines which states something like do not assume intentional malice in comments, I feel like we assume the worst in general about other devs, but people are imperfect and make mistakes.
That said as others noted this post could have been written a bit differently while still pointing out genuine issues. The ad hominem attacks are a bit unnecessary and add nothing of value to what could have been a better response.
Andrew Kelly be like "You give major beginner energy, you're a bad manager, your code is trash and I was soo happy when you left" and then ends with "this is not personal criticism BTW"
Sounds like Andrew is using the same argument as Bjarne Stroustrup: if you use it right, you don't write bugs. It hasn't really worked out for C++.
Yikes, the majority of this blog post is saying basically "skill issue" and "Jarred bad engineer", but I think that hurts Zig far more than Andrew realises.
If Bun, a disaster of engineering apparently, simply just switches to Rust and all of their issues magically disappear... then the Rust Vs Zig war is over before it started right?
It's more like a transpile, far from idiomatic rust.
So is this guy going to dress down any project that decides to move off of Zig? If Mitchell Hashimoto decides to move Ghostty off of Zig to C or Rust will we get a scathing blog post about that too?
I've watched an interview with Andrew Kelley: https://youtu.be/iqddnwKF8HQ where he seemed much more chill and level-headed.
I like zig a lot, I share its core philosophy, and I generally agree with Andrew's views. I found this article interesting, and I think it is understandable in all of this to be a bit bitter towards Bun and Jarred - in some sense, it had turned into a big "If you don't use Rust in 2026 you are stupid" which directly hurts the Zig project.
Personally, I prefer zig over most other languages. I find "memory-safety" is bought at the price of code that is not straightforward to reason about and requiring a steep learning curve. The reader's working memory is filled up quickly with language constructs and crutches rather than with the actual logic of the code at hand. I have used C++ for a large part of my professional career and eventually got so annoyed by always having to cross-reference multiple files to check which behavior might be used by which constructor and things like that. I have written a big and critical system in pure C once, just to try, and while I would not do it again, diligence and testing resulted in virtually zero runtime failures across its lifespan - while it was always possible to quickly reason about all the logic that tied low-level hardware access and near-realtime requirements together in a way much more visible than hidden behind layers of "safe" abstraction. Zig is, for me, the sweet spot: It solves the terrible issues that plain C has, and adds a lot of convenience on top that does not obscure the logic, while encouraging but not enforcing safe patterns.
Zig is getting that Elm, etc vibe. Genius/visionary BFDL who's also personally incapable of leading the project towards healthy long-term viability.
Say what you will about Matz or José Valim, I don't think they'd ever write a "and don't let the door hit you on the way out" screed full of personal attacks ("stinky manager", "writing slop", "a total shit show") against a person who led a very prominent project and financially supported the language.
I for one appreciate a public figure with a wildly opposed mindset to the Silicon Valley/VC-Funded/Ultrascaling/whatever crowd.
The pushback is warranted and on point, especially the technical points. It has taken a suspicious amount of time to produce the fabled blog post which I don't think states almost any new information beyond what Jarred has already shared on twitter. The one (and very interesting) exception is the theoretical price of the rewrite via the API pricing.
reminds me of https://www.lesswrong.com/posts/qEbqPitYhWHthwFNu/bun-s-migr.... remember anthropic owns bun
I'm glad LLM coding exists for people who want to move at an insane superhuman speed (perhaps they're trying to achieve escape velocity and launch into the stars or something) so that they don't grind down their fellow humans.
You can either do local optimization - a single individual moving as fast and as hard as humanly possible, or global optimization - a team working together and amplifying each other's efforts to produce something that is greater than the sum of its parts.
When you said that “His code was slop well before LLMs” got a good cackle out of me.
The fact is, most people don’t have taste and haven’t had taste, LLMs just amplify what was already there. Good taste is good taste, slop is slop, and shit is shit.
Glad you guys were able to go your separate ways.
Calling someone "stinky manager" is not ad hominem. It's a way of saying that he's managerial skills are very poor. Does it relate to the argument? Very much so. Changing a bread factory into a slop factory makes Jarred a stinky manager and even a "sloppy" one
How this should have gone:
"Dear Diary,
Today I didn't post a response to a blog post that levelled minimal criticisms at my project.
Below is the full text I didn't post."
The callout about auditing inline and comptime reminds exactly of the C++ point made about how you have to follow the style guide. Whoosh?
While I understand ZSF's bittersweet relationship with Oven and agree to several points (especially preparedness), this writing is badly structured and that shows something. Hope to see him turning around.
I’m not sure why this post even exists? It feels completely unnecessary. Don’t get me wrong, I like drama as much as the next guy, but it didn’t have to be public imo
Nice writing by Andrew IMO, please don’t be discouraged by people criticizing the writing style, it is firmly on the lighter side of what I would expect. It even feels a bit passive aggressive to me so it would be better have a more direct and harsh writing style maybe?
As a side note, never trust someone saying they use fuzz testing just because they say so. Odds are they don’t even understand what fuzz testing is.
And it was glaringly obvious they don’t know how to program in this context from their complaints around memory safety. The issue should never that the code randomly segfaults, it should only be it maybe exploitable in an adversarial scenario.
For all comments that will write something like “I can’t believe how rude this is”:
No one really care about this, there are real problems in life, please get a grip, you are just being annoying
The post reads like someone who is quite upset but trying to maintain professionalism. The mask slips throughout.
The points seem valid, however, and I will likely steer clear of Bun.
The blog post looks a bit distasteful if I'm honest. I was expecting a technical writeup explaining why it was/wasn't a good fit for zig.
> He gets to live out his productivity fantasy fever dream, he's probably already super wealthy. He has minor tech celebrity status.
Looks like a backhanded personal comment? This didn't need to be in the article.
> It's almost like the marketing department of a trillion dollar company has a lot of money riding on this article.
> The post claims they were fuzzing their Zig code, while during our calls the whole Bun team told us that they were not fuzzing anything. This appears to be an outright fabrication.
Smells like a lot of bias coming in. The fuzzing part was not a fabrication.
> sufficient to catch bugs in 1 million lines of unreviewed slop?
I don't understand how even today software engineers are calling LLM written code slop? It's objectively much better than what most of the engineers write, and it's not stopping to get better. If you still believe this, try out any frontier model on any work that you are currently doing, that should change your mind. There still are like 1% of cases where LLMs are not that good, but even there almost all of the time the issue is in the engineer's steering, not the LLM.
> There's a dichotomy being presented here where you have to either choose a "style guide" or a programming language feature in order to avoid bugs.
He says this, but doesn't give the steps to solve this?
> we all felt at ZSF that Bun was a net liability. > "It Tastes Like It's Not My Problem Anymore" > influx of tasteless AI enthusists into Zig communities
This may be the stance that encouraged Bun to leave.
I have learned so much reading Andrew’s code and as I said in the original post: Bun would never have happened without Zig.
> The post claims they were fuzzing their Zig code, while during our calls the whole Bun team told us that they were not fuzzing anything. This appears to be an outright fabrication.
Fuzzilli integration: https://github.com/oven-sh/bun/pull/24826
Merged PRs fixing issues Fuzzilli found in Bun’s Zig code:
- https://github.com/oven-sh/bun/pull/28926
- https://github.com/oven-sh/bun/pull/28934
- https://github.com/oven-sh/bun/pull/29255
- https://github.com/oven-sh/bun/pull/29210
- https://github.com/oven-sh/bun/pull/29199
Searching “Fuzzilli” shows more PRs: https://github.com/search?q=repo%3Aoven-sh%2Fbun+is%3Apr+Fuz...