logoalt Hacker News

Zig Creator Calls Spade a Spade, Anthropic Blows Smoke

561 pointsby crowdhailertoday at 8:39 AM273 commentsview on HN

Comments

RetroTechietoday at 10:02 AM

There's so much good stuff in this post.

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.

show 8 replies
vlaaadtoday at 8:56 AM

Did we read the same Anthropic and Andrew Kelly's posts? Anthropic is not in the programming language market; their post about rewriting Bun in Rust is full of technical details that led to improving the end product for their users. Zig's response is a sour opinion piece full of personal attacks.

For context, I'm using Codex and have no interest in either Zig or Rust, so just observing this drama from the sidelines.

show 14 replies
woodruffwtoday at 9:23 AM

I think like most people, I don’t have a problem with Andrew “calling a spade a spade,” even if I find his reasoning motivated. The bigger problem with the post is that it talks out of both ends of the mouth: it’s clearly meant as a personal attack, but also insists that it isn’t.

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.

show 2 replies
cropcirclbureautoday at 9:34 AM

I stand with Andrew.

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.

show 6 replies
jonkoopstoday at 10:34 AM

What I have been missing in all this debate is substance. I don't care that Bun was ported to Rust; I don't care that Andrew wrote a hit piece about it; I don't care that Anthropic sells shovels in the gold rush.

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.

show 2 replies
jswnytoday at 11:16 AM

I agree with some of Kelley’s takes, but the issue is the tone.

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.

embedding-shapetoday at 8:57 AM

> 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.

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.

simjndtoday at 9:10 AM

Thank you. I was left confused after people praised the Bun to Rust blog post eventhough it contained very actual technical substance. No clear evaluation of options, very biased report on impact, missing figures. It absolutely didn't feel like an engineering blog post.

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.

show 1 reply
999900000999today at 12:29 PM

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.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?

drbscltoday at 12:00 PM

The thing is, it's possible to call a spade a spade without resorting to ad hominem. Andrew's post would've been more effective if he focused more on the Rust port being for marketing, and the shortcomings of Bun's Zig implementation.

Instead, the first half of it solely consists of personal attacks.

r2vcaptoday at 11:01 AM

Those problems are partly attributable to Zig itself. If the project accepted AI-assisted contributions, this controversy might never have happened. Completely shutting out one side of the industry and taking a dogmatic position is not helpful, especially for a pre-1.0 language that is still relatively immature.

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.

show 1 reply
Kirotoday at 9:38 AM

I really don't understand what Andrew Kelly hopes to achieve here. Even the non-programmers at r/programming who usually piles on any type of anti-AI posts called it out.

I'm trying to not let this affect my thoughts about Zig as a language but it's hard.

JuniperMesostoday at 10:05 AM

> From my perspective, Anthropic is the party we need to hold accountable here.

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.

show 1 reply
Havoctoday at 11:24 AM

Why are we even discussing stuff like work hour expectations in a story about language switch drama?

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

handoflixuetoday at 11:21 AM

"We wrap LLMs in Agent harnesses because AI isn’t enough."

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!

virajk_31today at 9:17 AM

Anthropic migrated Bun from Zig to Rust, they probably tried writing it in Zig using AI and ran into issues because there isn't enough Zig training data. A year ago, most LLMs couldn' t code reliably in Rust, But were fluent in Python, C, and web tech.

show 1 reply
akshaydeshrajtoday at 11:02 AM

| how their AI was powerful enough to do this rewrite (even though it was not powerful enough to catch a use-after-free)

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.

sajithdilshantoday at 9:11 AM

I really don't understand what's the big deal here. Anthropic converted Bun from Zig to Rust using Fable and used that for marketing, but do people blindly trust them? Also isn't Zig still unstable and from that perspective regardless of how they did it, wouldn't it make sense to migrate it to a stable language?

show 1 reply
TonyAlicea10today at 11:24 AM

> It would be inconvenient if maintainability still mattered because their products default to making it worse.

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.

nihsetttoday at 11:48 AM

Zig creator's article seems to have changed? I don't remember the bottom bit being there when I read it a few days ago.

> 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.

show 1 reply
runtime_lenstoday at 9:00 AM

I think two things can be true at once....It was obviously a great marketing story for anthropic but that doesn't automatically mean that engineering work had no value. Companies have always turned interesting technical projects into marketing.

small_modeltoday at 11:24 AM

There is going to be a lot of this kind of thing as AI makes writing manual code optional at best. A project that bans use of agentic coding is going to have a slower development cycle, as Zig is already fairly pedestrian (for said reasons) it's going to become less and less relevant i'm afraid.

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.

Animatstoday at 10:20 AM

Oh, they're converting Bun to unsafe rust. That's easy, but useless. That's the sort of thing c2rust does - transpile to an low level language which is unsafe Rust with a set of functions that unsafely emulate C pointer semantics. You don't need an LLM for that.

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.

luciana1utoday at 12:18 PM

programming language creators have now fully pivoted from 'my language is faster than yours' to 'my corporate criticism is sharper than yours' and honestly it's an upgrade

upmindtoday at 12:16 PM

Andrew Kelley's thoughts on Jared Sumner is insanely savage.

samuelltoday at 9:45 AM

> Anthropic is actively campaigning to end software engineering

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...

alloysmilatoday at 9:26 AM

I remember the uber db migration post and I can't help but wonder if the tone of these conversations would be different for bun if AI wasn't involved.

https://www.uber.com/us/en/blog/postgres-to-mysql-migration/

show 2 replies
jeswintoday at 10:16 AM

Anything that can be written in Rust will be written in Rust.

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.

jeremyjhtoday at 10:31 AM

This paragraph is written by AI. I did not notice it earlier in the piece:

> 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.

throwa356262today at 9:10 AM

I think Anthropic is putting too much time and energy into marketing (and politics) while competitors are catching up on the engineering side.

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...

aavshrtoday at 10:28 AM

I think Zig being a new and a low-resource language (not enough training data) is also one of the reasons Bun decided to use Rust as large language models will simply not be as good no matter how good the model is.

show 1 reply
jonplacketttoday at 9:08 AM

The thing is - is it a self fulfilling prophecy?

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.

pikertoday at 10:13 AM

Wow, it's unsafe Rust? That seems... like the worst of all worlds.

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).

show 3 replies
devinodowdtoday at 10:27 AM

Great Article. I appreciate the amount of detail you went into here to give everyone a fair hearing. Will there be a recording of your talk at the software should work conference next week? Thanks!

witxtoday at 10:54 AM

I'm with Andrew.

It was just a marketing piece. It offered many data and pretty graphics but only that, no way to attest the veracity of it.

onesandofgraintoday at 12:01 PM

AI is still 95% useless. The Zig article is spot on

baqtoday at 10:17 AM

This post is ultimately complaining about a build step consisting of an automatic translation from technically irrelevant language A to technically slightly less, but still substantially irrelevant language B.

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.

ashishbtoday at 9:21 AM

Languages do matter.

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.

show 3 replies
My_Nametoday at 9:23 AM

I think I got all the information I need to be able to judge that article from seeing that the author calls themselves a "Retrofuturist Software Mender".

show 1 reply
Mistletoetoday at 12:09 PM

I can’t imagine working at a company called Oven and expecting it to be a good time.

felixgallotoday at 10:37 AM

People have got to stop falling for exaggerated rage bait.

scotty79today at 10:15 AM

> The Bun code is a mess because of their engineering decisions, including overusing AI agents to write and review everything.

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.

sarmadgulzartoday at 10:42 AM

Writing the blog post took longer than the million line Rust rewrite. That is all someone with a few brain cells needs to understand what’s going on here.

mtlynchtoday at 10:13 AM

One of the things I find so disappointing about Kelley's behavior here is that he falsely accused Jarred Sumner of lying about fuzzing Bun, and then when Sumner showed evidence[0] that they've been fuzzing Bun for months, Kelley just silently edited his post[1] to walk back the accusation and never apologized or admitted he was wrong.

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

[3] https://mastodon.social/@andrewrk/116897155344411469

[4] https://hachyderm.io/@kristoff/116898483283387067

show 1 reply
IshKebabtoday at 12:22 PM

There's so much weaselling in this post. His suggested solution to Zig memory errors is to never dynamically allocate memory? I mean... come on.

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.

brainlesstoday at 9:22 AM

"Anthropic is actively campaigning to end software engineering" - good but are they the only ones? I do not like Anthropic after their recent locking mechanisms. I use opencode with GLM, Mimo, Qwen, and what not. I use Codex as well.

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.

show 2 replies

🔗 View 16 more comments