Zig Creator Calls Spade a Spade, Anthropic Blows Smoke(raymyers.org)
raymyers.org
Zig Creator Calls Spade a Spade, Anthropic Blows Smoke
https://raymyers.org/post/zed-creator-calls-spade-a-spade/
337 comments
They get abandoned because they get generated on a whim.
Sunk cost fallacy can be a feature: if you have spent a lot of blood, sweat, and tears on a project, you are more likely to push it through adversity and the doldrums that inevitably one will encounter. If all it took was one of those momentarily brilliant ideas and a prompt on Claude to produce something, there is no attachment whatsoever to it.
Speaking as the ‘average programmer’, I have dozens of brilliant ideas per day that don’t stand the test of time or scrutiny, and the very few that pass the filter don’t seem that interesting days later, or worth the effort at all.
Ideas have always been cheap. Now, proof of concepts have become as cheap. I don’t care about your Show HN unless you have spent a month on it.
Sunk cost fallacy can be a feature: if you have spent a lot of blood, sweat, and tears on a project, you are more likely to push it through adversity and the doldrums that inevitably one will encounter. If all it took was one of those momentarily brilliant ideas and a prompt on Claude to produce something, there is no attachment whatsoever to it.
Speaking as the ‘average programmer’, I have dozens of brilliant ideas per day that don’t stand the test of time or scrutiny, and the very few that pass the filter don’t seem that interesting days later, or worth the effort at all.
Ideas have always been cheap. Now, proof of concepts have become as cheap. I don’t care about your Show HN unless you have spent a month on it.
A drum I've been banging increasingly often recently is that having friction and time to work ideas over in your mind adds huge amounts of value. Vibe coded projects have this very specific, well, vibe to them where you can clearly see that the lack of time to digest has allowed the person to not challenge their own worst impulses. You can see it in the feature bloat, the lack of depth and polish in core features and the wild asides you tend to talk yourself out of still on display.
thanks for that link, I've thought that friction was helpful but this gives me a word and a concept to look at.
>Ideas have always been cheap. Now, proof of concepts have become as cheap. I don’t care about your Show HN unless you have spent a month on it.
Yes. I'm as pro-AI coding as people come, but this is the part that bugs me too. If you whip something useful up in a weekend, great!
But you don't have to present it like you are building an actual product. It's fine if no one else knows about it. Because the fact is, most people don't care, even before AI. Building for yourself is fine.
Yes. I'm as pro-AI coding as people come, but this is the part that bugs me too. If you whip something useful up in a weekend, great!
But you don't have to present it like you are building an actual product. It's fine if no one else knows about it. Because the fact is, most people don't care, even before AI. Building for yourself is fine.
It’s the same reason why everyone doesn’t wanna read LLM generated blog posts. The agreement used to be generally that you would spend more time writing than I would have to spend reading and when the agreement changes the quality changes as well.
Yeah -- if it wasn't worth your time to write the post, why do I think it should be worth my time to read it?
Writing is thinking. If you don't spend time writing, then you didn't spend time thinking. LLMs don't think. Consequently, if you outsourced your writing to an LLM the resulting artifact was born of a thoughtless process. Instead of engaging your readers in your thought process you're tricking them with a puzzle. Readers will try to understand what you're thinking about (at least the non-passive ones will). This activity is a dead end for LLM output.
Or rather because they are always just of poor quality
If you had a time machine and you could republish a claude generated article about some interesting tech topic to 2010 I'm sure it would get ok engagement.
To me the issue is that everything becomes written in the same style pattern. I don't know why but if I spot it I wince internally and immediately skim the post or just outright stop reading. A large part of it is overexposure. For me it's made browsing the internet quite uncomfortable since it's unavoidable.
I mainly spend my online time in group chats these days.
To me the issue is that everything becomes written in the same style pattern. I don't know why but if I spot it I wince internally and immediately skim the post or just outright stop reading. A large part of it is overexposure. For me it's made browsing the internet quite uncomfortable since it's unavoidable.
I mainly spend my online time in group chats these days.
> ok engagement
That is such a miserably low bar
That is such a miserably low bar
Define “quality”
(I’m pretty sure both you and I would “know it when we see it”, but…)
(I’m pretty sure both you and I would “know it when we see it”, but…)
Cope for being a carbon chauvinist. The medium is not the message (and the folks who try to convince you that it is are loony/charlatans/frauds like Marshall McLuhan). The message is the message.
> It’s the same reason why everyone doesn’t wanna read LLM generated blog posts. The agreement used to be generally that you would spend more time writing than I would have to spend reading and when the agreement changes the quality changes as well.
That's not it at all.
The problem with AI slop is that in general it's not worth reading, because to start off even the author deemed the topic wasn't even worth writing to begin with.
Worst, most AI slop blog spam was obviously not even reviewed by the bloggers who prompted them into existence. This means is also content that even the bloggers themselves felt wasn't worth reading at all.
But somehow they expect us to invest our time reading AI slop?
That's not it at all.
The problem with AI slop is that in general it's not worth reading, because to start off even the author deemed the topic wasn't even worth writing to begin with.
Worst, most AI slop blog spam was obviously not even reviewed by the bloggers who prompted them into existence. This means is also content that even the bloggers themselves felt wasn't worth reading at all.
But somehow they expect us to invest our time reading AI slop?
Think how much LinkedIn slop wasn’t worth reading BEFORE AI; but at least some effort had to be put in. Now none is needed.
I wonder how much they spend on this rewrite, in tokens and $ using commercial pricing
I saw an estimate of around 160k $ somewhere in HN comments about the rewrite.
Maybe those ideas aren’t so brilliant.
> They get abandoned because they get generated on a whim.
I think it's more than that. These greenfield projects are actually things that, up until the inception of LLMs, they were not worth creating.
With AI code assistants, the cost of developing them is lower, but in the end you still end up with a project that no one bothered to create.
I think it's more than that. These greenfield projects are actually things that, up until the inception of LLMs, they were not worth creating.
With AI code assistants, the cost of developing them is lower, but in the end you still end up with a project that no one bothered to create.
Keep in mind logic bug that ai makes are extremely hard and expensive to fix as the clanker needs to parse thousand and thousands of lines of text every prompt while a human tries to explain what it's obviously doing wrong.
I hate ai so much because its so easy to generate quick slop that "appears" functional.
I hate ai so much because its so easy to generate quick slop that "appears" functional.
> Now if that's further migrated to safe Rust, put into production & gathered feedback from lots of users, yes then you have something.
Obviously they have to start somewhere if they want to get to safe rust with a considerable degree of battle testing. So they decided to start with just a transliteration and go from there.
I think the Zig people are really just concerned that maybe Zig itself is a DOA language because it doesn't offer enough over C for any serious use and their flagship project has now abandoned it.
Just search "segfault" on the Zig issue tracker and you'll see why people are starting to be skeptical of the future utility of such a language in the face of something like Rust.
Obviously they have to start somewhere if they want to get to safe rust with a considerable degree of battle testing. So they decided to start with just a transliteration and go from there.
I think the Zig people are really just concerned that maybe Zig itself is a DOA language because it doesn't offer enough over C for any serious use and their flagship project has now abandoned it.
Just search "segfault" on the Zig issue tracker and you'll see why people are starting to be skeptical of the future utility of such a language in the face of something like Rust.
I program C for my day-job.
I see Rust encroaching in proposed transitions. It may even happen. That said, it is a poor match for it compared to something like Zig (or Odin). It's hard to make the new Rust code use existing allocator abstractions (so now you have two systems doling out memory, how do you reliably free composite objects with memory from both? How do they share?) and you increasingly have to either abandon any actual benefits of the borrow-checker, or invest increasingly heavily into sufficiently fat bindings to wrap your existing C/C++ in a way where the borrow-checker can assist you. That's before we consider the complexity of the language - I'd doubt a seasoned C programmer has much trouble deciphering Zig or Odin FFI bindings, but in the case of Rust? Yes, there is real friction.
Also if you really value predictable- and higher performance, being in more in control of memory allocations and cleanup is preferable. This is the direction both Zig and Odin cater to.
If you asked me what solves the most issues without adding too many new liabilities, I'd say Zig (or Odin). It would simply be much, much easier to transition a C codebase to either, and either would bring a much improved stdlib with pluggable allocators capable of leak-detection etc.
I see Rust encroaching in proposed transitions. It may even happen. That said, it is a poor match for it compared to something like Zig (or Odin). It's hard to make the new Rust code use existing allocator abstractions (so now you have two systems doling out memory, how do you reliably free composite objects with memory from both? How do they share?) and you increasingly have to either abandon any actual benefits of the borrow-checker, or invest increasingly heavily into sufficiently fat bindings to wrap your existing C/C++ in a way where the borrow-checker can assist you. That's before we consider the complexity of the language - I'd doubt a seasoned C programmer has much trouble deciphering Zig or Odin FFI bindings, but in the case of Rust? Yes, there is real friction.
Also if you really value predictable- and higher performance, being in more in control of memory allocations and cleanup is preferable. This is the direction both Zig and Odin cater to.
If you asked me what solves the most issues without adding too many new liabilities, I'd say Zig (or Odin). It would simply be much, much easier to transition a C codebase to either, and either would bring a much improved stdlib with pluggable allocators capable of leak-detection etc.
> Just search "segfault" on the Zig issue tracker and you'll see why people are starting to be skeptical of the future utility of such a language in the face of something like Rust.
Zig has 110 open "segfault" issues [1] versus Rust's 175 open "segfault" issues [2]. So, by your logic, Rust is also bad.
edit: I was just trying to point out that the parent's "just search segfault" argument is lazy. Also, Zig is still in beta.
[1] https://codeberg.org/ziglang/zig/issues?state=open&type=all&...
[2] https://github.com/rust-lang/rust/issues?q=is%3Aissue%20stat...
Zig has 110 open "segfault" issues [1] versus Rust's 175 open "segfault" issues [2]. So, by your logic, Rust is also bad.
edit: I was just trying to point out that the parent's "just search segfault" argument is lazy. Also, Zig is still in beta.
[1] https://codeberg.org/ziglang/zig/issues?state=open&type=all&...
[2] https://github.com/rust-lang/rust/issues?q=is%3Aissue%20stat...
Yeah, well, my not-yet-written language has zero segfault issues raised, so it’s clearly superior to both Zig and Rust. I really need to get around to writing it because obviously it’s a much better design.
It's a bad metric, but also Zig didn't migrate all of their issues from GitHub. Run the same count on GitHub and you'll see the full picture
I would say the flagship Zig project is TigerBeetle, not Bun.
If TigerBeetle is the Zig flagship then Zig is untenable for almost any team, because Tiger Style is untenable for almost any team. No, I think that Tiger Style makes Zig mostly unimportant.
On the other hand, as a corporate backer for Zig, TigerBeetle is definitely a big deal.
But in terms of exemplary and copyable projects in the ecosystem I would think something like Ghostty is the safer label for "flagship".
On the other hand, as a corporate backer for Zig, TigerBeetle is definitely a big deal.
But in terms of exemplary and copyable projects in the ecosystem I would think something like Ghostty is the safer label for "flagship".
I think there's a big fallacy in your argument.
"TigerBeetle is successful using Zig and also Tiger Style; therefore any project that wants to use Zig successfully must also use Tiger Style."
This is a generalization error. Just because TigerBeetle uses Tiger Style with Zig does not require anyone else to do so. You yourself cite Ghostty—they aren't using Tiger Style to my knowledge, are they?
Secondary to that, I think your statement, "Tiger Style is untenable for almost any team" is an unfounded assumption. Tiger Style might be amazing for nearly every team if they would just try it—how do you know otherwise?
"TigerBeetle is successful using Zig and also Tiger Style; therefore any project that wants to use Zig successfully must also use Tiger Style."
This is a generalization error. Just because TigerBeetle uses Tiger Style with Zig does not require anyone else to do so. You yourself cite Ghostty—they aren't using Tiger Style to my knowledge, are they?
Secondary to that, I think your statement, "Tiger Style is untenable for almost any team" is an unfounded assumption. Tiger Style might be amazing for nearly every team if they would just try it—how do you know otherwise?
or libghostty
some may argue for ghostty but yeah :)
I used to think there's a good niche for "better C" - and that Zig was the one language angling for that. A language that can be used in the same contexts as C, to do the same things as C code, in very much the same way, but with some modern features, some stronger guarantees and some helpful syntactic sugar? A welcome thing for embedded development.
On the other end, Rust to me felt like "better C++" - outside the embedded niche, aimed at complex multithreaded code that has to combine high performance with not catching on fire because someone fucked up concurrency once again.
But the main issue I had with Rust - that it's frankly a bitch to write, nearing Go levels of awful, only worthwhile if its paradigm is buying you a lot - is diminished if it's an LLM that's doing the bulk of the line to line writing.
And, on the other end, C's warts, footguns and ancient quirks also matter less if you have an LLM plow through it.
So, the niche for Zig does seem to be shrinking. The window for it to establish itself might be genuinely closing now. Which is a shame, because I like the idea of having "better C" a lot. But all of this drama sure isn't helping it gain traction.
On the other end, Rust to me felt like "better C++" - outside the embedded niche, aimed at complex multithreaded code that has to combine high performance with not catching on fire because someone fucked up concurrency once again.
But the main issue I had with Rust - that it's frankly a bitch to write, nearing Go levels of awful, only worthwhile if its paradigm is buying you a lot - is diminished if it's an LLM that's doing the bulk of the line to line writing.
And, on the other end, C's warts, footguns and ancient quirks also matter less if you have an LLM plow through it.
So, the niche for Zig does seem to be shrinking. The window for it to establish itself might be genuinely closing now. Which is a shame, because I like the idea of having "better C" a lot. But all of this drama sure isn't helping it gain traction.
I wouldn’t write Zig off yet. The faster compilation time is a giant moat. Depending on how LLM usage evolves it could be what ends up mattering.
I'm not writing Zig off myself. I would prefer if it succeeded. But the outlook is: not good, in my eyes.
Pre-2022, Zig was doing decently, but not particularly well. It didn't have Rust level of enthusiasts and ambassadors (love them or hate them, they did succeed in driving considerable Rust adoption), it didn't have a major corpo backing it, it had too much API instability to be truly relied on. Picking a stupid fight with Bun/Anthropic and doubling down on it isn't helping with any of that.
I also don't think compilation time makes for a good moat for agentic AI coding? Like, sure, less time wasted = better. But LLMs don't perceive time as humans do. They don't have the human "40 minutes of compile time = a hard forced context switch" quirk. The state of an LLM agent is as "stale" after a 40 minute build as it is after a 40 second build - no attention penalty for getting distracted.
There is a hard "wall clock time" iteration speed penalty, but I expect LLM coding to be more agentic, not less. In which case a single sub-agent stalling might not matter much? The orchestrator AI would just keep doing other things, and come back to the stalled sub-agent when it's ready. Once again: long stalls hurt the worst if they route through human attention. The less human attention there is in the system the cheaper they are.
Pre-2022, Zig was doing decently, but not particularly well. It didn't have Rust level of enthusiasts and ambassadors (love them or hate them, they did succeed in driving considerable Rust adoption), it didn't have a major corpo backing it, it had too much API instability to be truly relied on. Picking a stupid fight with Bun/Anthropic and doubling down on it isn't helping with any of that.
I also don't think compilation time makes for a good moat for agentic AI coding? Like, sure, less time wasted = better. But LLMs don't perceive time as humans do. They don't have the human "40 minutes of compile time = a hard forced context switch" quirk. The state of an LLM agent is as "stale" after a 40 minute build as it is after a 40 second build - no attention penalty for getting distracted.
There is a hard "wall clock time" iteration speed penalty, but I expect LLM coding to be more agentic, not less. In which case a single sub-agent stalling might not matter much? The orchestrator AI would just keep doing other things, and come back to the stalled sub-agent when it's ready. Once again: long stalls hurt the worst if they route through human attention. The less human attention there is in the system the cheaper they are.
A day or two ago someone posted about abandoning Haskell because compilation times had become a bottleneck with Agents. FWIW
also, the fact that you can compile to any target from any target
You write Better C and the first thing I think about is D-lang.
What makes go so awful to write? My impression was that Rust was hard, at least until you understand the borrow checker, and go was pretty easy. (This is my impression from outside, that is, I don't actually use either language.)
A typical comment on Hackernews nowadays:
I used to think that there's a a room for better C -> Some unrelated complains about Rust and Go -> C has footguns, but they don't matter that much because I choose to not write my code myself anymore -> Therefore there's no room for better C.
I used to think that there's a a room for better C -> Some unrelated complains about Rust and Go -> C has footguns, but they don't matter that much because I choose to not write my code myself anymore -> Therefore there's no room for better C.
Yeah, I mean … as a C++ dev I have those same existential “what’s the point” questions about Zig.
> I think the Zig people are really just concerned that maybe Zig itself is a DOA language because it doesn't offer enough over C for any serious use and their flagship project has now abandoned it.
You hit the nail on the head there. Zig is 10 years old now and it’s pretty clear that the industry isn’t biting, compared to the behemoth that is Rust. Between Rust, C, and C++ there is very little room for another language with a woefully incomplete library ecosystem to establish itself.
A true competitor would need to offer genuine extra value, such as dependent types or other formal verification features, to carve out a niche.
You hit the nail on the head there. Zig is 10 years old now and it’s pretty clear that the industry isn’t biting, compared to the behemoth that is Rust. Between Rust, C, and C++ there is very little room for another language with a woefully incomplete library ecosystem to establish itself.
A true competitor would need to offer genuine extra value, such as dependent types or other formal verification features, to carve out a niche.
> it’s pretty clear that the industry isn’t biting
Zig isn't finished yet (they still have not released a v1.0). They're still iterating on the language itself and want the flexibility to make backwards-incompatible changes while they do so.
So in a sense, they have not yet asked anybody in mainstream industry to "bite." After v1.0, when there's an understanding of stability and ongoing language support, industry adoption or lack thereof might become a relevant metric for measuring the project's health. But right now that's not relevant at all.
Zig isn't finished yet (they still have not released a v1.0). They're still iterating on the language itself and want the flexibility to make backwards-incompatible changes while they do so.
So in a sense, they have not yet asked anybody in mainstream industry to "bite." After v1.0, when there's an understanding of stability and ongoing language support, industry adoption or lack thereof might become a relevant metric for measuring the project's health. But right now that's not relevant at all.
Python was invented two years before Java and didn’t move the needle until the mid 2010s.
You are the typical mark for hype cycles. Get a clue will you.
You are the typical mark for hype cycles. Get a clue will you.
Python was being used as a teaching language at flagship universities in the mid 2000s.
Amazing! So was Scheme.
Yeah, I was just commenting on a LinkedIn post[0] (don't hate the player, hate the game :) ). In it, someone talked about the difference between creating software and owning it.
Creating software with AI is super easy--plan, prompt, test, go, go, go!
Owning software means you're responsible for maintaining it over time, fixing edge cases, operating it well, and more.
If you're building a one-off custom webapp to meet your needs, create away. If you're writing software for a business to run on, you're owning it. My fav article on this topic is this post[1] on durable vs disposable software.
0: https://www.linkedin.com/feed/update/urn:li:activity:7482123...
1: https://www.honeycomb.io/blog/disposable-code-is-here-to-sta...
Creating software with AI is super easy--plan, prompt, test, go, go, go!
Owning software means you're responsible for maintaining it over time, fixing edge cases, operating it well, and more.
If you're building a one-off custom webapp to meet your needs, create away. If you're writing software for a business to run on, you're owning it. My fav article on this topic is this post[1] on durable vs disposable software.
0: https://www.linkedin.com/feed/update/urn:li:activity:7482123...
1: https://www.honeycomb.io/blog/disposable-code-is-here-to-sta...
> How is that better than the Zig codebase you started with?
In contrast with the Zig codebase, you now have clear well-scoped unsafe boundaries you can iteratively fix one by one. This was not the case before.
In contrast with the Zig codebase, you now have clear well-scoped unsafe boundaries you can iteratively fix one by one. This was not the case before.
> clear well-scoped unsafe boundaries
This is not done by blindly porting Zig code 1:1 and calling it a day. You do have to make conscious decisions about code architecture to manage Unsafe code, since you need choose the right invariants for your Safe Rust code to conform inside the module (Note that unsafe pollutes the whole module containing it, not just the code inside the unsafe block!)
This is not done by blindly porting Zig code 1:1 and calling it a day. You do have to make conscious decisions about code architecture to manage Unsafe code, since you need choose the right invariants for your Safe Rust code to conform inside the module (Note that unsafe pollutes the whole module containing it, not just the code inside the unsafe block!)
I would go further and say that anyone who doesn't immediately identify this either isn't thinking clearly about this, or is intentionally ignoring it. I have no horse in this race AT ALL and this is _obviously_ the advantage.
> Are Bun users happy with this?
I've gone back to Node.
There was a poll on r/bun with about 2000 votes and only about 30% of users voting they were going to use the Rust version. Can't seem to find it now.
Edit:
The poll was deleted
https://www.reddit.com/r/bun/comments/1u3j4d7/are_you_going_...
I've gone back to Node.
There was a poll on r/bun with about 2000 votes and only about 30% of users voting they were going to use the Rust version. Can't seem to find it now.
Edit:
The poll was deleted
https://www.reddit.com/r/bun/comments/1u3j4d7/are_you_going_...
the rust is merged into main https://github.com/oven-sh/bun
and the rust version has been live in claude code since june 17th.
and the rust version has been live in claude code since june 17th.
I don't even get what they gain by Rust - Bun imports Webkit, which is a C++ project, relying on it for stuff like JITing Javascript. I would say that's a major concern, and making sure the JIT doesn't emit anything broken or naughty is completely outside the scope of Rust.
I think their original post lays out the benefits pretty well. I think the realization of some of these benefits is debatable (for example, they probably could have made their existing Zig code faster), but others are straightforward (like having fewer crashes because more of your code is provably “safe” in Rust terms).
(I think wrapping a large, complex C/C++ codebase is where Rust often shines, if you build the right joiner abstractions. PyO3 is a really great example of that.)
(I think wrapping a large, complex C/C++ codebase is where Rust often shines, if you build the right joiner abstractions. PyO3 is a really great example of that.)
But it’s really the same old problem we’ve seen for decades. Developers write code. Owners declare victory. Owners rid themselves of expensive opex. Owners sell the division or try to keep the project limping along but all they see is vaguaries from the new cheap guy who they keep telling isn’t good enough for a raise, company hemorrhages money and eventually sells for a song.
They’ve just found a way to explore that logical fallacy even faster.
They’ve just found a way to explore that logical fallacy even faster.
> Because value of a project is not in the code produced. It's in the amount of battle-testing that code has seen.
Rel: https://www.joelonsoftware.com/2000/04/06/things-you-should-...
Rel: https://www.joelonsoftware.com/2000/04/06/things-you-should-...
It's funny, but I think the article is showing it's age. It's no longer true.
In hindsight having automated auto complete rewriting your code base wasn't something on 2000's radar.
Now switching from language to language is much easier. Just for Rust, there was Ladybird and Bun complete rewrite.
In hindsight having automated auto complete rewriting your code base wasn't something on 2000's radar.
Now switching from language to language is much easier. Just for Rust, there was Ladybird and Bun complete rewrite.
I guess the Rust rewrite is the exit path of the Bun's author so that the others could "handle" the code base.
I think the mistake people are making currently is that they publicize stuff way too early. I.e. they make a prototype and then put that out there. Possibly with a full product page and all.
People did this also before LLM, but the difference is that now the prototype is a fully functional product in the technical sense whereas before it was little more than a glorified Hello World. The human effort and calendar time used remains roughly the same.
There's gonna be amazing products made with LLM, but it'll take some time. Not as long as it did before, but still significant time.
People did this also before LLM, but the difference is that now the prototype is a fully functional product in the technical sense whereas before it was little more than a glorified Hello World. The human effort and calendar time used remains roughly the same.
There's gonna be amazing products made with LLM, but it'll take some time. Not as long as it did before, but still significant time.
> Because value of a project is not in the code produced. It's in the amount of battle-testing that code has seen.
It is in the marketing. Most software engineers are not skilled at marketing, do not have a large audience, and are not willing to spend money on advertising. It has nothing to do with code quality.
It is in the marketing. Most software engineers are not skilled at marketing, do not have a large audience, and are not willing to spend money on advertising. It has nothing to do with code quality.
"How is that better than the Zig codebase you started with?" - It will be worst, as this will not be idiomatic Rust. That's kind of interesting, BTW, as in next iteration LLM will be trained on tones of crappy code, created as some random rewrites, AI slops, etc., I am curious if someone will be able to curate this or it will be the same process of crapification experienced by Google Search that finally lost the battle with SEO spammers.
I don't think Zig community is triggered, I think only Zig's creator is triggered because he is afraid of people interpreting this as "Zig is unsuitable for X".
I think a lot of people will, but those who do probably weren't the target audience for Zig in the first place?
I think a lot of people will, but those who do probably weren't the target audience for Zig in the first place?
Context matters. Big announcements and uninformed blog posts can kill your momentum.
I still remember the Twitter dev blog where they abandoned Ruby/Rails and the damage that did. It turned out Twitter was doing a lot of stupid things and there was a mismatch of tools and their goals. They loudly blamed the tools and people ate it up because Twitter was big, visible and adored at the time. Their conclusions bypassed most people’s ability to reason.
Anthropic/Bun are big, visible and adored…
I still remember the Twitter dev blog where they abandoned Ruby/Rails and the damage that did. It turned out Twitter was doing a lot of stupid things and there was a mismatch of tools and their goals. They loudly blamed the tools and people ate it up because Twitter was big, visible and adored at the time. Their conclusions bypassed most people’s ability to reason.
Anthropic/Bun are big, visible and adored…
I remember that. It was the first time I heard about Scala.
I saw a lot of RoR companies/users thinking “should we do the same?” without even realizing that they do not have the same twitter scalability problems.
I saw a lot of RoR companies/users thinking “should we do the same?” without even realizing that they do not have the same twitter scalability problems.
It didn't even end there at Twitter.
The same engineer at Twitter decided early on that no distributed messaging technology was good enough for Twitter, so they wrote their own. It fell over and they threw it away and wrote their own again. It fell over and they threw it away and now they use mainstream tools.
The same engineer at Twitter decided early on that no distributed messaging technology was good enough for Twitter, so they wrote their own. It fell over and they threw it away and wrote their own again. It fell over and they threw it away and now they use mainstream tools.
Consequently, certain kind of people, commonly seen in big-cos, will cite Bun's post for some nonsense AI rewrite as a justification in it itself
> How is that better than the Zig codebase you started with?
It's not better, it's worse given the average bear's assumption about a rust project.
It's not better, it's worse given the average bear's assumption about a rust project.
That's such a bad take. You mention some good things they need to do but ignore the part that those are next steps and will take time.
You are acting like they need to complete everything at once...why?
Bun (rust) is not even released as stable yet and getting extensive usage on Claude code. They are making improvements and fixes. So what's the issue here?
You are acting like they need to complete everything at once...why?
Bun (rust) is not even released as stable yet and getting extensive usage on Claude code. They are making improvements and fixes. So what's the issue here?
Totally disagree that the value of a project is it's durability. The value of the project is almost entirely disconnected from durability. Value is simply the ability to solve a problem for you. I'll use a bad screwdriver before I use my fingers, even if I prefer good screwdrivers.
Claude Code was a vibe coded experiment, a "what if", that basically consumed software engineering in six months flat. Not because it's durable (it's not), but because the value it provided was so overwhelming.
People will use bad software if the value it provides is high. People will avoid the most durable and battle-tested software ever written if it doesn't actually provide value (solve a problem for them).
Claude Code was a vibe coded experiment, a "what if", that basically consumed software engineering in six months flat. Not because it's durable (it's not), but because the value it provided was so overwhelming.
People will use bad software if the value it provides is high. People will avoid the most durable and battle-tested software ever written if it doesn't actually provide value (solve a problem for them).
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.
For context, I'm using Codex and have no interest in either Zig or Rust, so just observing this drama from the sidelines.
> 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
Anthropic absolutely is in the programming language market. If/since AI makes rewrites to certain languages relatively easy, a success story will tie the given language(s) to the given AI company.
Rust may have a tremendous success in the future, because it's much easier to write it with AI (ignoring for a moment whether that's really a good thing). The implication is that Anthropic has a stake in Rust's success.
Also, to be kept in mind that devs advertising successfull rewrites often hide some aspects that are unfavorable to the narrative; typically, how bad was the code before the rewrite), although there are other (significant) aspects that have been omitted.
> Zig's response is a sour opinion piece full of personal attacks.
I take you haven't read Andrew Kelley's article (here: https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.ht...).
Summary:
- Jarred has written Bun with very bad engineering standards
- Jarred has managed public relations very poorly (e.g. ghosting the Zig foundation)
- When they rewrote the project to Rust, and described Zig as poor choice, there has been a negative fallout for Zig
- The ZSF is obviously upset because of the poor publicity
This is summarized at the end of the post:
> Zig users who knew next to none of these facts and have only the surface level understanding that an ex-Zig-user is getting trashed by the language creator. Such people might reasonably worry that might happen to them
As a matter of fact, I also believed the same after reading's Bun's post. This is undeserved though, and that's what Kelley explains.
There's definitely a personal attack somewhat, and this is addressed in the last (added later) section.
Anthropic absolutely is in the programming language market. If/since AI makes rewrites to certain languages relatively easy, a success story will tie the given language(s) to the given AI company.
Rust may have a tremendous success in the future, because it's much easier to write it with AI (ignoring for a moment whether that's really a good thing). The implication is that Anthropic has a stake in Rust's success.
Also, to be kept in mind that devs advertising successfull rewrites often hide some aspects that are unfavorable to the narrative; typically, how bad was the code before the rewrite), although there are other (significant) aspects that have been omitted.
> Zig's response is a sour opinion piece full of personal attacks.
I take you haven't read Andrew Kelley's article (here: https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.ht...).
Summary:
- Jarred has written Bun with very bad engineering standards
- Jarred has managed public relations very poorly (e.g. ghosting the Zig foundation)
- When they rewrote the project to Rust, and described Zig as poor choice, there has been a negative fallout for Zig
- The ZSF is obviously upset because of the poor publicity
This is summarized at the end of the post:
> Zig users who knew next to none of these facts and have only the surface level understanding that an ex-Zig-user is getting trashed by the language creator. Such people might reasonably worry that might happen to them
As a matter of fact, I also believed the same after reading's Bun's post. This is undeserved though, and that's what Kelley explains.
There's definitely a personal attack somewhat, and this is addressed in the last (added later) section.
> I also believed the same after reading's Bun's post.
This doesn't even make any sense. The part that you're quoting[0], is Andrew commenting on the fallout from the blog post he made. How could you have thought something about a blog post that hadn't come out yet?
Also, if you are talkinga bout the post Jarred made, it was extremely charitable about zig: "Zig made Bun possible. I would never have been able to build this much in 1 year if it wasn't for Zig."
[0] "The other critical mistake I made with this post was failing to consider the rather obvious and important point that this might affect Zig users who knew next to none of these facts and have only the surface level understanding that an ex-Zig-user is getting trashed by the language creator."
This doesn't even make any sense. The part that you're quoting[0], is Andrew commenting on the fallout from the blog post he made. How could you have thought something about a blog post that hadn't come out yet?
Also, if you are talkinga bout the post Jarred made, it was extremely charitable about zig: "Zig made Bun possible. I would never have been able to build this much in 1 year if it wasn't for Zig."
[0] "The other critical mistake I made with this post was failing to consider the rather obvious and important point that this might affect Zig users who knew next to none of these facts and have only the surface level understanding that an ex-Zig-user is getting trashed by the language creator."
> since AI makes rewrites to certain languages relatively easy
This premise makes no sense. AI makes rewrites to any language easy.
This premise makes no sense. AI makes rewrites to any language easy.
> Rust may have a tremendous success in the future, because it's much easier to write it with AI (ignoring for a moment whether that's really a good thing).
It’s interesting that Rust could become the most deployed but the least written (by humans) programming language if the dreams of AI bros come true.
If AI gets good enough to competently translate other languages to Rust then there is no point writing in Rust (a language with a steep learning curve and is high friction in use), you can just write in a low friction language like C, C++, Odin, Zig, … etc. and have AI translate it to Rust catching all the memory bugs in the process.
It’s interesting that Rust could become the most deployed but the least written (by humans) programming language if the dreams of AI bros come true.
If AI gets good enough to competently translate other languages to Rust then there is no point writing in Rust (a language with a steep learning curve and is high friction in use), you can just write in a low friction language like C, C++, Odin, Zig, … etc. and have AI translate it to Rust catching all the memory bugs in the process.
>Jarred has managed public relations very poorly (e.g. ghosting the Zig foundation)
I actually love the use of ghosting in this post. It is almost a Freudian slip about how Zig looks like from the view of outsiders. Zig moves exactly like how toxic exes do. They point fingers, make passive-aggressive statements, unnecessarily air out dirty laundry, and downplay all of the good their partner has done during the relationship.
I actually love the use of ghosting in this post. It is almost a Freudian slip about how Zig looks like from the view of outsiders. Zig moves exactly like how toxic exes do. They point fingers, make passive-aggressive statements, unnecessarily air out dirty laundry, and downplay all of the good their partner has done during the relationship.
We've read the andrew blog. It is a personal attack a very petty one, you're clearly a biased fan of his and of zig probably if you cannot see the obvious, but we're telling you as outsiders how poorly it reflects on andrew and the future of zig, and this is coming from someone who originally had a very good opinion of zig and andrew, now not so much.
You can choose to ignore that and engage in the massive circlejerk zig fans are engaging in during this or maybe take a second and reconsider
Yeah, exactly. It's weird that Zig even responded to that. Imagining that your studio switched from Unity to Unreal and Unity proceeded to release a hit piece attacking your codebase quality and workplace environment.
But that hit piece would be an answer to the (multi-billion dollar) studio saying how much better the result is after the rewrite to Unreal, except it's not because Unreal is better (which it could be btw, or not, or more probably it depends on the use case), it's because the studio worked hard to make it look better, which they could have done without the rewrite.
Anthropic does this to sell LLM rewrites and make them look better than they actually are, Zig being the source language, they are a collateral victim of that misleading advertisement. Of course it's unfair to them and of course they should highlight this.
Anthropic does this to sell LLM rewrites and make them look better than they actually are, Zig being the source language, they are a collateral victim of that misleading advertisement. Of course it's unfair to them and of course they should highlight this.
Anthropic is massively bigger than a studio, Zig is massively smaller than Unity, and it wasn’t a quiet switch, it was a huge publicity event. It’s more like the #1 movie of the year being “The Profound Joy of Finally Leaving Unity”. Sometimes things are big enough to warrant a response.
It was a pull request and a blog post which HN et al. collectively foamed at the mouth about. You’re acting like Anthropic sunk millions into a marketing campaign.
The entire country is watching companies like Anthropic, openAi, etc.. right now... A pull request and blog post is a big deal.
For what we know, probably around $200,000 to run the rewrite and rewiew it, + whatever was involved in writing the blog post and advertise it.
Well if the whole thing is a marketing ploy and it did cost them millions...
People were for a few weeks commenting why Jarred didn't write that Rust Blog post.
Now he published it, it's a hit piece. Damned if you do, damned if you don't.
Now he published it, it's a hit piece. Damned if you do, damned if you don't.
Well, if your game would be one of very few AAA games written in Unity (actually, the only game written in Unity people reasonably familiar with the subject would be able to name off the top of their heads), things might look different...
It’s not weird considering what we’ve learned through this:
the Zig project is driven by people with fragile emotions and egos who lash out at people personally when they feel threatened.
We’d like Zig to be a project with steady and technically driven leadership like Rust, but Kelley has made clear (many times) it’s more of an egoistic vanity project like Elm, designed to cater to the emotional needs of the BDFL.
We’d like Zig to be a project with steady and technically driven leadership like Rust, but Kelley has made clear (many times) it’s more of an egoistic vanity project like Elm, designed to cater to the emotional needs of the BDFL.
Calling them egoistic is quite a claim - do you have facts to back that claim with?
Andrew Kelley described Github employees as 'monkeys' and 'losers'.
https://news.ycombinator.com/item?id=46065366
https://news.ycombinator.com/item?id=46065366
Yes, I’ll cite “the juicy grapevine” and that should be enough given the evidentiary standards people are setting here.
To me it seems the bun guys are those with fragile emotions (it's just that the more fragile quality of their code is more evident)
Ehr, they weren’t the ones personally attacking others in a public blog post, were they?
> Imagining that your studio switched from Unity to Unreal and Unity proceeded to release a hit piece attacking your workplace environment.
Incredible the different takeaways people get from text content on the internet. I'd say it'd be more like if you moved from Unity to Unreal and then Unity made a blog post saying they were happy about you moving to Unreal, publishing they think it'd be a win-win, then outlining why they think so.
Incredible the different takeaways people get from text content on the internet. I'd say it'd be more like if you moved from Unity to Unreal and then Unity made a blog post saying they were happy about you moving to Unreal, publishing they think it'd be a win-win, then outlining why they think so.
...Unity made a blog post saying they were happy about you moving to Unreal, publishing they think it'd be a win-win, then outlining why they think so
I mean, that makes it all sound very polite and dispassionate, but Andrew's piece was anything but. I have no dog in this fight, I don't use Zig, Rust, Bun or Claude, and initially I thought the bun rewrite sounded like a terrible idea. I changed my mind after reading the piece about the migration - it was very interesting and the process was obviously quite thoughtful. Andrew's piece made me want to take a shower afterwards.
I mean, that makes it all sound very polite and dispassionate, but Andrew's piece was anything but. I have no dog in this fight, I don't use Zig, Rust, Bun or Claude, and initially I thought the bun rewrite sounded like a terrible idea. I changed my mind after reading the piece about the migration - it was very interesting and the process was obviously quite thoughtful. Andrew's piece made me want to take a shower afterwards.
> I have no dog in this fight, I don't use Zig, Rust, Bun or Claude, and initially I thought the bun rewrite sounded like a terrible idea
I'm exactly the same person as you, yet I still think Zig's post wasn't a "hit piece" at all, at least how I understand that term to be. They outlined the history from their point of view, talked about what they didn't like with how Jarred acted and worked, said they were happy about them moving to Rust, then basically said "Good riddance".
Everything is so drama-amplified nowadays, nothing can just be "They're a different person, they work in a way I don't like, but I'm happy they found a better language, good riddance" and that's it, no, instead this is a "hit piece" "trying to assassinate someone's Good Character" and what not... It's so tiring.
I'm exactly the same person as you, yet I still think Zig's post wasn't a "hit piece" at all, at least how I understand that term to be. They outlined the history from their point of view, talked about what they didn't like with how Jarred acted and worked, said they were happy about them moving to Rust, then basically said "Good riddance".
Everything is so drama-amplified nowadays, nothing can just be "They're a different person, they work in a way I don't like, but I'm happy they found a better language, good riddance" and that's it, no, instead this is a "hit piece" "trying to assassinate someone's Good Character" and what not... It's so tiring.
Here are the highlights of the supposed "they work in a way I don't like" disagreement:
> I described him as someone who had strong "beginner energy"
> groomed from a young age into uncritically embracing the Silicon Valley mindset
> Jarred was a stinky manager. Poor communication, unrealistic expectations, low empathy, no experience. Just a total shit show
> We became increasingly horrified at the programming practices we saw in Bun's codebase. Hacks on top of hacks
> Jarred was already writing slop well before he had access to LLMs
> While I resent Jarred for making Bun into an embarassment for Zig
> I described him as someone who had strong "beginner energy"
> groomed from a young age into uncritically embracing the Silicon Valley mindset
> Jarred was a stinky manager. Poor communication, unrealistic expectations, low empathy, no experience. Just a total shit show
> We became increasingly horrified at the programming practices we saw in Bun's codebase. Hacks on top of hacks
> Jarred was already writing slop well before he had access to LLMs
> While I resent Jarred for making Bun into an embarassment for Zig
And what is even the point of saying that Andrew dislikes how Jarred acts and works?
Let's say the supervisor wants you to write a new microservice. Do you refuse to do it because the supervisor smokes cigarettes and you're an anti-smoker? I think that if you have objections, you should refuse only on technical grounds, not personal.
Let's say the supervisor wants you to write a new microservice. Do you refuse to do it because the supervisor smokes cigarettes and you're an anti-smoker? I think that if you have objections, you should refuse only on technical grounds, not personal.
> Incredible the different takeaways people get from text content on the internet
It is incredible isn't it.
"Jarred was already writing slop well before he had access to LLMs"
"The grapevine was large and healthy and full of juicy grapes, and all those grapes contained the juice of the same message: Jarred was a stinky manager. Poor communication, unrealistic expectations, low empathy, no experience. Just a total shit show, from an employment perspective."
"at some point they would sell out (let's be honest, their vague "sell some cloud something" business plan was a farce from the get-go"
"he was essentially groomed from a young age into uncritically embracing the Silicon Valley mindset"
There is more but I'll stop quoting to not end up copying the whole thing.
It is incredible isn't it.
"Jarred was already writing slop well before he had access to LLMs"
"The grapevine was large and healthy and full of juicy grapes, and all those grapes contained the juice of the same message: Jarred was a stinky manager. Poor communication, unrealistic expectations, low empathy, no experience. Just a total shit show, from an employment perspective."
"at some point they would sell out (let's be honest, their vague "sell some cloud something" business plan was a farce from the get-go"
"he was essentially groomed from a young age into uncritically embracing the Silicon Valley mindset"
There is more but I'll stop quoting to not end up copying the whole thing.
> There is more but I'll stop quoting to not end up copying the whole thing.
Yeah, and perhaps also because your point(s) wouldn't make much sense if people ended up reading the whole article, rather than your cherry picks ;)
Yeah, and perhaps also because your point(s) wouldn't make much sense if people ended up reading the whole article, rather than your cherry picks ;)
> I talked to those who interviewed for a job at Oven. I talked to people who worked there. Those people talked to each other. Everybody talked to everybody. The grapevine was large and healthy and full of juicy grapes, and all those grapes contained the juice of the same message: Jarred was a stinky manager. Poor communication, unrealistic expectations, low empathy, no experience. Just a total shit show, from an employment perspective
Yeah, exact words you would expect from someone who is happy about a win-win situation.
Yeah, exact words you would expect from someone who is happy about a win-win situation.
Andrew is bitter (or something related) about this whole situation, that's no question, he writes it in his updated post (he doesn't say "bitter", but he speaks about unprocessed emotions).
People are entitled to their emotions. The question is whether the bitterness is warranted. I think it is.
People are entitled to their emotions. The question is whether the bitterness is warranted. I think it is.
Yes, people are entitled to their emotions, but the ways they behave in public and express their emotions reflects on them in a major way. The Bun blog post focused on the technical reasons to change, and was complimentary about Zig. The Zig blog post was heavy on personal attacks, with some technical claims that the Bun blog post had mostly addressed already. Between the two, the Bun post is a lot more compelling from technical and professional perspectives.
I'll admit to thinking that the Rust crowd often has a toxic atmosphere, but Zig came off as worse in this exchange.
I'll admit to thinking that the Rust crowd often has a toxic atmosphere, but Zig came off as worse in this exchange.
> The Bun blog post focused on the technical reasons to change, and was complimentary about Zig
It seems to, on the surface. It would have been dumb to pass the occasion to look good. But really, the core message is that they are better off with rust after the rewrite, but they are better off because they worked on making the rewrite look better. Work that they could have done in Zig too. Of course when you are the creator of Zig, that may feel quite unfair and you should highlight it.
> The Zig blog post was heavy on personal attacks
I agree this doesn't look good.
> Between the two, the Bun post is a lot more compelling from technical and professional perspectives.
The Bun post is a well polished marketing piece from a trillion dollar company that subtly and misleadingly throws shade at Zig (while looking complimentary on the surface, but make no mistake here), a collateral victim of false advertisement for Anthropic's LLM.
Andrew's post is an emotional response (that didn't target "professionally", it's also not on Zig's blog), written too early that could have done without the personal attacks which are bad and completely get in the way of the important message.
Andrew's post looks immature because of the unprocessed emotions, and he really should stop the personal attacks, they don't bring anything good. Anthropic's post is good looking lies as usual.
It seems to, on the surface. It would have been dumb to pass the occasion to look good. But really, the core message is that they are better off with rust after the rewrite, but they are better off because they worked on making the rewrite look better. Work that they could have done in Zig too. Of course when you are the creator of Zig, that may feel quite unfair and you should highlight it.
> The Zig blog post was heavy on personal attacks
I agree this doesn't look good.
> Between the two, the Bun post is a lot more compelling from technical and professional perspectives.
The Bun post is a well polished marketing piece from a trillion dollar company that subtly and misleadingly throws shade at Zig (while looking complimentary on the surface, but make no mistake here), a collateral victim of false advertisement for Anthropic's LLM.
Andrew's post is an emotional response (that didn't target "professionally", it's also not on Zig's blog), written too early that could have done without the personal attacks which are bad and completely get in the way of the important message.
Andrew's post looks immature because of the unprocessed emotions, and he really should stop the personal attacks, they don't bring anything good. Anthropic's post is good looking lies as usual.
> Of course when you are the creator of Zig, that may feel quite unfair and you should highlight it.
Then highlight that, don't repeatedly insult someone. If Andrew thinks the same kind of ai-assisted improvement would be possible in Zig, and that avoiding the kinds of errors migrating to rust achieved would be possible in Zig, he should demonstrate it. And I don't necessarily mean rewriting all of Bun in "better-zig", but like, if you're going to say "this project is bad because it is badly maintained, not because the language has limitations" then demonstrate something to that effect.
The only technical detail I recall from Andrew's post is that zig has faster compile times, which may well be true but what do I care?
Then highlight that, don't repeatedly insult someone. If Andrew thinks the same kind of ai-assisted improvement would be possible in Zig, and that avoiding the kinds of errors migrating to rust achieved would be possible in Zig, he should demonstrate it. And I don't necessarily mean rewriting all of Bun in "better-zig", but like, if you're going to say "this project is bad because it is badly maintained, not because the language has limitations" then demonstrate something to that effect.
The only technical detail I recall from Andrew's post is that zig has faster compile times, which may well be true but what do I care?
Why not? Sharing your experience with working with people is fine, they're subjective opinions. Does this mean it's slander and/or a hit piece? Seemingly a lot of people would say so, personally I don't think people sharing those sort of experience publicly are doing so out of spite, some of us are just still used to the old-internet where you can share stuff like this in public, without getting piled on for not "thinking/writing the right way" or whatever people are complaining about.
It is in there nature. They (specially zig creator) were so jealous about about vlang getting traction and getting $800/month donations, they made it their core mission to attack vlang and spread hate.
Vlang is a ridiculous project that was entirely driven by hype that should have been easy for all to see straight through. It is ridiculous that it got $800/month with nothing to show for it. I haven't seen any hate spread for it by Zig.
It's the old craftsmen vs industry issue, Andrew comes from the craftsman tradition that prefers all other people developing to also be proud craftsmen.
What Java, JS, Python and C# all did to conquer the industry from a C++ dominance was to provide safety harnesses for less "perfectionist" workers to fumble around without causing a mess, to write C and C++ in an increasingly hostile world we realized you needed a lot of craftsmanship, the performance benefits outdid and kept the latter languages relevant for a long while.
Still, the performance/predictability penalty didn't give way so Rust (and Swift) came into play. They don't have as many unpredictable performance characteristics as the previously "safe" GC languages but still provided more or less the same guarantees (in some ways perhaps even better for Rust).
The brilliance of the Rust ideas did start a bit of a cambrian explosion of languages in that niche, most of them however targeting a bit more of a craftsman position than Rust (that came out of distinct industry needs).
The problem as the article illustrates, in car terms.
If Java,JS,etc are mostly "regular safe cars" and C/C++ a two wheel motorcycle.
Rust is perhaps a rally car (fast but still a car so occupants inside are well protected) whilst Zig really is a quadbike or open wheel cart, not as unsafe as a two wheel bike since you won't slide for the smallest oil/ice patch but flipping over is still dangerous as hell.
And that takes us to the crux, so many developers who love the craft and perfection (and don't live under- or perhaps care of- financial constraints) think that "good careful" developers is all that's needed and don't see dangerous language designs as a problem.
I'm an older developer, and given that I can write "good careful code", but 90% of the time it's also a matter of time and financial constraints so I wouldn't trust mine (or anyone elses for that matter) code written under those "industry" conditions.
I think Zig has a lot of nice perks, but it was obvious from day 1 that it's very much for people that love their hacking freedom over writing code for todays hostile world.
What Java, JS, Python and C# all did to conquer the industry from a C++ dominance was to provide safety harnesses for less "perfectionist" workers to fumble around without causing a mess, to write C and C++ in an increasingly hostile world we realized you needed a lot of craftsmanship, the performance benefits outdid and kept the latter languages relevant for a long while.
Still, the performance/predictability penalty didn't give way so Rust (and Swift) came into play. They don't have as many unpredictable performance characteristics as the previously "safe" GC languages but still provided more or less the same guarantees (in some ways perhaps even better for Rust).
The brilliance of the Rust ideas did start a bit of a cambrian explosion of languages in that niche, most of them however targeting a bit more of a craftsman position than Rust (that came out of distinct industry needs).
The problem as the article illustrates, in car terms.
If Java,JS,etc are mostly "regular safe cars" and C/C++ a two wheel motorcycle.
Rust is perhaps a rally car (fast but still a car so occupants inside are well protected) whilst Zig really is a quadbike or open wheel cart, not as unsafe as a two wheel bike since you won't slide for the smallest oil/ice patch but flipping over is still dangerous as hell.
And that takes us to the crux, so many developers who love the craft and perfection (and don't live under- or perhaps care of- financial constraints) think that "good careful" developers is all that's needed and don't see dangerous language designs as a problem.
I'm an older developer, and given that I can write "good careful code", but 90% of the time it's also a matter of time and financial constraints so I wouldn't trust mine (or anyone elses for that matter) code written under those "industry" conditions.
I think Zig has a lot of nice perks, but it was obvious from day 1 that it's very much for people that love their hacking freedom over writing code for todays hostile world.
All I’ve seen is there is literally no programmer smart and careful enough to never create a use after free or out of bounds read in a sufficiently complex codebase.
The state of computer security has moved on from the old model of just patching bugs when you find them. To now where we need to systematically prevent them from happening to begin with.
The state of computer security has moved on from the old model of just patching bugs when you find them. To now where we need to systematically prevent them from happening to begin with.
I'm a heavy Rust user who doesn't like Zig all that much.
I browsed through the Bun code following Kelly's post, and decided to have Codex replace all my Bun usage with Deno.
I browsed through the Bun code following Kelly's post, and decided to have Codex replace all my Bun usage with Deno.
Care to given an example of the egregious code that led to such a drastic personal shift?
Did you use any specific tools, like ast-grep, or did it manual way?
Yeah I don't understand these myopic takes.
Jarred's post about Bun-Zig-Rust post was technical and polite.
Andrew's post in response was anything but that.
Jarred's post about Bun-Zig-Rust post was technical and polite.
Andrew's post in response was anything but that.
I'm starting to think that a way we can easily filter what's being heavily composed by (SOTA/mainstream) LLMs or not is by how "polite" the public sees their published blog post.
If everyone sees the post as "polite", most of it probably been written by LLMs, as they remove anything that could be seen as "nonpolite" and human. Meanwhile, engineers who just want to publish their own thoughts and feelings on a subject, will be filled with stuff the public sees as "nonpolite", and since those hard edges weren't trimmed before the publishing, we can then assume this is actually a genuine person's thoughts and feelings.
If everyone sees the post as "polite", most of it probably been written by LLMs, as they remove anything that could be seen as "nonpolite" and human. Meanwhile, engineers who just want to publish their own thoughts and feelings on a subject, will be filled with stuff the public sees as "nonpolite", and since those hard edges weren't trimmed before the publishing, we can then assume this is actually a genuine person's thoughts and feelings.
Your post seems pretty polite. Did you have Claude write it for you?
That'd have been fun, wouldn't it? No, I'm too lazy for that, HN gets my raw and unfiltered disgustingly human thoughts and feelings, unfortunately for all of you.
For shits and giggles, I asked Sol xhigh what it thought about my previous comment, giving it a "6.5/10 for politeness", saying "it’s polite in tone, but somewhat provocative and reductive in substance.".
Maybe this filter should also include provocativeness and reductiveness, and if it isn't provocative and reductive enough, surely it's a LLM? ;)
For shits and giggles, I asked Sol xhigh what it thought about my previous comment, giving it a "6.5/10 for politeness", saying "it’s polite in tone, but somewhat provocative and reductive in substance.".
Maybe this filter should also include provocativeness and reductiveness, and if it isn't provocative and reductive enough, surely it's a LLM? ;)
Polite but misleading in a way that makes zig look bad. So of course the response is sour.
> Anthropic is not in the programming language market
Arguing that a product that sells itself as improving programmer productivity by writing the code for you has no stakes in "the programming language market" because it doesn't sell a programming language of its own is impressively shortsighted. Especially when the leader of a programming language has openly stated their dislike of vibecoding, critisized the industry, and the language project itself rejects PRs made with the product being sold.
Arguing that a product that sells itself as improving programmer productivity by writing the code for you has no stakes in "the programming language market" because it doesn't sell a programming language of its own is impressively shortsighted. Especially when the leader of a programming language has openly stated their dislike of vibecoding, critisized the industry, and the language project itself rejects PRs made with the product being sold.
The results improving the end user experience didn’t have much to do with the rewrite. Improvements in binary size and speed could be had with similar efforts on the Zig codebase. They spent extra effort to get those metrics to look good to sell the rewrite.
The memory safety aspects could be discussed. Arguably they could have had equally good memory safety by employing AI, tests and fuzzing (the Zig integrated fuzzer that the Zig team suggested they use, not just the high level fuzzing they were doing)
For this kind of project I do think using Rust is a good idea. At the very least because a project like Bun probably can benefit from a more mature language.
But I also think Andrew’s perspective of this process has been essential to understand what happened here, and though he could have been nicer with his word selection in a couple of places (he doesn’t have the clout of Linus Torvalds to get away with it), what he wrote absolutely needed to be said. I find it annoying that people dismiss it as personal attacks. If being a bad manager is the direct cause of a poor working relationship and bad engineering results, pointing it out is not a personal attacks. It’s essential context for understanding what happened.
The memory safety aspects could be discussed. Arguably they could have had equally good memory safety by employing AI, tests and fuzzing (the Zig integrated fuzzer that the Zig team suggested they use, not just the high level fuzzing they were doing)
For this kind of project I do think using Rust is a good idea. At the very least because a project like Bun probably can benefit from a more mature language.
But I also think Andrew’s perspective of this process has been essential to understand what happened here, and though he could have been nicer with his word selection in a couple of places (he doesn’t have the clout of Linus Torvalds to get away with it), what he wrote absolutely needed to be said. I find it annoying that people dismiss it as personal attacks. If being a bad manager is the direct cause of a poor working relationship and bad engineering results, pointing it out is not a personal attacks. It’s essential context for understanding what happened.
> If being a bad manager is the direct cause of a poor working relationship and bad engineering results, pointing it out is not a personal attacks.
The post did no such thing — it spread rumors and leaned into gossip. There’s no proof or evidence or examples whatsoever offered by Kelley except Jarred’s own public words, which means the post didn’t reveal or expose anything about his management.
The post did no such thing — it spread rumors and leaned into gossip. There’s no proof or evidence or examples whatsoever offered by Kelley except Jarred’s own public words, which means the post didn’t reveal or expose anything about his management.
> Anthropic is not in the programming language market;
No, they're intentionally in all the programming language markets.
No, they're intentionally in all the programming language markets.
Maybe. But they don't particularly care about one programming language over another.
Just like Google might sell ads on (approximately) all the websites, but they don't particularly care which website you visit.
Just like Google might sell ads on (approximately) all the websites, but they don't particularly care which website you visit.
> Maybe. But they don't particularly care about one programming language over another.
Other than JS (which they obviously do prefer), this rewrite would have taken place no matter what programming language was originally used for Bun.
The reason for the rewrite was marketing, not engineering. The justification after the fact can be done no matter what language they were rewriting from.
Zig -> Rust : "We had all these memory errors"
Rust -> Zig : "We had poor iteration due to compile times"
Java -> Anything : "Memory is at a premium when we're trying to run a fleet of agents"
Anything -> JS : "We wanted a single language to optimise our agents for"
You get the idea.
Other than JS (which they obviously do prefer), this rewrite would have taken place no matter what programming language was originally used for Bun.
The reason for the rewrite was marketing, not engineering. The justification after the fact can be done no matter what language they were rewriting from.
Zig -> Rust : "We had all these memory errors"
Rust -> Zig : "We had poor iteration due to compile times"
Java -> Anything : "Memory is at a premium when we're trying to run a fleet of agents"
Anything -> JS : "We wanted a single language to optimise our agents for"
You get the idea.
[deleted]
> Maybe. But they don't particularly care about one programming language over another.
I mean, they did buy a JS runtime, so surely they must care more about JavaScript and TypeScript than other languages, right? Otherwise that move makes 0 sense.
Maybe this part from their marketing post about the acquisition is just a straight up lie I suppose?
> Together, we’ll keep making Bun the best JavaScript runtime for all developers [...]
I mean, they did buy a JS runtime, so surely they must care more about JavaScript and TypeScript than other languages, right? Otherwise that move makes 0 sense.
Maybe this part from their marketing post about the acquisition is just a straight up lie I suppose?
> Together, we’ll keep making Bun the best JavaScript runtime for all developers [...]
Did we read the same Anthropic and Andrew Kelly's posts?
Anthropic's posts were sanctimonious, self-serving, tone-concealed delegitimisation of Zig. Kelly's post was a strategically poor but sincere individual understandably frustrated at this concealed attack, expressing his honest feelings about the situation.
Anthropic's posts were sanctimonious, self-serving, tone-concealed delegitimisation of Zig. Kelly's post was a strategically poor but sincere individual understandably frustrated at this concealed attack, expressing his honest feelings about the situation.
Andrew Kelley mentioned that the rewrite did bring technical improvements, however those were not tied to Rust and could've been made in the Zig codebase.
Yeah and Bun and Zig are not competing in anyway as well. Zig blog post has been updated as well recently btw.
> Zig's response is a sour opinion piece full of personal attacks.
Not sure; it has some elements of personal issues, but they're followed by a rationale from the author.
Honestly, seeing the project lead (Andrew Kelly) take a stand against poor engineering practices without any equivocation makes me more inclined to want to use Zig - their values (in this regard, at least) align with mine.
He also substantiates what many of us are saying to all these "Very Senior Chief Engineer with 40 years experience" who are boasting of 10x productivity: these people aren't reading the code they are generating, and were producing slop even without AI.
Not sure; it has some elements of personal issues, but they're followed by a rationale from the author.
Honestly, seeing the project lead (Andrew Kelly) take a stand against poor engineering practices without any equivocation makes me more inclined to want to use Zig - their values (in this regard, at least) align with mine.
He also substantiates what many of us are saying to all these "Very Senior Chief Engineer with 40 years experience" who are boasting of 10x productivity: these people aren't reading the code they are generating, and were producing slop even without AI.
“improve”? makes me laugh
You mean Anthropic has no agenda on its own? That seems a very biased analysis here. The response by Zig could be flawed (speculation, I have not reached this conclusion yet) but I don't see how this offsets Anthropic wanting to promote its AI slop here in any way, shape or form.
Stating you use Codex does not add any meaningful information to the case.
I think the point of mentioning Codex was that the author of the post has no relationship with Anthropic, even as a user.
It's said to imply they have no bias. But someone using Codex or AI agents heavily already have a bias here, just to be clear. Because the discussion isn't just about bun/anthropic/zig/rust, but also between AIs role in coding. So them touting their use of Codex, while not Claude, can still be a bias, especially in the direction they're trying to absolve themselves from.
It reads as "I don't use Claude Code."
I'm using Arch Linux btw
Meant to imply he's not a Claude fanboi.
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.
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.
> 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.
At least for Rust, part of this is because there is no BDFL, by design. Python has moved away from the BDFL model as well, IIRC. Individual contributors can get mad and write angry personal attacks, but there’s no face of the language like there is with Zig.
At least for Rust, part of this is because there is no BDFL, by design. Python has moved away from the BDFL model as well, IIRC. Individual contributors can get mad and write angry personal attacks, but there’s no face of the language like there is with Zig.
Yes, I think this is a good thing about Rust.
(It’s of course a tradeoff, since Rust moves more slowly than I think a lot of people would prefer.)
(It’s of course a tradeoff, since Rust moves more slowly than I think a lot of people would prefer.)
If you don't intend to write misleading stuff that makes Zig look bad when you leave and if you avoid ghosting the Zig foundation in scheduled meetings you had with them, I suppose you should be good.
I think we can quibble about the Bun post’s factual claims. But I don’t think the post was deceptive or dishonest in its claims. Like most technical writing, it represents a vantage point.
As for ghosting in meetings: sure, that seems bad. I would also be upset if someone did that to me. But you can state that factually without making it into a personal attack. It would even be more convincing.
As for ghosting in meetings: sure, that seems bad. I would also be upset if someone did that to me. But you can state that factually without making it into a personal attack. It would even be more convincing.
> Like most technical writing,
I think you've missed the core thesis of the article. That post _wasn't_ technical writing. It was marketing disguised as technical writing.
I think you've missed the core thesis of the article. That post _wasn't_ technical writing. It was marketing disguised as technical writing.
[deleted]
This is not just a random blog post or technical decision, it’s literally a trillion dollar company’s marketing department deciding to attack and slander Zig.
Insane that people + tokens are slobbering to rush to Clownthropic’s defense when the whole migration and subsequent blog post was just sour grapes about the Zig project’s no slop policy.
And this is a warning shot from Anthropic intended to have a chilling effect, we have tens of billions of dollars at our disposal and if you take any stance we don’t like that undermines our narrative we will fuck with your shit and throw billions of dollars of muscle at rewriting you or trying to make you irrelevant.
Insane that people + tokens are slobbering to rush to Clownthropic’s defense when the whole migration and subsequent blog post was just sour grapes about the Zig project’s no slop policy.
And this is a warning shot from Anthropic intended to have a chilling effect, we have tens of billions of dollars at our disposal and if you take any stance we don’t like that undermines our narrative we will fuck with your shit and throw billions of dollars of muscle at rewriting you or trying to make you irrelevant.
It’s a huge stretch to call Bun’s post slander. It’s a relatively bland technical post with an extremely contextual negative opinion about Zig.
I read both posts, and didn’t leave the Bun one with a negative opinion of Zig. But I did leave the response post with that opinion.
I read both posts, and didn’t leave the Bun one with a negative opinion of Zig. But I did leave the response post with that opinion.
Is it true that Jarred and the Bun team at large engaged in "outright fabrication" in professional business discussions? What do you think of that statement made by Andrew?
It was serious enough that Jarred showed up to post receipts with very little commentary, so as not to distract from the receipts. The charge of professional dishonesty is very strong.
It was serious enough that Jarred showed up to post receipts with very little commentary, so as not to distract from the receipts. The charge of professional dishonesty is very strong.
Of course you'll buy that because it's only half truth and posting little commentary gives him an edge.
See: https://hachyderm.io/@kristoff/116898483283387067
See: https://hachyderm.io/@kristoff/116898483283387067
Who knows? I certainly don’t.
I think there were valid technical and professional criticisms in that post. For example, “Oven’s working culture was poor” is an excellent thing to communicate that I otherwise wouldn’t have any sense about.
At the same time, I also think they were essentially wrapped in an insult sandwich: the post starts with personal swipes against Jarred (who, again, I don’t know) and end with an insult to the reader (who is expected to not believe their lying eyes about all the personal attacks they just read).
I think there were valid technical and professional criticisms in that post. For example, “Oven’s working culture was poor” is an excellent thing to communicate that I otherwise wouldn’t have any sense about.
At the same time, I also think they were essentially wrapped in an insult sandwich: the post starts with personal swipes against Jarred (who, again, I don’t know) and end with an insult to the reader (who is expected to not believe their lying eyes about all the personal attacks they just read).
Yet one is technical and the one you actually got a negative opinion about a programming language supposedly isn't?
I knew it was gonna happen at one point, guess I didn't believe it'd happen so soon, but I still can't believe that nowadays people make choices about what programming language to used based on what semi-celebrity they like the most, and it's all about emotional arguments. What happened and since when is this the way people make technical choices? I feel like I woke up in an alternative universe.
I knew it was gonna happen at one point, guess I didn't believe it'd happen so soon, but I still can't believe that nowadays people make choices about what programming language to used based on what semi-celebrity they like the most, and it's all about emotional arguments. What happened and since when is this the way people make technical choices? I feel like I woke up in an alternative universe.
You are reaching quite a bit, and misrepresenting too.
But it's actually as simple as: Jarred's post was mature and didn't throw shade; Andrew's threw quite a bit of it while insisting it did not.
I and many others don't want to be slandered or trash-talked if we moved away from a language we previously chose. That can and has had actual business impact on projects / companies in the past. So naturally, people will judge you if you cannot be mature when responding to an event that made some splash in the ecosystem.
But it's actually as simple as: Jarred's post was mature and didn't throw shade; Andrew's threw quite a bit of it while insisting it did not.
I and many others don't want to be slandered or trash-talked if we moved away from a language we previously chose. That can and has had actual business impact on projects / companies in the past. So naturally, people will judge you if you cannot be mature when responding to an event that made some splash in the ecosystem.
I didn’t say the other wasn’t technical.
(I also don’t have any opinions about micro-celebrities or whatever else. I don’t know Jarred or Andrew, and I have priors about JavaScript that in any other context would naturally bias me against Bun. But the Zig post’s flaws are, in my opinion, not ignorable.)
(I also don’t have any opinions about micro-celebrities or whatever else. I don’t know Jarred or Andrew, and I have priors about JavaScript that in any other context would naturally bias me against Bun. But the Zig post’s flaws are, in my opinion, not ignorable.)
> I didn’t say the other wasn’t technical.
What was the technical parts of Zig's post that made you leave with a negative opinion of Zig then? Something doesn't add up here.
What was the technical parts of Zig's post that made you leave with a negative opinion of Zig then? Something doesn't add up here.
The technical content of the Andrew’s post didn’t leave me with a negative opinion. To quote my original comment:
> 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.
This is the negative opinion in question.
> 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.
This is the negative opinion in question.
> what semi-celebrity they like the most
The language in question here is maintained by a BDFL, which means that one person has outsized influence on the language, and it's direction.
In this context, I find it reasonable that if someone is ticked off by that BDFL, they might second guess the direction of the language itself. Since the opinions and emotions of that BDFL _will_ end up in the language and it's community.
This is different than some un-associated influencer having an opinion, and using that to choose a language.
The language in question here is maintained by a BDFL, which means that one person has outsized influence on the language, and it's direction.
In this context, I find it reasonable that if someone is ticked off by that BDFL, they might second guess the direction of the language itself. Since the opinions and emotions of that BDFL _will_ end up in the language and it's community.
This is different than some un-associated influencer having an opinion, and using that to choose a language.
> The language in question here is maintained by a BDFL, which means that one person has outsized influence on the language, and it's direction.
Seems like a strange perspective, isn't it expected (and even wanted) that if you have a BDFL, they have the most influence on the language and its direction? That's why they're BDFL, that cannot be outsized, it's perfectly sized for what it's explicitly trying to be, that's the entire point.
> In this context, I find it reasonable that if someone is ticked off by that BDFL, they might second guess the direction of the language itself. Since the opinions and emotions of that BDFL _will_ end up in the language and it's community.
Yeah, I suppose in the new daily reality where we care more about what opinions people hold, rather than what quality, reliability and so on they actually produce, this does make a lot of sense. Personally I never used Linux because of how much I love/despise Torvalds, I've basically never cared about what he thinks, never thought it was important either, as long as Linux continues to work for me.
Seems like a strange perspective, isn't it expected (and even wanted) that if you have a BDFL, they have the most influence on the language and its direction? That's why they're BDFL, that cannot be outsized, it's perfectly sized for what it's explicitly trying to be, that's the entire point.
> In this context, I find it reasonable that if someone is ticked off by that BDFL, they might second guess the direction of the language itself. Since the opinions and emotions of that BDFL _will_ end up in the language and it's community.
Yeah, I suppose in the new daily reality where we care more about what opinions people hold, rather than what quality, reliability and so on they actually produce, this does make a lot of sense. Personally I never used Linux because of how much I love/despise Torvalds, I've basically never cared about what he thinks, never thought it was important either, as long as Linux continues to work for me.
Yet one is technical and the one you actually got a negative opinion about a programming language supposedly isn't?
Yes, on the one hand here's "Structure and Interpretation of Computer Programs" and on the other hand here's my blog "embedding-shape is a stinky slop beginner shit show"
And yet you got a negative opinion of me from the "embedding-shape is a stinky slop hack beginner shit show" post rather than SICP? I feel like I woke up in an alternative universe!
Yes, on the one hand here's "Structure and Interpretation of Computer Programs" and on the other hand here's my blog "embedding-shape is a stinky slop beginner shit show"
And yet you got a negative opinion of me from the "embedding-shape is a stinky slop hack beginner shit show" post rather than SICP? I feel like I woke up in an alternative universe!
It's insane that you think there's any moral problem with using a LLM to rewrite a FOSS software project in another programming language, regardless of whether or not Anthropic employees are doing it. This is the kind of thing that every free software license worthy of the name allows and encourages anyone to do for any reason.
I didnt say that there was a moral or legal problem with rewriting FOSS in another language, I said that Anthropic doing so in this instance was a direct act of hostility aimed at chilling critical discourse about their products and marketing narrative, and I’m shocked at how many people (maybe) are rushing to their defense.
BTW the rhetorical device of misrepresenting what someone else says as something much weaker or incorrect and then arguing with that is usually called “strawmanning”. Just thought I’d point that out to you in case you weren’t conscious that this is what you’re doing.
BTW the rhetorical device of misrepresenting what someone else says as something much weaker or incorrect and then arguing with that is usually called “strawmanning”. Just thought I’d point that out to you in case you weren’t conscious that this is what you’re doing.
Slander? Are you serious?
> We wouldn't have gotten this far if not for Zig, and I'll always be grateful. Until very recently, programming language choice was a one-way decision for a project like Bun.
https://bun.com/blog/bun-in-rust
> We wouldn't have gotten this far if not for Zig, and I'll always be grateful. Until very recently, programming language choice was a one-way decision for a project like Bun.
https://bun.com/blog/bun-in-rust
LtWorf(1)
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.
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.
> But I'm glad he stayed honest to himself instead and didn't have a PR team ghostwrite his thoughts.
If there's one thing I learned in this debacle is "I should spend 1-2 days and send to a close friend before hitting publish on a firey reply." The way Andrew rephrased the closing section is the kind of thing I should publish on the first edit in similar scenarios.
If there's one thing I learned in this debacle is "I should spend 1-2 days and send to a close friend before hitting publish on a firey reply." The way Andrew rephrased the closing section is the kind of thing I should publish on the first edit in similar scenarios.
Unlikely a useful lesson here. If it would have been written as "political correct" version up to the point of not calling Jarred out at all would have missed the core message. The fact that it was written blunt is the reason it went viral.
Viral is not an inherently good thing unless you're an influencer. Not all publicity is good publicity.
I think if the last decade has taught us anything, its that decorum has zero to negative value in public communication. People pay attention to drama, and you need attention to be heard. When the penalty for rudeness is gone, just go for contention.
> penalty for rudeness is gone
I assume Andrew's goal isn't to be a viral influencer but to achieve some type of long term impact or goal. Programmers don't pick languages based on maximal vitriol and if anything do the opposite.
I assume Andrew's goal isn't to be a viral influencer but to achieve some type of long term impact or goal. Programmers don't pick languages based on maximal vitriol and if anything do the opposite.
I also don’t really like his closing section, it has a big “sorry but not sorry” feeling to it.
I read that as him beginning the healing stages. Acknowledging his flaws as soon as he could even if he couldn't change what he already said - because that post did blow up, if he had taken the whole thing down it may have just exacerbated things.
You and me both. Even the top HN reply from Sumner about fuzzing is a psyop[0], and of course it'll work for average audience who doesn't have context because it tells half truth
0: https://hachyderm.io/@kristoff/116898483283387067
0: https://hachyderm.io/@kristoff/116898483283387067
> psyops Dario and co. cooked and delivered
Does that include Claude itself? Half joking aside, my main concern remains that both OpenAI and Anthropic practice this fear mongering as strategy at the executive level because they have to. A corporation is a different beast. Not human, exactly. Not AI either. What happens when a corporation starts being informed by the AI it is building?
If you want a lens into master craft corporate human slung bullshit, read this: https://www.theverge.com/podcast/944138/microsoft-ai-ceo-mus...
In this, not only did the interviewer admit he knew Suleyman had written about the issues he talks about in his rebuttals, he then says he's only asking (the hard question) because the "audience" wants it.
Suleyman's response talks about taking "accountability for the things that we build" and the "types of problems that we choose to work on," it highlights the fundamental flaw in the cloud-rented AI model.
In that ecosystem, "we" means a handful of corporate executives deciding what tools the rest of the world gets to use, how they operate, and what data they extract. All based on the profitability of the corporation. It is the absolute antithesis of a sovereign architecture where execution happens locally and the user dictates the terms of the system.
They are coming for open models. It's time to harden the gates.
Does that include Claude itself? Half joking aside, my main concern remains that both OpenAI and Anthropic practice this fear mongering as strategy at the executive level because they have to. A corporation is a different beast. Not human, exactly. Not AI either. What happens when a corporation starts being informed by the AI it is building?
If you want a lens into master craft corporate human slung bullshit, read this: https://www.theverge.com/podcast/944138/microsoft-ai-ceo-mus...
In this, not only did the interviewer admit he knew Suleyman had written about the issues he talks about in his rebuttals, he then says he's only asking (the hard question) because the "audience" wants it.
Suleyman's response talks about taking "accountability for the things that we build" and the "types of problems that we choose to work on," it highlights the fundamental flaw in the cloud-rented AI model.
In that ecosystem, "we" means a handful of corporate executives deciding what tools the rest of the world gets to use, how they operate, and what data they extract. All based on the profitability of the corporation. It is the absolute antithesis of a sovereign architecture where execution happens locally and the user dictates the terms of the system.
They are coming for open models. It's time to harden the gates.
> psyops Dario and co. cooked and delivered
Does that include Claude itself? Half joking aside, my main concern remains that both OpenAI and Anthropic practice this fear mongering as strategy at the executive level because they have to. A corporation is a different beast. Not human, exactly. Not AI either. What happens when a corporation starts being informed by the AI it is building?
If you want a lens into master craft corporate human slung bullshit, read this: https://www.theverge.com/podcast/944138/microsoft-ai-ceo-mus...
In this, not only did the interviewer admit he knew Suleyman had written about the issues he talks about in his rebuttals, he then says he's only asking (the hard question) because the "audience" wants it.
Suleyman's response talks about taking "accountability for the things that we build" and the "types of problems that we choose to work on," it highlights the fundamental flaw in the cloud-rented AI model.
In that ecosystem, "we" means a handful of corporate executives deciding what tools the rest of the world gets to use, how they operate, and what data they extract. All based on the profitability of the corporation. It is the absolute antithesis of a sovereign architecture where execution happens locally and the user dictates the terms of the system.
They are coming for open models. It's time to harden the gates.
Does that include Claude itself? Half joking aside, my main concern remains that both OpenAI and Anthropic practice this fear mongering as strategy at the executive level because they have to. A corporation is a different beast. Not human, exactly. Not AI either. What happens when a corporation starts being informed by the AI it is building?
If you want a lens into master craft corporate human slung bullshit, read this: https://www.theverge.com/podcast/944138/microsoft-ai-ceo-mus...
In this, not only did the interviewer admit he knew Suleyman had written about the issues he talks about in his rebuttals, he then says he's only asking (the hard question) because the "audience" wants it.
Suleyman's response talks about taking "accountability for the things that we build" and the "types of problems that we choose to work on," it highlights the fundamental flaw in the cloud-rented AI model.
In that ecosystem, "we" means a handful of corporate executives deciding what tools the rest of the world gets to use, how they operate, and what data they extract. All based on the profitability of the corporation. It is the absolute antithesis of a sovereign architecture where execution happens locally and the user dictates the terms of the system.
They are coming for open models. It's time to harden the gates.
It was poorly justified up-front but frankly I did not need the examples to understand Jarred’s frustration.
What I found helpful were his explanation of how the interaction with JavaScript’s garbage collector created unique challenges for Bun. Andrew did not address this point at all. It was also helpful to understand how the test suite covered the new code - many people had assumed the tests were also vibe translated and couldn’t be trusted. Andrew pretends he didn’t understand that tests don’t catch all bugs, which is true of all software including Zig.
To me this whole exchange is mostly the typical “memory unsafe languages lead to time consuming and disruptive defects that can be almost entirely prevented with a choice of programming languages” versus the “git gud and don’t write bugs” response.
Layer on the AI tension, Anthropic’s involvement and Andrew’s classic Linus impersonation and of course its viral.
What I found helpful were his explanation of how the interaction with JavaScript’s garbage collector created unique challenges for Bun. Andrew did not address this point at all. It was also helpful to understand how the test suite covered the new code - many people had assumed the tests were also vibe translated and couldn’t be trusted. Andrew pretends he didn’t understand that tests don’t catch all bugs, which is true of all software including Zig.
To me this whole exchange is mostly the typical “memory unsafe languages lead to time consuming and disruptive defects that can be almost entirely prevented with a choice of programming languages” versus the “git gud and don’t write bugs” response.
Layer on the AI tension, Anthropic’s involvement and Andrew’s classic Linus impersonation and of course its viral.
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.
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.
The facts as presented from the Bun side show a lack of technical merit for the rewrite.
This shouldn't be surprising, because rewrites are bad engineering, in most cases.
The Bun project was started in Zig by someone with a lack of experience using the language, despite the massive scope and complexity, and was effectively a rewrite from another language in the first place.
From the Bun post:
> Bun started as a line-for-line port of esbuild's JavaScript & TypeScript transpiler from Go to Zig.
Then, a few years later, the entire codebase was thrown out to do another rewrite in another language.
What is there to address?
The Bun project was started in Zig by someone with a lack of experience using the language, despite the massive scope and complexity, and was effectively a rewrite from another language in the first place.
From the Bun post:
> Bun started as a line-for-line port of esbuild's JavaScript & TypeScript transpiler from Go to Zig.
Then, a few years later, the entire codebase was thrown out to do another rewrite in another language.
What is there to address?
Andrew essentially wrote that “bun code was bad anyway”.
And also he implied he doesn’t even want to engage with anything relating to this since Jarred is toxic and there is no value in the debate.
I think these points are fairly clear from his blog post
And also he implied he doesn’t even want to engage with anything relating to this since Jarred is toxic and there is no value in the debate.
I think these points are fairly clear from his blog post
> What I have been missing in all this debate is substance.
That’s strange because in this (and Andrew’s in lesser extent) post there’s plenty of substance on both technical, management and corporate influences like the difference of styles guides vs agent instructions, binary size, compile time, Anthropic’s marketing and incentives, etc. It’s hard to miss.
That’s strange because in this (and Andrew’s in lesser extent) post there’s plenty of substance on both technical, management and corporate influences like the difference of styles guides vs agent instructions, binary size, compile time, Anthropic’s marketing and incentives, etc. It’s hard to miss.
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.
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.
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.
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.
>very actual technical substance
Did we read the same article? I mean it wasn't talking about a specific line of code, but it had deep architecture details, rational for memory safety and bugs, agentic coding patterns for scale. It was full of substance, multiple times.
Did we read the same article? I mean it wasn't talking about a specific line of code, but it had deep architecture details, rational for memory safety and bugs, agentic coding patterns for scale. It was full of substance, multiple times.
I could point to the same examples this article refers to: the Bun blog post says "Having a rigid style guide [in Zig] with clear ownership expectations explicitly spelled out in the type system was a real option for Bun" and presents no technical reason why they didn't choose (or even TRY) that. They handwave it with "This is and ergonomic than the Zig we expect".
Why was it in their own words a real option? And why did they not go for it? This is the technical substance I'm looking for: an engineer explaining what options have been considered and what wanted and unwanted tradeoffs they present.
Also only mentioning figures for the platforms that saw an improvement is sketchy. "With ICU and code folding Windows and Linux get 20% smaller", what about macOS? Why did it not see the same gains? The fact that they don't mention it makes me think that they don't KNOW, and isn't confidence inspiring coming from the engineer who SHOULD know.
Why was it in their own words a real option? And why did they not go for it? This is the technical substance I'm looking for: an engineer explaining what options have been considered and what wanted and unwanted tradeoffs they present.
Also only mentioning figures for the platforms that saw an improvement is sketchy. "With ICU and code folding Windows and Linux get 20% smaller", what about macOS? Why did it not see the same gains? The fact that they don't mention it makes me think that they don't KNOW, and isn't confidence inspiring coming from the engineer who SHOULD know.
Every blog post has infinite things it does not mention.
"Technical substance" simply requires that some technically substantive things are mentioned. Which was indeed the case.
"Technical substance" simply requires that some technically substantive things are mentioned. Which was indeed the case.
Not about the things that matter.
If you write a blog post about "I switched from X to Y", I expect the WHY: the pros and cons of X, of Y, and of the alternatives that were considered and dismissed before considering Y.
This is more a blog post about how to use Fable to switch from X to Y, than it is about X or Y.
If you write a blog post about "I switched from X to Y", I expect the WHY: the pros and cons of X, of Y, and of the alternatives that were considered and dismissed before considering Y.
This is more a blog post about how to use Fable to switch from X to Y, than it is about X or Y.
> 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.
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.
I don’t understand why anyone thinks management of any kind was involved in this at all. It seems much more plausible to me that Jarred just does what he wants. He has said as much.
Sarcasm hat on - You know what, if LLMs were so infallible at coding and engineers useless for hands-on, then why even bother with anything except asm or even skip the mnemonics completely and go straight for the binary? Why even bother with abstract code when abstraction is now your LLM.
Because underneath the code you have more than one architecture to support.
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.
I'm trying to not let this affect my thoughts about Zig as a language but it's hard.
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?
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?
I’m not entirely convinced I’m more productive than last summer where I wrote 20% of the code and far dumber / cheaper agents stamped out the patterns I established.
I will concede agents make me more productive. But we might have hit diminishing returns a year ago.
There’s even evidence from Anthropic working in tutor mode might be about as productive as going AI maximalist, but leaving you with higher human system understanding.
Maybe we bit the obvious patterns long ago? And everyone is just now chasing trends and signaling their AI bonafides by refusing to ever look at a line of code again?
I will concede agents make me more productive. But we might have hit diminishing returns a year ago.
There’s even evidence from Anthropic working in tutor mode might be about as productive as going AI maximalist, but leaving you with higher human system understanding.
Maybe we bit the obvious patterns long ago? And everyone is just now chasing trends and signaling their AI bonafides by refusing to ever look at a line of code again?
> 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.
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.
Funding and owning something makes you accountable yes, that's how it works normally.
Also pushing it for marketing purposes and giving free preview to Fable might contribute something.
Inconceivable
| 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.
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.
In this whole discussion of what can be done with AI, I think a lot of people are missing the distinction between:
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.
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.
> 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.
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.
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.
Instead, the first half of it solely consists of personal attacks.
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.
Nobody and nothing is fluent is "web tech"!
web tech - HTML, CSS, JS, and based/derived frameworks
Yes, but your reply has now also recharacterized my original comment. I wasn't being pedantic.
I was saying that LLMs even worse at writing for the web than humans, and humans are pretty bad! I'm saying this as a web developer.
I was saying that LLMs even worse at writing for the web than humans, and humans are pretty bad! I'm saying this as a web developer.
oh, it is subjective and depends on use cases, for most of my use cases in web dev , it did work really good
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.
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 on the same page with you that their AI stance is probably harmful for them -- but I think they wrote those as a reaction to the contributions from Bun and others. So your implied timeline is not entirely correct.
Nobody should feel insulted simply because a project decides to port its codebase to another language. It is a technical decision, not a personal attack.
Zig’s response has been a serious mistake. The TypeScript team ported the TypeScript compiler and language service from TypeScript to Go for TypeScript 7.0. Did anyone interpret that as the team insulting TypeScript itself? I certainly did not.
Zig’s response has been a serious mistake. The TypeScript team ported the TypeScript compiler and language service from TypeScript to Go for TypeScript 7.0. Did anyone interpret that as the team insulting TypeScript itself? I certainly did not.
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?
> but do people blindly trust them
Judging from internet posts and HN comments, many do.
Judging from internet posts and HN comments, many do.
Then that's their own fault. Nothing to do with Anthropic, it could have been any other company putting out marketing material and people blindly trust them.
I don’t understand the distinction you’re trying to make.
Yes, “it could have been any other company”, but it wasn’t, it was this one. Had it been any other company, we’d be talking about that other company; because it was this one, we’re talking about this one.
Yes, “it could have been any other company”, but it wasn’t, it was this one. Had it been any other company, we’d be talking about that other company; because it was this one, we’re talking about this one.
My point is that the article starts with
> Anthropic is actively campaigning to end software engineering
But that's true only if one believe what they are putting out blindly. Why not just call it a bluff and move on rather than making a mountain out of molehill
But that's true only if one believe what they are putting out blindly. Why not just call it a bluff and move on rather than making a mountain out of molehill
Because you can’t simply shrug and expect everyone to do what you think they should do.
It's a big precisely because so many people are blindly trusting AI company marketing. It blows my mind how many people, especially here on once-subversive hacker news, are not just swallowing the marketing but they are doing the marketing for these companies for free. That's why it needs to be talked about!
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
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 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.
Great article.
Makes me glad I still write C!
Makes me glad I still write C!
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.
> 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.
> 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.
Yes, Andrew edited it. Diff here: https://github.com/andrewrk/andrewkelley.me/commit/8b86ac915...
Yes, Andrew edited it. Diff here: https://github.com/andrewrk/andrewkelley.me/commit/8b86ac915...
"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!
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!
Anthropic isn't selling that, that's the point. Anthropic is selling "coding is solved", worth $1tn.
If they keep hiring developers and LLMs need huge procedural harnesses, then the hypocrisy is open for all to see. And worse for them, it probably means their business model is worth maybe 5-10x what Jetbrains is worth, not $1tn.
If they keep hiring developers and LLMs need huge procedural harnesses, then the hypocrisy is open for all to see. And worse for them, it probably means their business model is worth maybe 5-10x what Jetbrains is worth, not $1tn.
I agree that "coding" isn't solved but LLMs needing a harness is not necessarily a huge hit on AI
As for valuation, it's all a grift, always has been for anything hip in tech. SpaceX should've been in the $500b range and they have an actual rocket and working satellite constellations
As for valuation, it's all a grift, always has been for anything hip in tech. SpaceX should've been in the $500b range and they have an actual rocket and working satellite constellations
LLMs needing harnesses is a hit on AI because it means LLMs can't be extended a lot (or indefinitely as AI boosters hope). We're back to (enhanced) expert systems from the 80s and nobody is excited about those.
And regarding SpaceX, SpaceX even without xAI didn't make a ton of money and it's business initiatives are super long horizon things. Moon bases won't be profitable for at least 10 years and Mars bases probably for 20+.
Also, even though they are behind, competition is moving. China caught their first rocket yesterday (and we know they can move fast), BlueOrigin is behind but they have the money to keep going. The EU and India will keep investing and developing as rockets are a core concern for both, at some point they will have reusable rockets.
These huge valuations for SpaceX are predicated on winner takes all mechanics, which are mostly software based. Many markets don't work like that since the cost to get another unit of revenue increases linearly with that unit. Not like software where extra copies and customers are basically free.
And regarding SpaceX, SpaceX even without xAI didn't make a ton of money and it's business initiatives are super long horizon things. Moon bases won't be profitable for at least 10 years and Mars bases probably for 20+.
Also, even though they are behind, competition is moving. China caught their first rocket yesterday (and we know they can move fast), BlueOrigin is behind but they have the money to keep going. The EU and India will keep investing and developing as rockets are a core concern for both, at some point they will have reusable rockets.
These huge valuations for SpaceX are predicated on winner takes all mechanics, which are mostly software based. Many markets don't work like that since the cost to get another unit of revenue increases linearly with that unit. Not like software where extra copies and customers are basically free.
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.
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.
> 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...
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...
Related:
My thoughts on the Bun Rust rewrite
https://news.ycombinator.com/item?id=48843352
Rewriting Bun in Rust
https://news.ycombinator.com/item?id=48837877
My thoughts on the Bun Rust rewrite
https://news.ycombinator.com/item?id=48843352
Rewriting Bun in Rust
https://news.ycombinator.com/item?id=48837877
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/
https://www.uber.com/us/en/blog/postgres-to-mysql-migration/
> 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.
Another point of view is that, if AI wasn't available, pre-port Bun wouldn't have been such a total mess that even Fable couldn't unfuck it.
IOW, the Bun codebase was being vibed well before the port; if AI was not available, would Bun have been in such a poor state that a rewrite was even necessary?
Another point of view is that, if AI wasn't available, pre-port Bun wouldn't have been such a total mess that even Fable couldn't unfuck it.
IOW, the Bun codebase was being vibed well before the port; if AI was not available, would Bun have been in such a poor state that a rewrite was even necessary?
The AI panic has infiltrated the space now, and it’s just as bad as the AI hype. Half formed ideas, emotional posts with personal attacks and arrogant language, exaggerated claims, posturing, etc.
In the meantime, most of us are just using whatever tools are at our disposal and minding our own business.
In the meantime, most of us are just using whatever tools are at our disposal and minding our own business.
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!
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.
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.
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.
> 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.
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...
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...
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
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.
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.
I love how many people are tech prophets now
Do think the majority of SWEs will be hand cranking out code like it's 1999 in a few years?
No, because nobody has been coding the same way since 1999. But that has nothing to do with LLMs
Andrew Kelley's thoughts on Jared Sumner is insanely savage.
Why does it feel like most comments here haven't actually read Myers' post and are just giving their opinion on the drama?
AI is still 95% useless.
The Zig article is spot on
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.
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.
Well, I see LLM coding capabilities as a great enabler for people who have some codeing-like skills or needs, but were not sufficiently skilled to do something more complicated. Think of people who are good at Excel, who use statistical tools like SAS, SPSS, other analytical software. Now they can ask LLM to create a Pandas/SAS lang script and do much more advanced stuff.
People who were in the marketing data analysis (like sentiment analysis) - 5 minutes and they have a code that uses Hugging Face model suited for sentiment analysis, zero-shot classification, etc. No need to pay for expensive online services or expensive NLP software. It's here for free or $20 a month.
Still, it does not mean you will be able to code database engine with LLM, application server, rewrite Django in Rust, etc. So software engineers still will be needed to do ambitious, complicated stuff.
So, I kind of see it backwards, real skills, like knowing algorithms, understanding performance (including hardware stuff like processor caches, etc.) will become needed, as other, simpler jobs that needed only a "coding monkey" will be gone.
We no longer need to dig ditches manually, we have machines for that, but the purpose of the ditches is still planned by man.
People who were in the marketing data analysis (like sentiment analysis) - 5 minutes and they have a code that uses Hugging Face model suited for sentiment analysis, zero-shot classification, etc. No need to pay for expensive online services or expensive NLP software. It's here for free or $20 a month.
Still, it does not mean you will be able to code database engine with LLM, application server, rewrite Django in Rust, etc. So software engineers still will be needed to do ambitious, complicated stuff.
So, I kind of see it backwards, real skills, like knowing algorithms, understanding performance (including hardware stuff like processor caches, etc.) will become needed, as other, simpler jobs that needed only a "coding monkey" will be gone.
We no longer need to dig ditches manually, we have machines for that, but the purpose of the ditches is still planned by man.
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.
My experience was that LLMs performed at Zig and Rust at about the same level? That is: worse than at something like JS or C or Python, but well enough to write code that works. And they only got better since I first tried them.
Intuitively, Rust would perform worse because ownership is a different paradigm, while Zig is far more similar to things like C/C++. But I guess that's canceled out by the disparity in the language resource base.
Intuitively, Rust would perform worse because ownership is a different paradigm, while Zig is far more similar to things like C/C++. But I guess that's canceled out by the disparity in the language resource base.
"Anthropic/Bun story: Bun tried everything reasonable, and was still overwhelmed by memory bugs because Zig wasn’t up to the task.” I’ve never seen anyone shift the blame to a language so self-righteously for being unable to handle memory management before.
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.
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.
I think Odin's batteries included approach have a chance to achieve escape velocity.
Specially if their community and their BDFL continues to be welcoming and fun to interact with.
Their 1.0 roadmap announcement is cool: https://youtu.be/dLPAqXi9In0
Here's most of the language in a single demo file: https://odin-lang.org/docs/demo/
Specially if their community and their BDFL continues to be welcoming and fun to interact with.
Their 1.0 roadmap announcement is cool: https://youtu.be/dLPAqXi9In0
Here's most of the language in a single demo file: https://odin-lang.org/docs/demo/
Keeping it to the most mainstream, Java is a mighty fine choice as well, with even better options for third-party packages, tooling, integrations, and telemetry than most of the above.
Forgetting the JVM when it provides absurdly good performance and more packages than pretty much all three of these languages combined is certainly a choice. Even Java and all its verbosity gets fixed by not having to write it manually. Kotlin is also a very viable option. Scala if you're a bit crazy.
Most of the people I've encountered that use Java are working on enterprise codebases that are a couple decades old at this point. And I'm totally unfamiliar, but I thought Kotlin was vaguely "Java for Android" - other than existing packages, are there other reasons to choose languages focused on the JVM?
I can’t imagine working at a company called Oven and expecting it to be a good time.
The TL; DR of the accusation
They got in over their heads with agentic coding. The codebase became unstable. So they did a rust rewrite as a kind of stunt. Maybe to just having to avoid reading / writing code.
They got in over their heads with agentic coding. The codebase became unstable. So they did a rust rewrite as a kind of stunt. Maybe to just having to avoid reading / writing code.
People have got to stop falling for exaggerated rage bait.
But, but, how do we get to experience emotions otherwise? We have no life!
> 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.
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.
"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.
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.
I’m puzzled by how many people seem to be convinced (deluded?) into believing that their productivity has been multiplied and costs have become fractional to build things, why don’t I see any of that productivity gain or cost reduction out in the world? What has become cheaper or better engineered? If you believe posts like thsi, we should be living in a golden age of prosperity, when it seems that aside from getting better lots of products and companies seem to just be getting worse? Like seriously, to a normal person, putting aside from the benefits of using LLM’s directly for the LLM user, what things in the world have gotten better thanks to this abundance and oversupply of “intelligence” that is supposedly mutiplying people’s productivity?
A lot of those products are from big companies who seem to be struggling the most. Software does not solve bureaucracy. As an indie engineer, I have absolutely no doubt what I am doing myself.
But that change does not mean my products will become popular. That is a lot beyond software. Also, the tooling is just barely 1.5 years old and people are already asking for world-changing results. All the while totally ignoring what indies are saying.
But that change does not mean my products will become popular. That is a lot beyond software. Also, the tooling is just barely 1.5 years old and people are already asking for world-changing results. All the while totally ignoring what indies are saying.
I kind of disagree that asking for world changing results is setting the bar too high, people’s claims about their personal experience are that the world changing results are already here, productivity has been multiplied and costs have been reduced by some factor, and AFAICT everyone is using these tools, with many reporting a similar experience.
The fact that people’s personal experience using the tool don’t cohere with the impact the tool has had in the world to me doesn’t suggest a slippage between how long it takes for productivity multipliers to be felt, it suggests that these tools might actually be better at delivering the perception to the user (and where relevant, the user’s manager) of increased productivity while real productivity gains are lower, or maybe zero, or maybe negative in some cases.
The fact that people’s personal experience using the tool don’t cohere with the impact the tool has had in the world to me doesn’t suggest a slippage between how long it takes for productivity multipliers to be felt, it suggests that these tools might actually be better at delivering the perception to the user (and where relevant, the user’s manager) of increased productivity while real productivity gains are lower, or maybe zero, or maybe negative in some cases.
The key word is "already". I myself absolutely expect world changing results. But that will need time. I can only say what I know. My own experiments in building nocodo, a coding agent are 12-13 years old. Pre-LLM. I used template based code generation and related ideas. Template processors and what not. nocodo.com is with me since 2013 maybe, you can verify.
I am a software engineer, most of my experiments are on GitHub. I would not have ventured into building the UI framework before LLMs.
And this is what bothers me - people are not looking at the generated software. Indies like us are experimenting like crazy. I live far outside the tech scene, in a small Himalayan village. But I resonate so much with the experiments, the methods, harness engineering and so many other topics. I see the benefits in how ambitious my projects are becoming.
I teach an online course on coding agents as a co-mentor. 600 young professionals join each month for a 2 week course. The joy of people, who did not know much technology, when they create a simple project management software by just typing English does not lie.
We used to write software in a very different manner. The entire mental paradigm has shifted. Many of my friends and acquaintances are on the fence, still! Some are internally giving up - unable to cope with this change. But the change is happening - the tooling is only going to get better.
Give it time. That is the opinion I hold.
I am a software engineer, most of my experiments are on GitHub. I would not have ventured into building the UI framework before LLMs.
And this is what bothers me - people are not looking at the generated software. Indies like us are experimenting like crazy. I live far outside the tech scene, in a small Himalayan village. But I resonate so much with the experiments, the methods, harness engineering and so many other topics. I see the benefits in how ambitious my projects are becoming.
I teach an online course on coding agents as a co-mentor. 600 young professionals join each month for a 2 week course. The joy of people, who did not know much technology, when they create a simple project management software by just typing English does not lie.
We used to write software in a very different manner. The entire mental paradigm has shifted. Many of my friends and acquaintances are on the fence, still! Some are internally giving up - unable to cope with this change. But the change is happening - the tooling is only going to get better.
Give it time. That is the opinion I hold.
Interesting! I am curious to ask someone who has been working on no-code tools for so long: I've been reading about no code platforms from the 1990s, and how all of those ended up failing. The reason I've seen cited most is that the tools/platforms did not allow for enough variability to do the jobs that people wanted (without becoming a full programming language themselves). What do you think about that in the context of the past ten years, pre- and post-LLMs?
And what do you think about coding agents in the next few years? Will we see a variation in agent capabilities? E.g. a company makes and distributes a specialized coding agent for CSS, or even serving up a kind of library that's language-agnostic, since they seem to be best at translation rather than creation?
And what do you think about coding agents in the next few years? Will we see a variation in agent capabilities? E.g. a company makes and distributes a specialized coding agent for CSS, or even serving up a kind of library that's language-agnostic, since they seem to be best at translation rather than creation?
> it suggests that these tools might actually be better at delivering the perception to the user of increased productivity while real productivity gains are lower, or maybe zero, or maybe negative in some cases.
Or that the gains are in niche applications (like the GP's) that don't translate at scale.
Or that the gains are in niche applications (like the GP's) that don't translate at scale.
> Like seriously, to a normal person, putting aside from the benefits of using LLM’s directly for the LLM user, what things in the world have gotten better thanks to this abundance and oversupply of “intelligence” that is supposedly mutiplying people’s productivity?
For the normal person, they now have more choice. To businesses it is an even more fierce competition. There is an illusion of productivity since everyone using LLMs can’t stop because their competitor is also moving faster with LLMs.
So everyone is so “productive” in “building” anything at the third of the cost, it also means that even the customers that the builders are selling to are also building their own solution themselves.
Customers turn into competitors faster and those in pure software are now making even less money. Except for companies in frontier AI, infrastructure and hardware.
For the normal person, they now have more choice. To businesses it is an even more fierce competition. There is an illusion of productivity since everyone using LLMs can’t stop because their competitor is also moving faster with LLMs.
So everyone is so “productive” in “building” anything at the third of the cost, it also means that even the customers that the builders are selling to are also building their own solution themselves.
Customers turn into competitors faster and those in pure software are now making even less money. Except for companies in frontier AI, infrastructure and hardware.
You have a very fitting username
I am not sure if you mean good, bad or ugly but yeah this username is perhaps with me since 1998. I used to hang around in MIT, Stanford and many other Uni IRC rooms. I was this odd username from a far away city. Tim Berners-Lee once asked me about the real person behind the username. I almost shat my pants but somehow I answered.
I am sure you have a great story for your username and the blank HN profile too.
I am sure you have a great story for your username and the blank HN profile too.
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.
It was just a marketing piece. It offered many data and pretty graphics but only that, no way to attest the veracity of it.
[deleted]
Agreed. The outrage around what Andrew said was performative and melodramatic. I remember the "no work-life balance if you work here" thing, and then I remember Bun's CEO last year complaining he might not be able to get H1Bs anymore...
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.
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.
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
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
> 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
If you read the post again this sentence is not removed and Sumner did not refute that
If you read the post again this sentence is not removed and Sumner did not refute that
Right, that part is not in dispute.
If Sumner says today, "We do X," then Kelley can say, "Nine months ago, Sumner did not do X," and both can be correct. What Kelley can't do is say, "It's an outright fabrication that Sumner does X today," based on an observation from nine months ago.
If Sumner says today, "We do X," then Kelley can say, "Nine months ago, Sumner did not do X," and both can be correct. What Kelley can't do is say, "It's an outright fabrication that Sumner does X today," based on an observation from nine months ago.
Anyone still be able to trust Bun? It looks like piece of garbage to me.
Doesn’t even offer much compared to node or deno.
An excellent analysis. So the Bun rewrite story is full of contradictions, irrationality, and bullshit. Not that that's really a surprise at this point.
hey, does anyone remember when Slack wanted to replace email?
> The hearsay is essentially repeating what was announced publicly. Their job listing might as well have said, “now seeking applicants for total shit show”. It’s bad form for us to say this out loud.
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.
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.
To me it seems as if the AI corporations declared war
on software engineers in general. I understand that
many software engineers have already been addicted
to e. g. claude (look at github, you see tons of
"co-authored" rubbishness here) but to me it is clear
that the AI corporations also work against the humans
here - this example of the creator of the zig language
(which I don't use myself, as I dislike several
design choices made) being harassed by Anthropic shows
this clearly as well.
So much drama between all these completely irrelevant actors circling the drain.
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.
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.
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.
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.
Nice write-up!
Yeah, but argumenting that "Bun codebase is a mess" is anti-Zig in itself.
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.
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.
> The whole point of the borrow checker is to make it impossible to write wrong code.
> In 2026 we need guarantees that we can't produce invalid code.
Rust doesn't provide either of those guarantees.
If I were to rephrase your sentiment for accuracy: Rust disallows certain coding patterns. Certain classes of bugs can only appear in those coding patterns.
IOW, Rust disallows $FOO which is a superset of "specific class of errors". This means that while Rust prevents specific bugs, as a side-effect it will also prevent some correct code.
> In 2026 we need guarantees that we can't produce invalid code.
Rust doesn't provide either of those guarantees.
If I were to rephrase your sentiment for accuracy: Rust disallows certain coding patterns. Certain classes of bugs can only appear in those coding patterns.
IOW, Rust disallows $FOO which is a superset of "specific class of errors". This means that while Rust prevents specific bugs, as a side-effect it will also prevent some correct code.
Yes, the usual protective gear still doesn't provide 100% safety, why wear it kind of attitude in many construction sites.
Very true. Rust prevents some good code as well.
Also it doesn't guarantee that the code is always 100% correct.
But I think this is the correct direction of programming language evolution.
Also it doesn't guarantee that the code is always 100% correct.
But I think this is the correct direction of programming language evolution.
The borrow checker is a good tool (and it makes Rust objectively better than Zig to me), but it unfortunately doesn't prevent writing bad code
An issue with Bun is that it interfaces with a C++ JS engine and it needs unsafe. In this case, the best practice is to write a safe binding to encapsulate this external dependency (that's why in Rust we have -sys crates with raw unsafe bindings, and other crates with a safe interface on top), and then write your business logic entirely in safe Rust
However, the Rust port of Bun didn't follow such best practices (perhaps with good SDD practices it could, not sure about that). The resulting code has literally thousands of unsafe blocks. It also contains plenty of UB. The port already costed hundreds of thousands of dollars. It's unclear if Mythos/Fable is able to refactor it further to remove unsafe usage without introducing further UB, and how much it will cost
(here It's important to note something. Rust UB is in some abstract sense harder to deal with than C or Zig UB, because it also needs to uphold the guarantees of safe Rust. If you get to write your business logic in safe Rust that's a good deal, but the price of that is that your unsafe code has extra responsibilities)
An issue with Bun is that it interfaces with a C++ JS engine and it needs unsafe. In this case, the best practice is to write a safe binding to encapsulate this external dependency (that's why in Rust we have -sys crates with raw unsafe bindings, and other crates with a safe interface on top), and then write your business logic entirely in safe Rust
However, the Rust port of Bun didn't follow such best practices (perhaps with good SDD practices it could, not sure about that). The resulting code has literally thousands of unsafe blocks. It also contains plenty of UB. The port already costed hundreds of thousands of dollars. It's unclear if Mythos/Fable is able to refactor it further to remove unsafe usage without introducing further UB, and how much it will cost
(here It's important to note something. Rust UB is in some abstract sense harder to deal with than C or Zig UB, because it also needs to uphold the guarantees of safe Rust. If you get to write your business logic in safe Rust that's a good deal, but the price of that is that your unsafe code has extra responsibilities)
Static memory safety is a spectrum and so is code quality.
> how is that different from C?
Zig gives you far more memory and type safety than C and without a borrow checker and a complex generics system.
Zig also allows optional runtime checks (at the cost of runtime performance).
There is no better language between Rust and Zig because they have different tradeoffs that are better or worse in different scenarios. It is more like Rust vs C++ and Zig vs C.
> how is that different from C?
Zig gives you far more memory and type safety than C and without a borrow checker and a complex generics system.
Zig also allows optional runtime checks (at the cost of runtime performance).
There is no better language between Rust and Zig because they have different tradeoffs that are better or worse in different scenarios. It is more like Rust vs C++ and Zig vs C.
Rust requires discipline too. I can go around using Arc, Rc and .clone() everywhere without upsetting the borrow checker, I can use let mut a bunch and pretend if, match, etc. aren't expressions. This results in worse code, and Rust didn't stop me.
The borrow checker prevents a set of errors from being possible, but it doesn't prevent bad code from being written.
The borrow checker prevents a set of errors from being possible, but it doesn't prevent bad code from being written.
It would be easier for you to argument that the user is expected to have discipline to NOT use "unsafe" keyword in all functions.
Because a lot of mechanisms actually still have guards in runtime. And using .clone() on Rc/Arc is actually the idiomatic/preferred way of evading the borrow checker if we can't design the data structure in a different way.
It's a big difference between cases when you need to spend brain energy to find ways to "out-smart" the compiler, and spend brain energy to "fit into the proper set of assumptions" of a programming language.
Because a lot of mechanisms actually still have guards in runtime. And using .clone() on Rc/Arc is actually the idiomatic/preferred way of evading the borrow checker if we can't design the data structure in a different way.
It's a big difference between cases when you need to spend brain energy to find ways to "out-smart" the compiler, and spend brain energy to "fit into the proper set of assumptions" of a programming language.
We have had answers since 1978 (Modula-2), 1983 (Ada), 1986 (Object Pascal), among others.
Naturally for various reasons, including how UNIX got widespread, its tools being freely available versus the competition, all those alternatives eventually lost.
Programming with straitjacket was their nicknames in Usenet flame wars.
Turns out straitjackets are sometimes helpful, which is why Zig's safety approach while not perfect, basically brings back what those langauges already offered against C, decades ago.
Naturally for various reasons, including how UNIX got widespread, its tools being freely available versus the competition, all those alternatives eventually lost.
Programming with straitjacket was their nicknames in Usenet flame wars.
Turns out straitjackets are sometimes helpful, which is why Zig's safety approach while not perfect, basically brings back what those langauges already offered against C, decades ago.
Most bugs are logic bugs which rust does nothing to help you with.
I disagree; Rust's type system, which supports pretty rich algebraic data types, makes it easier to specify the correct data model for your system than it would be in languages with simpler type systems like C or Python. The ability to define enum types with arbitrary shapes for each variant, and then match on them in code, allows programmers to build better, more-accurate abstractions and have less fear of screwing up and causing a logic bug.
In my experience, it absolutely does (at least if you use it idiomatically). Using the type system (esp. enums, Result and newtypes) makes a good bunch of invalid states irrepresentable.
This also helps to focus on the remaining things that could go wrong.
The integration of unit tests also lowers the barrier to just sprinkle some tests in, if you're unsure that you got an edge case right. Anf clippy (not stricly the language, but still kind of a core component) greaty helps to stay on the idiomatic track.
No silver bullet of course, but I never had so few runtime issues with any other programming language so far.
What logic bugs did you encounter the most?
edit: mobile typos
This also helps to focus on the remaining things that could go wrong.
The integration of unit tests also lowers the barrier to just sprinkle some tests in, if you're unsure that you got an edge case right. Anf clippy (not stricly the language, but still kind of a core component) greaty helps to stay on the idiomatic track.
No silver bullet of course, but I never had so few runtime issues with any other programming language so far.
What logic bugs did you encounter the most?
edit: mobile typos
Rusts memory safety is enforced via type safety. You can enforce more than just memory safety related invariants with the same type system?
I've seen many people make this claim and it's wrong but also silly. How do you think type systems work?
I've seen many people make this claim and it's wrong but also silly. How do you think type systems work?
When I see bullet point lists, I hit the back button. Is this just me? The smell of AI- it's like rotting vegetables.
Probably just you. I use them somewhat frequently to make it clear where a set breaks down into alternatives or parallel factors. If there's a preface and trailer around a list of complex items, I think writing the list in one paragraph is often ambiguous and hard to follow. Using a bullet list within that kind of paragraph (IMO) makes it easier to follow what I think is important.
> Anthropic is actively campaigning to end software engineering
I didn’t read further, this is just sensationalism at its crudest
I didn’t read further, this is just sensationalism at its crudest
What do you mean? It's literally been a significant part of their marketing.
Let’s assume their marketing argument is in good faith (it isn’t, they’re just capturing market knowing very well they won’t replace most software dev):
Where did Anthropic say that they want to “end” software development. They make it more efficient, which could lead to less software developer.
How is this “campaigning to end software engineering”? It’s an exaggeration at best, dishonest and sensationalist at worst
Where did Anthropic say that they want to “end” software development. They make it more efficient, which could lead to less software developer.
How is this “campaigning to end software engineering”? It’s an exaggeration at best, dishonest and sensationalist at worst
>Where did Anthropic say that they want to “end” software development
https://www.entrepreneur.com/business-news/ai-ceo-says-softw...
https://xcancel.com/Vivek4real_/status/2074990159783768107
If you're selling a product and you're claiming that product will replace something, it's not unreasonable to claim that you want to end that thing.
https://www.entrepreneur.com/business-news/ai-ceo-says-softw...
https://xcancel.com/Vivek4real_/status/2074990159783768107
If you're selling a product and you're claiming that product will replace something, it's not unreasonable to claim that you want to end that thing.
>Where did Anthropic say that they want to “end” software development.
https://digitalstrategy-ai.com/2026/01/23/claude-code-anthro...
https://digitalstrategy-ai.com/2026/01/23/claude-code-anthro...
This article explains what they mean by end of software engineering:
> his engineering teams rarely write code from scratch anymore. The role has shifted from creation to orchestration. Engineers now operate as “conductors”—defining high-level problems, prompting AI systems to generate implementations, then reviewing and integrating outputs.
Well I have been working like that as well but sure as hell I still consider that to be software engineering. You won’t get anywhere if you try doing this without being a software engineer. At least not very far, see how far purely vibe coded applications can get.
> his engineering teams rarely write code from scratch anymore. The role has shifted from creation to orchestration. Engineers now operate as “conductors”—defining high-level problems, prompting AI systems to generate implementations, then reviewing and integrating outputs.
Well I have been working like that as well but sure as hell I still consider that to be software engineering. You won’t get anywhere if you try doing this without being a software engineer. At least not very far, see how far purely vibe coded applications can get.
Can you point out exactly where it says that? As I read it, the claim is that AI boosts the productivity of writing code to the point that it's usually not productive for humans to write code directly. I think that boost only goes so far -- safety-critical code still needs to be well-understood by people, and a lot of the higher level thinking has insufficient ground truth to train AIs on it -- but it's fundamentally a claim about transforming software development rather than ending it.
Can you find a story that doesn't read like the lowest grade of AI slop?
That was almost illegible.
That was almost illegible.
Wat?
Anthropic leadership, including CEO Dario Amodei and co-founder Boris Cherny, has declared that software engineering is dead or will become obsolete within 6 to 12 months due to AI automation.
Cherny states that at Anthropic, no code is manually written anymore, with engineers using Claude Code to generate 22–27 pull requests daily and AI agents operating in autonomous loops.
https://www.reddit.com/r/BlackboxAI_/comments/1qxhqry/anthro...
Anthropic leadership, including CEO Dario Amodei and co-founder Boris Cherny, has declared that software engineering is dead or will become obsolete within 6 to 12 months due to AI automation.
Cherny states that at Anthropic, no code is manually written anymore, with engineers using Claude Code to generate 22–27 pull requests daily and AI agents operating in autonomous loops.
https://www.reddit.com/r/BlackboxAI_/comments/1qxhqry/anthro...
very narrow vision, openai and anthropic realized what they have probably won’t lead to agi so they moved the goalposts to replacing jobs, programming just happened to be the easiest field because engineers are technical, willing to pay, and the input/output is relatively easy to measure, even that has problems though, a lot of managers are noticing that code generation is fast but actual production output doesn’t improve at the same rate, anthropic basically bootstrapped itself on coding and now they’re looking for higher paying fields that put less pressure on their servers
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.
> The marketing needed to focus on how their AI was powerful enough to do this rewrite (even though it was not powerful enough to catch a use-after-free).
ding ding ding!
ding ding ding!
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).
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).
Not a lot of it is unsafe, I think they said 4%?
It's practically impossible to write safe Rust when you are calling external libs written in C/C++, like they do for the Javascript engine.
It's practically impossible to write safe Rust when you are calling external libs written in C/C++, like they do for the Javascript engine.
IIUC that was meant as an intermediate step (which isn't uncommon), which IMO makes the translation way less exciting.
The interesting part will be whether they can transform that "mechanical Rust" into something idiomatic. I'm waiting ...
The interesting part will be whether they can transform that "mechanical Rust" into something idiomatic. I'm waiting ...
Fair, but that's also kinda like saying "we translated it to ASM as an intermediate step to C". The hard (and valuable) part is safe rust. If unsafe is everywhere, there will be abstractions that simply have to be reengineered to use safe rust. Maybe it's a way to hit the "finish line" quick in terms of using Rust but a pure unsafe translation seems almost as far away as the original Zig project.
Unsafe Rust makes me think they did this entirely because LLMs are better at Rust than at Zig, but let's see what happens next.
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.
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.
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.