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 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.
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."
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.
This premise makes no sense. AI makes rewrites to any language easy.
The LLM companies have truly astounding power to now steer the direction of the entire industry. It should worry all of us.
That means at least from their POV what's already available is not enough or not good enough, and if they're correct then the companies making the models can "artificially" inflate a language's representation.
My comment shouldn't be read as an explanation for why Anthropic chose Rust in this case.
I was simply disputing the claim that LLMs are good at all languages, and that their biases--both intentional and otherwise--will swing the entire industry.
Consider just having a typechecker. That alone eliminates a whole class of bugs and unit tests, which means your remaining unit tests check more logic. I've seen JS projects with high test coverage that cover essentially zero logic, only type checking class things. And nobody even knows it, really. But when your tests are just "okay pass an empty array. Now an empty string. This should fail, great. Now pass an array with the wrong elements..." you're not testing anything. You're probing the type system, which many languages do automatically and perfectly.
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.
Rust is like the instructor demanding that you build your house up to the national code, down to the choice of nail for your floor board. Your house will be perfect, but building it is extremely difficult and high-friction. In many cases this is unnecessary.
I wouldn't say "definitely", given Rust deps management is way more streamlined.
Also, I think the “quick to prototype” only is beneficial if you know c++ and don’t know rust. I know both and I can say that Rust is much faster to prototype in precisely because
a) tests are trivial to add meaning it’s trivial to add test coverage vs in c++ you have to integrate gtest and bother to set that up which no one does B) many initial startup bugs are prevented. It’s not segfault after 6 hours but spend hours getting it to work correctly after it compiles vs it runs mostly correctly from the first build.
Even if Rust is slower to write (which is only true if you don’t know Rust and don’t have AI) it’s still overall faster to develop in. I can’t recall if MS or Google have written up their experience on that side or focused only on impact to vulnerabilities.
That's not possible. If it were, you'd just fix the memory bugs directly in the original language.
Your best bet is to have a translation littered with unsafe blocks, so you still have to do the work of nailing down the specifics to make them safe. There's no magic "unsafe language" -> "safe Rust" pipeline, even with GenAI.
The reason AI can't fix memory unsafety in the original language is the same reason humans can't do it. There isn't enogh feedback from the compiler.
"You're holding it wrong."
>Jarred has managed public relations very poorly (e.g. ghosting the Zig foundation)
What obligation do you think he has here? Which direction should these good relations flow?
I'm also an outsider here, and reading this post was kind of shocking. Can't believe someone would attack your open source code. It's everything normies hate about ornery IT people.
Yes, that's the sour opinion piece full of personal attacks.
- The ZSF is obviously upset because of the poor publicity
No where did they describe zig as poor choice, and there were zero evidence ZSF was getting poor publicity.
Had whole of HN, Reddit and Twitter all laughing at Zig this would have make more sense. But that was not the case. As a matter of fact I don't even record a single comment about it. If anything a lot of these "poor publicity" and "Zig as poor choice" were completely fabricated.
Had the internet turned against Zig, the response may have deserve a lot more weight.
It's not Bun's or anyone else job to care about Zig's or the ZSF's feelings or publicity.
A project who switches programming languages or frameworks or whatever doesn't need to be afraid of offend anyone.
It doesn't and didn't matter until Zig and ZSF blows it out of proportion.
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.
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.
Except it is. The people using it told us.
this in fact happens all the time and engine creators dont come out with bitter blog posts about it
I'm not saying Andrew was right to write bitter personal attacks.
And even in this case, it'd be extremely weird if Unity published a blog post about how City Skyline's studio is a "Just a total shit show, from an employment perspective" (quoting Andrew word by word here).
I'm not saying Unity should publish PR about how Unity is working well and this handover and subsequent fixes proves it, but I think you could argue that they could and that they would have at least some facts to back it up with.
With over 37,500 stars, over 2,300 forks, 826 contributors, books written on it (in Japanese and Portuguese, besides English), and a Wikipedia page; vlang is clearly a significant and successful open-source project.
> entirely driven by hype
People can plainly see Zig (and other HN pushed languages) directly engaging in marketing propaganda and hype (with HN accounts clearly stating they are from those projects) using social media (including HN) at levels way beyond anything anyone could accuse the V project of doing. The creator of vlang is also not a native English speaker, where the creator of Zig (and other competitors) have no such excuse. They know exactly what they are saying, the connotations of it, the cultural nuance surrounding it, and what it means in English.
> ridiculous that it got $800/month with nothing to show for it
Jealousy over vlang getting as much (or more) donation money (in 2019) from its supporters was a central theme in numerous social media and website posts made directly by Andrew Kelley[1]. Even to the extent he and the Odin creator[2] were asking people to give them money, instead of to the V project. Many would consider such behavior as extremely bad and unprofessional. Also note, there is no reverse of such behavior to be seen by the V community at them, instead we see uncalled for conduct and statements being directed by them towards the V project.
Donations that vlang had received and continue to receive, is from their supporters. Some of these paying supporters have even come to HN, to publicly express their support[3][4][5] against competitor false accusations and disinformation. Competitors should have nothing to do with someone else's supporters giving donations, in the same way that vlang's creator does not speak on who donates or supports their projects.
> I haven't seen any hate spread for it by Zig.
It is documented, on HN no less (and elsewhere), where people can see Zig's creator directly slandering vlang's creator[6] and this kind of unprofessional behavior encouraged followers to do similar.
[1]: https://news.ycombinator.com/item?id=39495369
[2]: https://news.ycombinator.com/item?id=20231704
[3]: https://news.ycombinator.com/item?id=31801287
[4]: https://news.ycombinator.com/item?id=31801262
People know what jealousy, slander, and unprofessional behavior are. Including how the V project is treated, regardless if certain others pretend not to or try to blank out others for noticing.
> What's your involvement with the language
Just responding to the comments of others, like the truthful one made by f-serif.
Not part of any V organization, just use the language (and some others). Which is more than I can say for a number of accounts where their profiles clearly say they are directly part of or work for the Zig organization.
Meanwhile, years later Vlang still have not delivered on the initial claims that made the language even remotely interesting.
The cost was only provided as an honest estimate of what it would have cost someone else at time of writing, which I thought was fair.
The number is peanuts relative to the cost of engineers working on the project. I find it odd that so many people think this cost number is some sort of smoking gun.
Anyway, the exact number doesn't really matter in the context of my comment anyway (which was meant to facetiously note that the marketing campaign includes the Bun rewrite)
Here are the comments:
https://news.ycombinator.com/item?id=48251340
https://news.ycombinator.com/item?id=48241734
https://news.ycombinator.com/item?id=48240996
Now he published it; it's a hit piece. Damned if you do, damned if you don't.
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.
Edit to add: I'm unsure where assembly would sit in this analogy. Skateboard? Monocycle? Perhaps ice skates.
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.
- any GC'ed language can manage memory for you if you want
- My first rust project (a gui app in GTK) managed to segfault just fine in spite of Rust (no unsafe blocks on my part, not deliberately trying to break anything).
- I think the state of computer security has moved on still, we now rely on LLMs armed with various tools to pick apart and try to break our code AND to generate our code -- it is not at all obvious to me that banging your head against the borrow checker is a worthwhile tradeoff in this new world.
At the same time, TigerBeetle can do this because it’s solving a specific shape of problem that’s amenable to that allocation strategy. Binding a third-party runtime written in C++ (TMU, this is what Bun is) is a pretty differently shaped problem that doesn’t easily admit that style.
In other words, discipline isn’t always enough (although you do certainly need it). Sometimes the shape of the problem makes environmental constraints (like the kind Rust offers) important.
If Rust is gaining popularity because it is an alternative to C++, D-lang needs to be included into that conversation, IMO.
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 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.
Someone saying that work-life balance means all work and no life, and then producing substandard quality at said work seems worth pointing out.
A trillion dollar company vibe-porting a vibe-coded low quality product for clout/advertisement seems worth a call-out.
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.
Jarred's post about Bun-Zig-Rust post was technical and polite.
Andrew's post in response was anything but that.
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.
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? ;)
Instead, since he does work for Anthropic, it just looks like a big marketing gimmick that was going to be done whether it was the right thing to do or not.
I browsed through the Bun code following Kelly's post, and decided to have Codex replace all my Bun usage with Deno.
No, they're intentionally in all the programming language markets.
Just like Google might sell ads on (approximately) all the websites, but they don't particularly care which website you visit.
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 [...]
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.
Did we just read the same blog post? I see no assertion in it that Anthropic is in the programming language market, rather that this rewrite was a marketing opportunity for them they were happy to lean into.
> For context, I'm using Codex and have no interest in either Zig or Rust, so just observing this drama from the sidelines.
The latter part of the post is much less about Anthropic and more about AI coding in general so I’d say it’s still very relevant to your interests.
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.
The article by Ray Myers makes the case that Anthropic is in the programming language market by way of them having a clear monetary stake in making their agents look supremely capable of all tasks, up to and including rewriting an entire Zig codebase to Rust.
From TFA:
> Anthropic is actively campaigning to end software engineering. They need you to believe they can do that. Well, maybe it’s not you that they need to convince. Maybe it’s your C-Suite, various world leaders, or the manager of your retirement fund. They’ve raised $132 billion in investment, and are approaching an IPO valued over $1 trillion. Since they cannot show profitability, this depends on selling their hypothetical future impact.
> In literary terms, Anthropic is an unreliable narrator.
> One of their key narratives is: Coding is going away, then the rest of software engineering, and eventually most other human labor. This kind of money behind this kind of story has an impact, regardless of how true we think the story is.
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.
Remember the days where teams would adopt technologies based on how familiar the members are with them? "Now that the AI is here" and is the one writing code, to the point where Linkedin devs flex how it's been months since they touched source code, teams adopt technologies based on how familiar AI is with them.