Can't help to think of a recent HN post about most AI-generated projects being abandoned within months. Why?
Because value of a project is not in the code produced. It's in the amount of battle-testing that code has seen.
Battle-tested, mature code > fresh rewrite.
Existing Zig codebase has seen X amount of battle-testing. Rust rewrite: 0 (except -I'm assuming- passing test suites). Also:
"this was a port to unsafe Rust, allowing a literal file-by-file migration to minimize risk"
How is that better than the Zig codebase you started with?
Now if that's further migrated to safe Rust, put into production & gathered feedback from lots of users, yes then you have something. As it is, the impressive bit is do such a big rewrite & result seems to work ok. Are Bun users happy with this?
To me it reads like Bun was forked. Will the Zig version survive? Will the Rust one? Both? All options ok.
Edit: and fwiw, I don't think Zig community should get triggered on any of this. It says nothing about how suitable Zig is or isn't for project xyz, and Zig community is big enough to carry their own project & applications besides Bun.
When I read the post, my first thought was that I wouldn’t want to build things in Zig, because any technical decision I make, good or bad, might subject me to this kind of article from their BDFL. I can’t conceive of the leadership of the Python or Rust or any other community I’ve ever worked with doing something like that.
As someone who's been following Sumner's work closely for years, Kelley's accusations are very much true even if unkind. While the results are useful and cool, it a wankfluencer op from start to finish. I dare you to refute thus.
And I say all this as someone who does agentic development 8hrs a day and someone who always pestered my team to opt for Rust and Deno instead of Node. Call a spade a spade, the rewrite was poorly justified and one in a long lines of successful psyops Dario and co. cooked and delivered.
Now, would Andrew's message have been better received if it had better "decorum"? Maybe. But I'm glad he stayed honest to himself instead and didn't have a PR team ghostwrite his thoughts. You have to appreciate that.
For context, I'm using Codex and have no interest in either Zig or Rust, so just observing this drama from the sidelines.
What I do care about is technical details. Jared shared some motivation as to why they ported to Rust, and I think they look valid (even if provided with sparse evidence). But I have not seen any sort of refutation from Andrew that these are not actually issues or how they should be solved in Zig canonically. I'd really like to see an exploration of these arguments, specifically pertaining to the Zig code as it was written for Bun.
Does anyone think that if Bun had been rewritten from Rust to Zig that a member of the Rust core team would have written a personal hit piece against Sumner (while pretending it isn’t a hit piece)? Probably not.
Kelley can write what he wants, but as the BDFL of a rising programming language, people are allowed to react if they don’t agree with the public image being portrayed by Zig.
Yeah, don't discount how powerful "marketing" is to management/executives, and also don't discount how absolutely ridiculously petty people can be, especially people who end up like CEOs and similar, requires a particular person. I can definitively see reason #1 and #3 from that to basically already set in stone that Bun had to be rewritten in Rust.
Maybe people were more interested in the agentic part more than the actual rationale for the port in the first place, because it was very disappointing from a technical standpoint.
Even if the guy is a terrible manager this still comes across as a determined attempt to find something negative to say.
To me it’s telling how little focus there is on the technical merits of the rewrite from zig side. Anthropic claimed a bunch of victories and as best as I can tell nobody has even attempted to refute them.
If I was running a project and someone threw it into an LLM rewrite and it comes out with improvements and silence on downsides I’d be pretty worried and try to address that. Instead we’re talking about working hours somehow
I'm trying to not let this affect my thoughts about Zig as a language but it's hard.
It's insane that Ray Myers thinks that Anthropic did anything related to this port that requires holding them accountable; the fact that he used those words makes me want to prevent him from having any influence over AI policy.
I think this is the most important line from this piece.
Incentives matter. The AI companies are incentivized to have us believe that LLMs are the new compiler. That’s ridiculous (a coding LLM is a very very leaky abstraction) but I hear coders, especially coders with poor fundamentals, say it all the time.
This entire AI period has been a study in marketing disguised as futurism.
I say this as one who uses and teaches AI. What fantastic, amazing, unreliable tools. Extraordinary in the right hands, but engines of cognitive and technical debt.
Instead, the first half of it solely consists of personal attacks.
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.ht...
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 side project with it.
Finally, my QA background is screaming in rage. You expect me to trust a project that you basically vibe coded in a week as a key part of my workflow?
You know it works because the automated tests ( which I guess you also vibe coded) pass ?
By that logic say I don’t like Rust, can I spend a few thousand in Fable tokens and ship DinnerRoll( Bun in D).
Is that enough to raise a VC round?
This, I don't think enough people pointed this out. We have been sold the "coding is solved" and "software engineering is over" shit by Anthropic folks for a while now. The discourse should have revolved around claude's capabilities and instead it became a Jared vs Andrew thing.
Bun's rewrite has made me nervous about using it. I do have a project that would theoretically benefit from it, but that amount of vibe coding just makes me nervous. I'm not saying I'd never use it, but personally I'd rather wait for the dust to settle on it a bit. I feel like rewriting to a new language is going to be buggy no matter what (even if the tests pass), but an AI rewrite in a very short time makes me extra concerned. Just my 2 cents.
Also, one thing I want to highlight in the article because I agree hard with it:
> My advice? Don’t work for people that brag about 90 hour weeks. Work for people who will defend your ability to sleep at night.
I used to work in the games industry, where crunch was the norm, and I don't think crunching really helped at all past a couple weeks. I'm not particularly old (early 40s), but my performance falls off a cliff if I sleep poorly or don't practice self care. To me, people working ultra-long hours for marathon periods of time are making a grave mistake. It usually ends up being productivity theater rather than real productivity. Taking care of yourself is really important for being productive.
There is a lot of discussion about the exact tone and phrasing, etc, of Andrew's post. There's something there - we expect perfectly composed writing, never getting emotional, never saying how we actually feel about a specific individual's behaviour. Meanwhile, in private, we often let those emotions fly, name names, etc.
I think Andrew gave us an actual look into how he feels about Jarred -- ambivalent, largely.
https://github.com/oven-sh/bun/blob/bun-v1.1.42/src/bundler/...
My take is they vibe coded too close to the sun
so weird people are not commenting on this.
it's like.. I dunno, rewrite linux in rust, because bun uses glibc, this will somehow make it better, so claude code somehow can run better?
hell, start with UEFI.
> The piece about the migration process is very cool, with details that are reusable. No complaints, I think that’s the real contribution here. I particularly like the honesty in explaining that this was a port to unsafe Rust, allowing a literal file-by-file migration to minimize risk, paving the way for redesign in future steps. That’s a sensible move explained well.
We already know junior hiring an are down. And how many people are now excited to learn to code compared to 5years ago?
How many of those excited people are ACTUALLY learning to code and not just learning to prompt?
LLMs/agents will take over (or at least dominate) software dev even if they don’t get any better because humans will just get old and there’ll be no new humans who know how to do it.
> Ray’s story: Faced with a legitimate challenge of memory bugs, there were several viable options. Management eagerly approved the Rust rewrite option because it was a great marketing opportunity to showcase their new Fable model, Anthropic already uses Rust, and Zig is openly against using Anthropic’s products.
Kinda makes sense. They also tried to make a C compiler earlier in the year. Idk what happened to that.
I guess it's an experiment without much downside for Anthropic, if it works use it to make a point about AI assisted coding - if it doesn't bun users will learn a costly lesson but who cares, it will just be another case study to make their product better.
That said, I think it'd be great to see this actually work out.
- I too am a fan of Andrew, and Zig, although all of my future plans currently are tied to Rust.
- I think the crux is that we are talking about 2 Vibe-ish AI rewrites, one to Zig, and another to Rust. I believe the investment in both reasonably minimal beyond the cost of tokens.
- I think that more adherence to a Zig style guide would probably have been very beneficial to the final work product.
- I have high expectations that the Rust rewrite will yield a more stable work product out-of-the-box. I am looking forward to the post-analysis.
> I’m not the one saying that their environment resulted in a buggy unmaintainable mess, Bun is the one saying that.
I want to emphatically endorse this statement.
This is where the human workload will shift to: making good decisions... understanding why one path is preferred over another. And collaborating and communicating in constructive ways. More to the point, humans excel at being able to recognize when a chosen path is no longer fruitful, or where a conversation devolves into the unproductive.
We are constantly making decisions based on tradeoffs. We choose one approach over another, not so much because our chosen path is obviously superior, but because the peril on our chosen path is preferential to the peril on a different path.
I have used ai to great utility in my design process, to help me understand the tradeoffs within any given endeavor, greatly helping in choosing which path to take.
Thus far, I haven't seen an AI which can unilaterally be relied up on to always effect "good judgement" for the work it is tasked with completing.
But once good judgement, and the correct path, is codified in markdown files, ai can be exceedingly efficient in carrying it out.
While this may be slightly overstated, my take on this is that AI progress should have us upgrade our view of the human brain rather than the opposite.
Wrote about it the other day:
https://livingsystems.substack.com/p/ai-progress-should-upgr...
And like anything in the world things change.
So will there be change in the way we code? Certainly. Are some claims overstated? Certainly.
This feels equivalent to saying you're not a real coder if you need a compiler to hold your hand. What, a human coder isn't enough?
Of course we're going to improve tools by building more tools on top of them. That's how we went from punch cards to assembly to high-level languages!
https://www.uber.com/us/en/blog/postgres-to-mysql-migration/
A. making consumer end-user apps, basic enterprise applications (making end products)
B. making tooling, libraries, languages (making things people build on top of)
What is the "software engineering" that AI will replace? A? Or both A and B?
Just because people can get away with using AI to make A apps that are "good enough" or pass test suites, does NOT meant that therefore people can get away with doing all software engineering with AI. B products require a whole other level of quality, stability, and extensibility.
I'm not saying doing A with AI is a good idea either, I just think that it's a fallacy to say that because you can do A with AI, you can do B.
But what do I know, maybe your CTO bought this and now wants to fire half of the dev team and use Claude to convert your COBOL codebase to Rust...
All that said, the coolest thing is that Jared did so, I don't care if it came out a bit worse with Rust, the interesting thing is here is what can be done with AI/LLM/Agents today. Yes, it might be worse, but on a reasonable enough timeline, it will get better. Folks get upset about these things. I did AOC in 2024 with LLM, my goal was not to top the leaderboard, but to see how good LOCAL LLMs could keep up. I did it with Qwen2.5-Coder-32B locally, and solved about 50%. Folks were often upset when I shared that, called it cheating, etc, even tho I often started about 8hrs after the competition due to timezone. It was so good, I suspected the cloud models would probably solve 75-80% and I concluded after my experiment that in 2025, LLM can solve it 100%. I didn't bother to try and the models were an order or magnitude better locally.
No matter the take on AI, they are very capable tools and we are only beginning to figure out how they can be used. I don't think we should stop, surely it's frightening on what that would mean if it can really "takeoff". This fight is multi layered, Zig vs Rust, Writing good code vs bad code, having good development standard vs not, being honest and transparent in technical disclosure, attacking Zig vs attacking Jared, AI good vs AI not, etc.
The thing I still think is wrong: why are Anthropic rewriting a Javascript runtime from Zig to Rust? Why not rewrite Claude Code itself in Rust (or Go or whatever, lots of options there) and drop Bun completely. That actually seems like an easier solution (rather than having to create a performant, correct Javascript runtime, just rewrite your CLI console app in something else) and the final result is better (smaller and faster) although likely not on the most critical axes for them.
I'm using Rust as a placeholder for a language with excellent performance and safety characteristics. It may not be a good thing, but there's no way around it.
There's no point. It's not doing the job DARPA's TRACTOR program is trying to do - translate C to safe Rust. I've used c2rust. It works, but what you get out is like compiler output, not something you can work on.
Banger of a quote that one.
And I think the only sensible backend languages when starting a new for-profit project is Python, Go, and Rust for 99% use-cases.
In other cases, third-party packages, tooling, integrations, and telemetry starts to suffer.
There will be a group of programming languages that become the main choices, (Rust, Go, Typescript, C++, Java, C, Lisp and Haskell) for agentic coding, Zig was slightly too late to the game, the great LLM cutoff has happened.
Andrew is trying to fight the tsunami here with a paddle boat as his vision of Zig was conceived before LLM's landed on the scene and is likely unable to accept it.
Now the Zig community is attacking one of the largest and best-known codebases ever built with the language. Anthropic’s motives are clearly promotional, but even so, I would not choose Zig for any project.
I'm sooo waiting for this to happen. I miss the old times where simplicity, clarity, and good architecture mattered.
The fact that rust is likely more interesting than zig (which is also interesting) is indictated by community size (and other signs like linux kernel inclusion).
The fact that anthropic is very likely overselling their timeline and max-utility for an IPO is generally well accepted as well.
Also that us tech bros are somewhat annoying is also well understood.
But who doesn't love a good street fight?
- Your AI code is probably as good as your human user's skills and attention:
Seems pretty likely they were shying from style guides because the AI use was itself sloppy. I'm not a big AI user but if I just ask a chat model for some code it will give it to me, then I have to go over it and fix the code for our check-style. Without deliberately aligning all your AI use to enforce it style is hard to maintain. Existing lack of style was a technical debt they didn't want to pay.
- The most popular language is probably the best language:
I suspect the amount of training data on Rust is several orders of magnitude greater than Zig. I suspect they could have gotten there simply asking the LLM to rewrite the Zig thing in Zig, however I'm betting LLMs write much better rust code so why not take the opportunity to move to a language that will get all-around better results.
- Technical bankruptcy is more favorable than paying technical debt:
These migrations we're seeing seem to point to a future where it's simply easier to burn a code-base to the ground, take the test suite and re-implement rather than actually pay large amounts of technical debt. I think this is a pattern that will come up more often with heavily AI written codebases that become untenably noodley, or brittle.
I commented on Mastodon[2] to point out to Kelley that it's dishonest to silently remove the accusation, as so many people were already talking about it, and it confuses the conversation if Kelley retroactively edits it, and he replied[3]:
> the false claim is in the bun blog post not mine. I only changed the text because it's easy to lazily argue against it. Please read more carefully. They are the ones being deceitful not me.
Loris Cro, Zig's VP of Community, gave a slightly clearer response[4]:
> Jarred's post has a section about what they "were already doing" to maintain their Zig codebase, which includes "24/7 fuzzing", which will make the average reader assume that the codebase has been fuzzed thoroughly, while in reality it has been for, what, 2 months before the rewrite?
Even then, I find it so bizarre that Loris thinks that if someone says, "We've been fuzzing Bun," and shows evidence of months of fuzzing, then that person is lying because "We've been fuzzing Bun" somehow implies something longer than two months.
The duration is irrelevant. If you say you've been fuzzing it and you've fixed bugs that your fuzzer found, then clearly you're fuzzing. The Zig team doesn't get to arbitrarily move the goalposts of what "fuzzing" means.
[0] https://news.ycombinator.com/item?id=48845652
[1] https://news.ycombinator.com/item?id=48854921
[2] https://m.mtlynch.io/@michael/116896188093796421
Makes me glad I still write C!
Anthropic does not need to tell me that much of software engineering is being re-written. In my opinion, the costs have crashed. I build commercial projects at 1/3rd my earlier costs. I started build everything I can in Rust and I am still doing that. My projects have only gotten more ambitious, latest being https://github.com/brainless/akar - a WIP, please don't scream at me.
Many folks have publicly said they want to keep AI agents away from their works. Good for them. I want to accelerate software engineering, something I have done passionately for 20 years, with all the agents I can use. And I make my own agents, constantly experimenting to push local llm based agents.
If engineers want to stay behind, good for them. Not everyone does. Andrew Kelly's post read like an attack, IMHO. But why care about me? I am just a farmer (https://www.instagram.com/curryhostel) who uses AI to now build ambitious software.
If nobody knows why the unsafe is required there's no way they'll be able to unwind it. If they can't unwind it then they're in a worse version of C (+ cargo).
ding ding ding!
Yet, I've never seen those language creators blame anyone else. I don't recall Bjarne Stroustrup lashing out at people migrating from C++ to Java, Rust, or anything else.
Maybe humility is just a generational thing.
Isn't it a case of "SVN trying to be CVS done right", as Linus Torvalds famously explained during his talk about Git at Google: SVN was doomed from the start because it's not possible to do CVS right.
Is this Typescript Zig any good? (don't know anything about it) Is it even worth porting to another language?
And why not an entirely new project? Ain't it an admission of failure of LLMs at writing new code? (porting ain't the same thing at all as writing a new project)
No dig at Zig: I just want to know if it's not yet another turd of the extremely turdy JS ecosystem.
My thoughts on the Bun Rust rewrite
https://news.ycombinator.com/item?id=48843352
Rewriting Bun in Rust
In all my professional carrier so far, a full rewrite without reason is a recipe for disaster, see
https://www.joelonsoftware.com/2000/04/06/things-you-should-...
This Joel Sposky article is always my northstar when I have such "temptations". My 2 cents
Life would be paradise if people were just good for each other. They are not though. So you need a system for that case. Rust is a system that fits the modern real world software development dynamics than Zig.
And this whole thing reeked of a publicity stunt. Show people you can use $$$ of tokens to vibe code a refactor. The headline is how great anthropic - bun's owner - is.
Vibecoding in a nutshell
He complains about the lack of motivational blog post until after the merge, but a) they aren't obliged to do that (where are all the "it's free so you can't complain" people now?), and b) they gave plenty of motivation in HN comments, the rewrite PR, etc.
I don't like the idea of AI slop code either but it seems to work at least reasonably well for porting from one language to another.
It's a good thing to point out these unspoken truths explicitly. As people internalize the norms that make it bad form, it becomes easy to skip the mental step of acknowledging the problem. Even internally. But that quiet acknowledgement is necessary to keep oneself sane. Without it, the best case is someone steers away without good reason, at worst it leads to experienced and expressed frustration that doesn't add up and can snowball into the wrong places.
Anthropic have lost their minds, and eventually a metric shit ton of money. Meanwhile, nobody uses Bun or Zig either. Rust continues to chug along very very slowly.
Because that's what it really appears to be about, preserving a rich man family's legacy so his children can live for another few generations before they over populate and humanity repeats the cycle of indefinite war, hoarding of resources, and killing to have more for yourself. I guess every rich, powerful generation though doesn't think that future will come now, so they keep manipulating their way to extracting more and more from people and stealing their way to the top.
When a majority of the population is sick, naive, and overstimulated its not hard to convince them with your propaganda that that you are on their side and that the sacrifices they make for your power are worth it. of course they don't see how their life spans, their deaths, etc were for you cause and not theirs.
The whole point of the borrow checker is to make it impossible to write wrong code. If Zig accepts bad code, but assumes people will have self-discipline to maintain it, how is that different from C?
C assumes good discipline, as well as C++. But it will happily accept bad code. So I'm not even sure what Zig is even improving on.
Rust was designed to answer this exact problem (among a few others of course).
So the argument "your code is fscking sheet" is very 1990's. In 2026 we need guarantees that we can't produce invalid code.
It will be sad if everyone buys Anthropic's hype, forget the basic engineering principles in this industry and think that AI solves every problem. Fortunately lots of people don't.
It was just a marketing piece. It offered many data and pretty graphics but only that, no way to attest the veracity of it.
I didn’t read further, this is just sensationalism at its crudest
I don't care what Anthropic says and what the CEOs buy, I care about my own output and the recent models give me 2x uplift easily, I'd say 10x in single digit percentage of the time and I know I'm not using them to their full potential. We're living in an era of mass produced software. You can still be an artisan in this era, but you have to be aware.