DE version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
59% Positive
Analyzed from 4576 words in the discussion.
Trending Topics
#zig#bun#project#post#code#jarred#don#andrew#rust#unsafe

Discussion (122 Comments)Read Original on HackerNews
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.
Like if someone calls you a bad programmer and doesn't hire you as a programmer, isn't ad hominem
"Was silence not an option?"
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…
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.
Seems you're not alone in feeling this, mind quoting the exact and verbatim parts that seem like "speculative ad hominem"? I see there are quite a bits about how Andrew sees Jarred and his workflow/work mentality, but I'm not sure I see clearly what is supposed to be the ad hominem, speculative or not.
> he was essentially groomed from a young age
> It's one thing to choose a poor work-life balance for oneself; a different thing entirely to demand it of others
> Jarred was a stinky manager
Eh, Google and ChatGPT both exist?
The whole post felt like a personal criticism of Jarred.
Not knowing whether you actually gave the advice you're blaming them for not taking isn't professional, it instead comes across as bitter.
If I criticize your code, that is a professional criticism.
If I criticize your code and say it reflects your consistent carelessness and stupidity, it is also personal.
If I say you fabricated something, then that is a personal criticism, it alleges an ethical violation. In a professional context, it's also a professional criticism (every profession has some ethical standards).
As an example, the following fragment is extremely personal:
>For example, he could have easily achieved a solid living via crowdfunding, even for San Francisco standards. But having graduated from the Thiel Fellowship school of thought rather than university, he was essentially groomed from a young age into uncritically embracing the Silicon Valley mindset, and he took venture capital.
For readers who are genuinely oblivious as to why the above comes across as criticism of the person instead of the Zig/Rust code:
- it's condescending because it portrays Andrew Kelly is the wise enlightened one didn't take VC money but Jarred was the unenlightened one "groomed" into the SV VC world.
- those sentences explain more about Andrew's opinion of Jarred, rather than dissect actual code fragments of Zig/Rust.
It's ok to personally agree that Thiel/VC/Jarred/capitalism are all wrong but you still be able to recognize when a paragraph is making criticisms of a person. Aligning with Andrew's values shouldn't make one blind to it.
> 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.
Static linting in Rust via clippy also makes it pretty straightforward to begin enforcing things like "unsafe blocks need to have safety doc comments" as a CI warning or failure, and there are community tools that focus on this topic too.
I can't stand the practice of "LLM porting" personally but if you're going to do a mechanical rewrite from something else into Rust, this (permit unsafe and unidiomatic but 1:1 translation at first) is a fairly reasonable strategy imo.
They actually remove certain classes completely. E.g. lifetime ownership in Rust removes all bugs related to the reason why it is in the code syntax (a.k.a. lifetime markers remove use-after-free completely in Rust.)
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?
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.
- [0] https://ziggit.dev/t/bun-s-zig-fork-got-4x-faster-compilatio...
For the latter: https://youtu.be/iqddnwKF8HQ?si=cvU8Fh3ah7ZCxg3M
From 26:38
I haven't reviewed this code, but the percentages described don't sound like they'd need a huge architectural overhaul to use much less unsafe, it might take more actual human effort than they want though.
And because unsafe is generally highly local or localizable reasoning (conventionally backed by safety justifications) it really is quite reasonable to go plugging at it, or task an AI within that.
I can imagine Anthropic wanting to acquire Bun without the gimmicks.
https://news.ycombinator.com/item?id=48843352
Anyway, let's try to discuss something more technical: I predict Zig will lose steam, and in 2027, will lose relevance:
1) It's hardcoe 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.
If one can easily swap in the next new js engine du jour…
It kind of reminds me of Elm in a way. Though I'm not expecting 6 years of drought just yet.
What are your hopes and predictions for the Zig project?
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.
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.
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.
I'm rooting for Zig either way, even though I have nothing against Rust and I don't directly use bun.
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)
OSS projects can survive not being on GitHub, Python was something like 20 years was not on gh. If the service has severe outages and there are alternatives why wouldn’t you move? Most people aren’t contributing to the runtime anyways, they are just using the language.
Its a breath of fresh air to get this whole debate out in the open
It is challenging for me to imagine how one would think an article like this is net beneficial for the community rather than reacting with grace.
Why don't YOU spend the engineering resources to add RAII and a borrow checker instead of blaming your users?
I was on a platform team and I had a constant backlog of bugs (introduced by others) that I was working on and the two most impactful things for preventing bugs were Typescript and Cypress (playwright-like testing before playwright).
I've dealt with many shitty code bases and the only way that worked for removing bugs was automation. It didn't matter how many bodies you threw at the problem.
> Then why are you saying you have so many annoying bugs in the Zig code? What happened to the test suite being sufficient to catch everything?
You can't use tests for trying to catch use after frees and other memory bugs for the same reason you can't use unit tests as a replacement for type checking, the combinatorial explosion of possible inputs into functions makes unit testing types across an entire project impossible.
Anyway, Jared donated $60k a month to this project and tried to resolve this in the most diplomatic way possible and still got personally attacked. The lesson from this article is don't donate to the Zig project because if you migrate away from it they will try to ruin your reputation.
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.
> We became increasingly horrified at the programming practices we saw in Bun's codebase. Hacks on top of hacks. Abuse of assertions. Most of all, recklessly speeding past feature after feature with very little time taken for reflection and elimination of bugs and technical debt.
The vast majority of software is written by businesses, who have to cater to the lowest common denominator in their code base, and who are not incentivized to go slower. That is a reality of what we need programming languages to help with in 2026. I've never met a professional programmer that has not seen or said the same thing about a code base that they've worked on.
New programming languages need to contend with that reality if they want to be adopted en masse. If not they are doomed to not be adopted (which is okay I've created many programming languages that are just for me). But if a programming language in never adopted then the supposed benefits or improvements of the language never trickle down to us the users of the software, so they just remain interesting ideas (which again is okay).
Andrew kelley runs a tight ship, and his foundation does not need a lot of money to keep going, but he has talked about how working on all the organizational transparency is not his favorite part of the project, and I can see why a lot of young programmers wouldn’t want to go that way.
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.
Maybe I'm wrong, but it strongly feels this way. I'm not saying that Andrew is right or wrong, it's just that you could throw out most of the first half of the post and not lose anything actually on topic.
> But having graduated from the Thiel Fellowship school of thought rather than university, he was essentially groomed from a young age into uncritically embracing the Silicon Valley mindset, and he took venture capital.
> Jarred was a stinky manager. Poor communication, unrealistic expectations, low empathy, no experience. Just a total shit show, from an employment perspective.
> Jarred was already writing slop well before he had access to LLMs
We must not let the shareholder value fall /s
The points seem valid, however, and I will likely steer clear of Bun.
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.
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.
I'd like to know what the poor code quality in Bun looks like. Does anybody have concrete examples?
1.It felt uncomfortable that Bun was presented as a representative example of Zig. From the internal Zig perspective, it looked more like a bad example of how to use Zig.
2.It felt uncomfortable that they spoke as if Rust prevents things that could actually be handled by Zig's style guide.
3.I(OP,andrewkelly) don't think badly of Jarred as a person, but after signing a contract with VC, the management side has been poor.
4.The Bun documentation looked like marketing.
5.Bad contributions driven by AI came through indirect promotion of Bun, which attracted interest from people after it was acquired by Antropic.
I understand that it's burdensome to see Bun as Zig's representative success story, and I get the wish not to see Rust rewrites through a lens of language superiority. But on the flip side, I'm not sure I would have ever learned about Zig if not for Bun.
While the criticism is valid, I also understand Bun's position. After all, Antropic's acquisition of Bun was ultimately about showing that even a 'new language' can be used effectively with AI, and that's precisely where the friction arose.
I think the refusal to accept AI from a purely human programmer perspective is a matter of personal values, and I find the Zig team admirable on a human level. (Though I'm an active proponent of AI, so my view differs.)
Both sides have valid points, but sometimes I wish someone would turn the emotional and political dynamics of open source into a novel. I think it would be fascinating
It doesn't look done.
And it looks like work on the rewrite began in early may: https://github.com/oven-sh/bun/commit/46d3bc29f270fa881dd573...
So... its more like a 2 month rewrite that is definitely not done yet????
That sounds completely surreal. Is Bun really used that much?
Note that usage and public interest are not the same quantity, people also care about the potential of a project.
Either this ideology helps Zig position itself as a hand crafted language. Or this ideology is self defeating.
> 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.
Even Andrew knew that this was going to be Anthropic's marketing opportunity for AI to rewrite Bun from Zig into Rust. This post from Jarred says it all. [0] If you have access to hundreds of billions worth of resources (infinite tokens and compute), they don't care what others think and some relationships are just cheap to discard.
Like I said before in [1] and [2], Bun (now Anthropic) does not care about you. They did this to market the capabilities of their AI models and this rewrite was an example of that in broad daylight. Even if Zig allowed AI generated contributions, this move was going to happen anyway.
I cannot believe that many commenters in [0] at the time did not see that this rewrite was eventually going to happen.
[0] https://news.ycombinator.com/item?id=48019226
[1] https://news.ycombinator.com/item?id=48240829
[2] https://news.ycombinator.com/item?id=48073893