My Thoughts on the Bun Rust Rewrite

(andrewkelley.me)

214 points | by kristoff_it 2 hours ago ago

135 comments

  • tuckwat 23 minutes ago

    This is unprofessional and embarrassing for Zig.

    I know very little about Jared but his article yesterday, which I read, seemed appreciative of Zig. I now learn he's donated significant chunks of money to them.

    This entire article is publicly and personally attacking him for choosing a different product.

    It's insane to me that Andrew thinks this post will somehow exonerate Zig when it really just makes them look childish. Or maybe he doesn't care, and just wants to attack Jarred?

    • lins1909 15 minutes ago

      It's kind of strange to not engage with any of the points made in the article. Unlike you, I don't think the post makes them look childish at all. I think it raises a lot of valid points and makes me want to use Zig more.

      • tuckwat 11 minutes ago

        Do you have bias? I'm not saying I don't have some hidden bias but I have no skin in the game. I don't use Bun or Zig or plan to.

        My reflection comes after reading Jarred's post yesterday, which I found interesting, and then Andrew's today.

        I just pasted this article into an LLM to understand the tone and the summary is:

        > The overall tone is deeply personal, cathartic, biting, and polemical, with flashes of humor and a deliberate attempt to soften the ending.

  • embedding-shape an hour ago

    > So, when the Anthropic aquisition finally happened, we at ZSF breathed a sigh of relief. When the donation silently stopped, our bank account was ready for it. When they neither canceled their monthly meeting with us, nor showed up, we were not surprised. The relationship was over.

    Seen this time and time again, project/organization gets taken over, and everything "good" they did doesn't get exited with fanfare or anything, just silently dropped as your benefactor starts silently ignoring you.

    I'm really happy they saw the writing on the all and were prepared for the inevitable, a really great lesson you shouldn't need to learn yourself the hard way, and FOSS project relying on one/two big donators should take heed, we'll see a lot more of this in the developer tooling ecosystem moving forward for sure.

  • fwlr 34 minutes ago

    I found this post very refreshing! I’m sure it would have been very tempting to one-up the “PR-speak” of the Bun post. Likewise, it would have been very tempting to include the same set of facts that reflect negatively on Jarred, while studiously concealing one’s own opinion (eg “I heard people called him a stinky manager. I am not saying that, other people are, but I’m not”). I appreciated that it was just … genuine.

    • vitaminCPP 13 minutes ago

      Agreed. This blog post strikes the balance between PR-speak and x.com

    • daishi55 27 minutes ago

      It’s just one long ad hominem

      • grahar64 18 minutes ago

        I don't think you are using that right. Saying someone is bringing a bad vibe to your project, as the point he has a bad vibe is just stating the conclusion.

        Like if someone calls you a bad programmer and doesn't hire you as a programmer, isn't ad hominem

  • dnoberon 33 minutes ago

    Not sure a personal attack against Jarred really helps the case for using Zig. He could have and should have focused on the language and not “a stinky manager”. Honestly, this makes me want to steer clear of Andrew as much as Jarred.

    • mtndew4brkfst 23 minutes ago

      Andrew's online social behavior is largely a streak of pettiness imo. This is not even close to the first time I've seen him write something I felt was overtly mean spirited, not just euphemistically "blunt".

      "Was silence not an option?"

      • elktown 15 minutes ago

        Given the chronology set out by Andrew, I think it's warranted anyway.

  • Havoc 29 minutes ago

    > Two, I actually don't have any personal criticisms of Jarred

    That’s quite a statement to make at the end of a post that seems to contain little else…all just thinly veiled.

    Saying someone has „beginner energy“ but reframing it as a faux positive (this person fails and thus learns)

    Or saying the grapevine says someone is a „stinky manager“? Basically I’m not saying this person is bad it’s just that I need to bring up on this blog that everyone agrees this person is bad.

    All seems to be in very poor taste even if true…

  • sarreph 44 minutes ago

    It's hard, in my opinion, to lend credence to the author here when they decided to devote the first and largest section of their article to an incisive display of speculative ad hominem.

    Would have been a great opportunity to outline the benefits of Zig! I've been keen to pick Zig up recently due to mitchellh's evangelism and inspiring writing on the subject.

    This article puts me off learning Zig.

    • embedding-shape 41 minutes ago

      > first and largest section of their article to an incisive display of speculative ad hominem.

      Seems you're not alone in feeling this, mind quoting the exact and verbatim parts that seem like "speculative ad hominem"? I see there are quite a bits about how Andrew sees Jarred and his workflow/work mentality, but I'm not sure I see clearly what is supposed to be the ad hominem, speculative or not.

      • sarreph 33 minutes ago

        Sure:

        > he was essentially groomed from a young age

        > It's one thing to choose a poor work-life balance for oneself; a different thing entirely to demand it of others

        > Jarred was a stinky manager

        • mpalmer a minute ago

          The second thing is not an ad hominem, it's talking about what he did or how he did it, not who he is.

    • androiddrew 41 minutes ago

      The author being the author of zig…

    • fg137 35 minutes ago

      > Would have been a great opportunity to outline the benefits of Zig!

      Eh, Google and ChatGPT both exist?

  • nilirl an hour ago

    > I actually don't have any personal criticisms of Jarred

    The whole post felt like a personal criticism of Jarred.

    • vincent-uden an hour ago

      I'd consider the opinions professional criticisms of Jarred. While focused on him individually I don't think they are very personal

      • hyperpape 18 minutes ago

        Personal and professional are not mutually exclusive.

        If I criticize your code, that is a professional criticism.

        If I criticize your code and say it reflects your consistent carelessness and stupidity, it is also personal.

        If I say you fabricated something, then that is a personal criticism, it alleges an ethical violation. In a professional context, it's also a professional criticism (every profession has some ethical standards).

      • dwattttt an hour ago

        > We probably tried to tell you to try enabling it and you didn't listen. We have good advice, damn it!

        Not knowing whether you actually gave the advice you're blaming them for not taking isn't professional, it instead comes across as bitter.

      • whimsicalism an hour ago

        i think they are extremely personal and actually very distinct from professional criticisms.

        • nicce an hour ago

          Can you criticize a project which is mainly contributed and managed by one person without criticizing the same person who does the decisions that cause criticisms?

          • whimsicalism 43 minutes ago

            Yes, I think very easily and I have read examples of this. There are bits of this in the article, but the main thrust attempt to portray Jarred as a greedy asshole enamored with Thiel/VC thought is not about the project and quite clear reading the article. It’s entirely tactless and bitter imo

            • embedding-shape 40 minutes ago

              > main thrust attempt to portray Jarred as a greedy asshole enamored with Thiel/VC thought

              What made you get that takeaway from the article? I didn't get that feeling at all, mainly seems to be something like "Jarred does some good and some bad, personally I don't agree, still wish him well", but clearly some specific part in the article must have given you this impression, if so what part?

              • epestr 11 minutes ago

                The "some good" part reads like it exists as a buffer between other parts which don't sound objective, but rather defensive and personally angry. > Fun fact: people talk to each other. The intention here seems to indicate that Jared could've never known that could happen. It doesn't sound like professional feedback and more how you talk to someone during after a road rage incident.

                And the fact that immediately after no "personal criticism" he proceeds to call his behavior "fantasy fever dream." Sometimes presentation matters as much as factuality.

                The lack of sources and citation for a pretty one-sided claim doesn't help either.

              • whimsicalism 26 minutes ago

                > jumping head first into problems that he was not yet equipped to solve, leading to mediocre outcomes in terms of engineering

                > having graduated from the Thiel Fellowship school of thought rather than university, he was essentially groomed from a young age into uncritically embracing the Silicon Valley mindset,

                > this "beginner energy" started to hit differently for me. It's one thing to choose a poor work-life balance for oneself; a different thing entirely to demand it of others

                > Poor communication, unrealistic expectations, low empathy, no experience

                > gets to live out his productivity fantasy fever dream, he's probably already super wealthy. He has minor tech celebrity status.

                Frankly, I have trouble seeing how a neutral reader doesn’t see this as a clear personal attack. That the article ends with “I actually don't have any personal criticisms of Jarred” is almost comical given the preceding paragraphs.

                • epestr 8 minutes ago

                  Even more comical when you realize he couldn't stop himself from immediately following "no personal criticisms of Jarred" with

                  > gets to live out his productivity fantasy fever dream, he's probably already super wealthy. He has minor tech celebrity status.

                  in the following paragraph.

      • jasode 22 minutes ago

        >While focused on him individually I don't think they are very personal

        As an example, the following fragment is extremely personal:

        >For example, he could have easily achieved a solid living via crowdfunding, even for San Francisco standards. But having graduated from the Thiel Fellowship school of thought rather than university, he was essentially groomed from a young age into uncritically embracing the Silicon Valley mindset, and he took venture capital.

        For readers who are genuinely oblivious as to why the above comes across as criticism of the person instead of the Zig/Rust code:

        - it's condescending because it portrays Andrew Kelly is the wise enlightened one didn't take VC money but Jarred was the unenlightened one "groomed" into the SV VC world.

        - those sentences explain more about Andrew's opinion of Jarred, rather than dissect actual code fragments of Zig/Rust.

        It's ok to personally agree that Thiel/VC/Jarred/capitalism are all wrong but you still be able to recognize when a paragraph is making criticisms of a person. Aligning with Andrew's values shouldn't make one blind to it.

    • morningsam 31 minutes ago

      And literally 3 sentences later he goes back to insulting him ("productivity fantasy fever dream"). Even if that is true, it's still an unwise post to publish in this form IMHO. If the goal was to defend Zig, that could've been done in a less personal manner.

    • cinkhangin an hour ago

      I'm about to comment exactly this.

  • SuperV1234 an hour ago

    > The main problem, however, was code quality.

    > The sleight of hand misdirects the reader away from the main way bugs are eliminated: by dedicating engineering resources to it.

    Perhaps the amount of bugs comes from using a C-like language that requires meticulous manual care to avoid writing runtime bugs.

    Even C++ would be a safer choice because of RAII.

    When you have to dedicate significant resources to avoid/fix runtime issues that are made impossible at compile time by other languages, the programmer isn't entirely at fault.

    • 0x000xca0xfe 25 minutes ago

      Memory safety problems are still possible in the new Rust Bun:

           At the time of writing, about 4% of Bun's Rust code sits inside an unsafe block (~13,000 unsafe keywords across ~27,000 lines / ~780,000 lines), and 78% of those blocks are a single line — a pointer that came from C++, or one call into a C library.
      • mtndew4brkfst 19 minutes ago

        Yes but through iterative ratcheting, some portion of that unsafe can likely be migrated to idiomatic code without unsafe. And the other 96% of the code now has more mechanical guarantees than it did before.

        Static linting in Rust via clippy also makes it pretty straightforward to begin enforcing things like "unsafe blocks need to have safety doc comments" as a CI warning or failure, and there are community tools that focus on this topic too.

        I can't stand the practice of "LLM porting" personally but if you're going to do a mechanical rewrite from something else into Rust, this (permit unsafe and unidiomatic but 1:1 translation at first) is a fairly reasonable strategy imo.

      • dralley 19 minutes ago

        Possible, yes. But it's not like it's terribly difficult to verify correct usage of "unsafe" that amounts to a basic function call to a C library. Trivial uses of unsafe are pretty innocuous.

    • coffeeaddict1 43 minutes ago

      C++ would also introduce a myriad other subtle safety problems that would require years of expertise to even notice.

    • skydhash 41 minutes ago

      I’ve not seen any languages that does not require meticulous care to avoid runtime bugs. Type checking and lifetime ownership eliminate some, but not all of them.

      • nicce 28 minutes ago

        > Type checking and lifetime ownership eliminate some, but not all of them.

        They actually remove certain classes completely. E.g. lifetime ownership in Rust removes all bugs related to the reason why it is in the code syntax (a.k.a. lifetime markers remove use-after-free completely in Rust.)

      • fooster 36 minutes ago

        So less meticulous care then?

  • preommr 16 minutes ago

    There are astute comments about the post's tone elsewhere in this thread[0]

    But this killed my hopes for Zig.

    The drama is fun, and Andrew is maybe even admirable in his earnest, but this just isn't the kind of professionalism needed for a serious project. I know that's boring and uninspired, but that's what I want my tech stack and it's management to be.

    Also, maybe Jarred was a net negative, but bun was also a really big project using Zig, and the project leaving isn't as good for Zig as Andrew is making it seem. It genuinely seems he's putting a lot of priority on purity and ideology over just growth of the language. And I am sorry, but adoption and reaching critical mass is an important part of a serious programming language.

    [0] esp. nilirl.

  • cyber1 an hour ago

    To me, this whole effort of rewriting Bun from Zig to Rust looks like a big marketing move. The question is: if Anthropic AI is really that powerful, why not just fix the bugs and give it the more ambitious task of redesigning the existing Bun Zig codebase in a way that eliminates not only the current bugs but also prevents similar ones from happening in the future?

    • dwdz an hour ago

      The sole reason for that rewrite was Zig creator announcing he won't be accepting AI contributions. It hurt Anthropic's feelings.

    • Tiberium an hour ago

      But Rust is exactly the tooling that gives humans and LLMs a lot of those checks for free, and things like RAII.

      • cyber1 an hour ago

        If you use Rust the way it was designed to be used, rather than relying on countless "unsafe" blocks, you need to redesign the entire codebase architecture to make it compatible with the borrow checker rules.

        • tialaramex 16 minutes ago

          All that unsafe does in these cases is enable the "unsafe super-powers" which the compiler can't check, thus shifting the responsibility onto the author. But for example if you've got some code which doesn't borrow check, and you just sprinkle unsafe keywords on it, now you've got code which still doesn't borrow check and diagnostics telling that this unsafe keyword was futile and you should remove that.

          I haven't reviewed this code, but the percentages described don't sound like they'd need a huge architectural overhaul to use much less unsafe, it might take more actual human effort than they want though.

        • Ygg2 a minute ago

          If you are writing in C-like codebase and aren't tracking lifetimes and ownership at least as well as a borrow checker you're opening yourself to CVEs.

        • galangalalgol an hour ago

          The borrow checker really isn't that bad. It isn't like they were porting from something with GC. They were already having to think about these things anyway. Even then opus seems to have no difficulty going between c# and rust while respecting the idioms of both. No unsafe needed. Zig should be even easier except the lack of a training corpus for whatever frankenversion of zig that bun was using.

        • masklinn 32 minutes ago

          Even if you “rely on countless unsafe blocks”, unsafe is additive, it gives access to additional APIs which are not checked. It does not disable affine types, the borrow checker, or send/sync traits. Unless the entire codebase is unsafe (e.g. fresh out of c2rust) it’s very hard to not have more guarantees.

          And because unsafe is generally highly local or localizable reasoning (conventionally backed by safety justifications) it really is quite reasonable to go plugging at it, or task an AI within that.

          • cyber1 24 minutes ago

            For 99.99% of cases, you're reading and writing this under an operating system whose kernel is written in a language without send/sync, and inside a browser that also largely written in languages without send/sync, because those systems are fundamentally well designed. So instead of fixing the bugs and rethinking the architecture, the author of Bun decided to transpile almost the entire codebase from Zig to Rust without a deep architectural review. Okay...

    • rao-v an hour ago

      I do wonder to what degree this weird marketing play originated from Anthropic, versus from an overeager founder selling past the close.

      I can imagine Anthropic wanting to acquire Bun without the gimmicks.

      • jorisw an hour ago

        IMHO 'marketing' as a supposed incentive is too easily thrown around by people who probably don't know what marketing really is.

    • bramhaag 26 minutes ago

      "effort" is a big word to describe typing out a few prompts to create something with 5k+ open issues.

    • advenn an hour ago

      zig doesn't accept ai written code

      • cyber1 an hour ago

        How is Bun codebase connected to Zig codebase?

        • embedding-shape an hour ago

          Rumor has it there is a HN submission on the frontpage right now about that very thing:

          https://news.ycombinator.com/item?id=48843352

        • Tiberium an hour ago

          You can't do "redesigning the existing Zig code in a way that eliminates not only the current bugs but also prevents similar ones from happening in the future" without actually changing Zig itself.

    • andrepd 39 minutes ago

      Static guarantees are better than stochastic parrots. A static linger beats telling Claude "check this idiom". Etc etc.

  • hazn an hour ago

    Despite stated otherwise in the post, this is a personal attack.

    Anyway, let's try to discuss something more technical: I predict Zig will lose steam, and in 2027, will lose relevance:

    1) It's hardcoe Anti-AI 2) It's moved to Codeberg 3) It doesn't have the momentum to sustain the disadvantages of these two decisions

    The project will in max 2 years make a blog post, not admitting to their mistakes, telling themselves that Zig is a success, despite the industry having moved on.

    • fg137 30 minutes ago

      If you bothered to actually learn just a little bit about the Zig project, you'll know that they are doing ok. They never cared about introducing new features at a fast speed, having lots of contributors, or getting corporate sponsorship, if that's not already obvious from the article. In fact, they intentionally stay away from all of that to make the project more sustainable and less prone to the whims of corporations.

    • f311a 6 minutes ago

      They don't have a goal of becoming a popular language, though and will continue to work on it as long as there are donations. They don't care about being mainstream and there are niche companies who appreciate Zig and donate.

    • Tiberium 42 minutes ago

      To be honest, I'm also leaning this way, especially because of the hardcore anti-AI stance, so much that Zig will close security vulnerability issues on Codeberg if you mention that they were found with LLMs. I don't think that this is a good approach.

    • dminik 33 minutes ago

      I also think Zig has a rough road ahead, but not because of AI or moving to codeberg. No, it's because Andrew isn't really a BDFL. He's at best a DFL. The project is already mostly closed off to external contributors.

      It kind of reminds me of Elm in a way. Though I'm not expecting 6 years of drought just yet.

    • tuckwat 20 minutes ago

      4) It's led by an emotionally unintelligent individual who will personally attack you for choosing alternative products.

    • pragmatic 18 minutes ago

      Could just as easily say the same thing about Bun.

      If one can easily swap in the next new js engine du jour…

    • slekker an hour ago

      Your prediction is extremely short sighted, and I can only guess it is because of your extreme pro-AI stance, as well as not being part of the open-source community.

      • hazn an hour ago

        Yes that's true, I'm biased because I am pro-AI.

        What are your hopes and predictions for the Zig project?

        • slekker 39 minutes ago

          I do hope they keep their stance and philosophy though it is not the easiest with a BDFL governance. I do not have predictions though, it seems silly to try and do so when it will be a random chance outcome

    • orangeisthe 30 minutes ago

      what's the problem in moving to codeberg?

      • andrew_ 19 minutes ago

        the loss of network effect.

  • asciimoo an hour ago

    I was wrong to be upset this whole time that the rewrite would hurt Zig. This is one of those rare occasions when I’m glad I was wrong. Interesting insights.

    • fg137 27 minutes ago

      I don't think Bun actually matters much, even for web development. For sure there is a lot of enthusiasm, but all the production systems I know continue to use Node.js and are not moving to Bun any time soon. In the "real world" not that many people care about it.

      • AyanamiKaine a minute ago

        I find this sad, as I use Bun as a Node.js replacement that works really well. I wanted improved builds times and run speed. Both things bun provided. It reduced ram usage and worked with the node ecosystem well.

        So for some workflows it looked like a flat improvement on all parts.

      • asciimoo 22 minutes ago

        I agree with you, but Bun was still something of a flagship project for Zig. It received a lot of attention, which indirectly helped Zig's popularity.

      • dezsiszabi 11 minutes ago

        Exactly, it's some niche thing not a lot of people care about in my opinion. I certainly don't.

  • dzonga 41 minutes ago

    articles like these are needed - if you've to call people out - do it.

    the tech industry's fake politeness has caused pain and confusion.

    & yeah - I had already stayed off Bun before the whole rewrite, but now more reasons.

    • grahar64 11 minutes ago

      I think people have read so much corporate PR posts they think that is a rule of how to post online.

      This post is his personal blog, he is a human writing what he thinks.

      If this was a tweet people would be fine with it, but it is a blog so he should make it corporate-y

  • giancarlostoro 27 minutes ago

    > 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. This appears to be an outright fabrication.

    Interesting I wonder if its something Jarred did locally or something else that was just not widely done by the whole team? I dont like to make bad assumptions about devs or dev teams without first asking. I owe credit to HN for one of the guidelines which states something like do not assume intentional malice in comments, I feel like we assume the worst in general about other devs, but people are imperfect and make mistakes.

    That said as others noted this post could have been written a bit differently while still pointing out genuine issues. The ad hominem attacks are a bit unnecessary and add nothing of value to what could have been a better response.

  • bpavuk an hour ago

    well, for me personally, "the" Zig project is not Bun but Ghostty, and it always has been.

    yeah, Mitchell is very pro-AI, but he is thoughtful, and he sometimes highlights the difference between Zig's and Ghostty's approaches to LLMs (outright ban vs taming)

    • androiddrew 28 minutes ago

      Yeah and Andrew Kelley is anti AI for his project because it’s counter to the projects learning goals. I think it’s perfectly fine for a project to determine if AI contributions are accepted. Maybe that means change is slower in that project, maybe that means things are more deliberate too.

      OSS projects can survive not being on GitHub, Python was something like 20 years was not on gh. If the service has severe outages and there are alternatives why wouldn’t you move? Most people aren’t contributing to the runtime anyways, they are just using the language.

    • joshka 28 minutes ago

      I have a working port of ghostty to rust ... not even kidding

  • delegate 28 minutes ago

    A better title would be 'My emotions on the Bun Rust Rewrite', since the article feels like an emotional reaction rather than a thoughtful analysis of the situation. Give it some time..

    I'm rooting for Zig either way, even though I have nothing against Rust and I don't directly use bun.

  • whimsicalism an hour ago

    Anyone who would write an article like this is much more distasteful to me than anything Jarred did.

    • 7barcherry an hour ago

      Why? I think the original blog post, which he is replying to, demands a reply.

      Its a breath of fresh air to get this whole debate out in the open

      • whimsicalism an hour ago

        I do not think the original blog post demands a reply. Zig people have already written about this. I found the original blog post quite complimentary of Zig and the community.

        It is challenging for me to imagine how one would think an article like this is net beneficial for the community rather than reacting with grace.

      • daishi55 25 minutes ago

        Jared’s post was entirely technical, this post was mostly personal.

    • bbg2401 33 minutes ago

      Jared has behaved appallingly in recent months. Comments about locking out humans from open source code contributions and the gaslighting at the start of the migration are top of mind.

  • rob74 27 minutes ago

    > You can imagine how we might want to put some social distance between ourselves and a project whose irresponsible software engineering practices invite the exact kind of criticism that people are eager to level.

    The other (very salient) points notwithstanding, I'm afraid this quote shows that Zig hasn't learned a lesson that other languages of its generation (and older) have: if a project's memory safety depends only on "responsible engineering practices", then that project most likely won't be memory safe. Quoting the "swiss cheese" model used in risk management: one slice of cheese (engineering practices) just isn't enough if you want to be reasonably sure your program is memory safe.

    • taneq 22 minutes ago

      I’m reminded of the hierarchy of controls in machine safety. If you can’t eliminate the hazard, or substitute a less hazardous thing, then engineering out the hazard (like Rust did) is preferable to a procedural control (“git gud at engineering”).

      • skydhash 5 minutes ago

        C/C++ does not care and they’re currently the language for foundational work (OS, platforms, and libraries). Python and Java does not care, they will just throw runtime exceptions and crash. Rust care, but they don’t play well with the rest of the world.

  • vovavili 19 minutes ago

    Dedicating most of the article to a personal attack and then finishing by saying that you don't have anything against the person is a bit of an odd sequence.

  • vmg12 23 minutes ago

    > The sleight of hand misdirects the reader away from the main way bugs are eliminated: by dedicating engineering resources to it.

    I was on a platform team and I had a constant backlog of bugs (introduced by others) that I was working on and the two most impactful things for preventing bugs were Typescript and Cypress (playwright-like testing before playwright).

    I've dealt with many shitty code bases and the only way that worked for removing bugs was automation. It didn't matter how many bodies you threw at the problem.

    > Then why are you saying you have so many annoying bugs in the Zig code? What happened to the test suite being sufficient to catch everything?

    You can't use tests for trying to catch use after frees and other memory bugs for the same reason you can't use unit tests as a replacement for type checking, the combinatorial explosion of possible inputs into functions makes unit testing types across an entire project impossible.

    Anyway, Jared donated $60k a month to this project and tried to resolve this in the most diplomatic way possible and still got personally attacked. The lesson from this article is don't donate to the Zig project because if you migrate away from it they will try to ruin your reputation.

  • 0xpgm 43 minutes ago

    I'm glad LLM coding exists for people who want to move at an insane superhuman speed (perhaps they're trying to achieve escape velocity and launch into the stars or something) so that they don't grind down their fellow humans.

    You can either do local optimization - a single individual moving as fast and as hard as humanly possible, or global optimization - a team working together and amplifying each other's efforts to produce something that is greater than the sum of its parts.

  • thiht 22 minutes ago

    I’m not sure why this post even exists? It feels completely unnecessary. Don’t get me wrong, I like drama as much as the next guy, but it didn’t have to be public imo

  • AyanamiKaine 5 minutes ago

    > 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

    Ufff, the creator of zig saying that the biggest zig project is slop was definitly not on my bingo card.

    Its sad to see that on of the biggest projects was more or less badly written zig code. On that note, I wonder which big project have good zig code?

  • feverzsj an hour ago

    It's more like a transpile, far from idiomatic rust.

  • let_rec 27 minutes ago

    The post reads like someone who is quite upset but trying to maintain professionalism. The mask slips throughout.

    The points seem valid, however, and I will likely steer clear of Bun.

  • lifthrasiir 39 minutes ago

    While I understand ZSF's bittersweet relationship with Oven and agree to several points (especially preparedness), this writing is badly structured and that shows something. Hope to see him turning around.

  • Tiberium an hour ago

    It feels like the first half of blog post is less of "thoughts on the Bun Rust Rewrite" and more "I don't like Jarred, he's a bad programmer and manager".

    Maybe I'm wrong, but it strongly feels this way. I'm not saying that Andrew is right or wrong, it's just that you could throw out most of the first half of the post and not lose anything actually on topic.

    > But having graduated from the Thiel Fellowship school of thought rather than university, he was essentially groomed from a young age into uncritically embracing the Silicon Valley mindset, and he took venture capital.

    > Jarred was a stinky manager. Poor communication, unrealistic expectations, low empathy, no experience. Just a total shit show, from an employment perspective.

    > Jarred was already writing slop well before he had access to LLMs

    • christophilus an hour ago

      Andrew is right. I’m sure his emotions come through here, but his take on these things lines up with everything I’ve seen.

      • mi_lk an hour ago

        Same. After following the drama on HN and Twitter it's pretty clear Jarred has been intentionally doing something that's hurting Zig/Bun community. What I've seen check out with those statements in the post

        • slekker 44 minutes ago

          To me, most on HN have drank the AI koolaid (and/or are financially invested in it), and God forbid a direct and personal critique on a project owned by Anthropic!

          We must not let the shareholder value fall /s

          • mi_lk 40 minutes ago

            You only need to follow Jarred/Bun's own comments on Twitter/HN to figure things out, where selective info were posted based on some agenda instead of clearing things up, aka communication

    • androiddrew 14 minutes ago

      I mean I wouldn’t want to work for Andrew Kelley either. Doesn’t mean I don’t see utility in zig. Taking swings at a pretty toxic culture (silicon valley) while refreshing also paints a target on your back. This isn’t unhinged shit though so it hasn’t dissuaded me from learning Zig

  • jesseschalken 21 minutes ago

    > The sleight of hand misdirects the reader away from the main way bugs are eliminated: by dedicating engineering resources to it.

    Why don't YOU spend the engineering resources to add RAII and a borrow checker instead of blaming your users?

  • ninjahawk1 17 minutes ago

    When you said that “His code was slop well before LLMs” got a good cackle out of me.

    The fact is, most people don’t have taste and haven’t had taste, LLMs just amplify what was already there. Good taste is good taste, slop is slop, and shit is shit.

    Glad you guys were able to go your separate ways.

  • themgt an hour ago

    Zig is getting that Elm, etc vibe. Genius/visionary BFDL who's also personally incapable of leading the project towards healthy long-term viability.

    Say what you will about Matz or José Valim, I don't think they'd ever write a "and don't let the door hit you on the way out" screed full of personal attacks ("stinky manager", "writing slop", "a total shit show") against a person who led a very prominent project and financially supported the language.

    • mtndew4brkfst 2 minutes ago

      Other people (not meaning this about you) very frequently seem to throw around the BFDL acronym uncritically without remembering or caring that Benevolent is the first word in there.

      This blog post is mostly made up of pettiness and is not an isolated incident - he is often pretty "spicy" or downright hostile in comments sections when making an appearance.

  • andrew_ 25 minutes ago

    The project needs an adult in the room - preferably someone less on the spectrum - who approves this content before it goes out. This reads as an incredibly butthurt, petulant rant, authored by someone deeply hurt that users are putting all the blocks into the square hole. Andrew would have been served better by a Linus-style curt takedown, rather than this drivel.

  • AlienRobot 27 minutes ago

    >We became increasingly horrified at the programming practices we saw in Bun's codebase. Hacks on top of hacks. Abuse of assertions. Most of all, recklessly speeding past feature after feature with very little time taken for reflection and elimination of bugs and technical debt.

    I'd like to know what the poor code quality in Bun looks like. Does anybody have concrete examples?

  • vincent-uden an hour ago

    I for one appreciate a public figure with a wildly opposed mindset to the Silicon Valley/VC-Funded/Ultrascaling/whatever crowd.

    The pushback is warranted and on point, especially the technical points. It has taken a suspicious amount of time to produce the fabled blog post which I don't think states almost any new information beyond what Jarred has already shared on twitter. The one (and very interesting) exception is the theoretical price of the rewrite via the API pricing.

  • FiberBundle 18 minutes ago

    I desperately hope that the Andrew Kelley style of software engineering will survive all of this; that users will continue to value quality and not be content with slop. This, of course, presumes that products built fully by agents will produce sub-par quality in the future. If they will be able to manage to glue all of this slop together without the project collapsing in on itself, none of this will matter. I just hope that this isn't the future of the industry.

  • tomlockwood an hour ago

    Is the bun rewrite actually done? There's no tag for the release, and as it stands robobun has almost 1.3k open PRs on the repo: https://github.com/oven-sh/bun/pulls/robobun

    It doesn't look done.

    And it looks like work on the rewrite began in early may: https://github.com/oven-sh/bun/commit/46d3bc29f270fa881dd573...

    So... its more like a 2 month rewrite that is definitely not done yet????

  • muragekibicho 17 minutes ago

    This is 2017 Biden vs Trump for people who know who Godbolt is

  • Jyaif an hour ago

    > he could have easily achieved a solid living via crowdfunding, even for San Francisco standards.

    That sounds completely surreal. Is Bun really used that much?

    • kristoff_it an hour ago

      That is a 100% on point analysis, there was a lot of hype around Bun since the beginning when it was an invite only project. Arguably that same interest is what got Jarred VC funding in the first place.

      Note that usage and public interest are not the same quantity, people also care about the potential of a project.

  • simianwords 44 minutes ago

    I notice something more interesting. This post shows Andrew to not only personally criticise Ben but also clearly shows an ideological stance against AI. I can see it from multiple angles - refusing AI PR's, refusing Anthropic's donation and multiple other things.

    Either this ideology helps Zig position itself as a hand crafted language. Or this ideology is self defeating.

  • orangeisthe an hour ago

    So bun went from bad Zig code to absolute slop Rust code?

    • jesseschalken 16 minutes ago

      Yes, but at least now its memory safe.

  • jdw64 an hour ago

    I read the post and roughly summarized it as:

    1.It felt uncomfortable that Bun was presented as a representative example of Zig. From the internal Zig perspective, it looked more like a bad example of how to use Zig.

    2.It felt uncomfortable that they spoke as if Rust prevents things that could actually be handled by Zig's style guide.

    3.I(OP,andrewkelly) don't think badly of Jarred as a person, but after signing a contract with VC, the management side has been poor.

    4.The Bun documentation looked like marketing.

    5.Bad contributions driven by AI came through indirect promotion of Bun, which attracted interest from people after it was acquired by Antropic.

    I understand that it's burdensome to see Bun as Zig's representative success story, and I get the wish not to see Rust rewrites through a lens of language superiority. But on the flip side, I'm not sure I would have ever learned about Zig if not for Bun.

    While the criticism is valid, I also understand Bun's position. After all, Antropic's acquisition of Bun was ultimately about showing that even a 'new language' can be used effectively with AI, and that's precisely where the friction arose.

    I think the refusal to accept AI from a purely human programmer perspective is a matter of personal values, and I find the Zig team admirable on a human level. (Though I'm an active proponent of AI, so my view differs.)

    Both sides have valid points, but sometimes I wish someone would turn the emotional and political dynamics of open source into a novel. I think it would be fascinating

    • alfiedotwtf 33 minutes ago

      Not accepting a PR because it was purely written by AI is like saying PRs will only be accepted if the developer used a standing desk for more than 75% of the time during the code's creation. In the end, as long as the code is not shit, who cares how the sausage was made!

      • lins1909 13 minutes ago

        I find it hard to believe you actually think those two things are similar or equivalent. I've heard many bad analogies in my life but this is so funny that it makes me think you're being sarcastic.

      • jdw64 27 minutes ago

        We have the potential to get along really well, but this isn't really the right comment thread for that, haha

    • adithyassekhar an hour ago

      *Ben

      • jdw64 an hour ago

        Sorry. Sometimes I can't remember the English spelling. Thanks for the correction. i've fixed it

  • Decabytes 34 minutes ago

    While I agree that the Zig code in Bun could be better, and that the Silicon Valley pressure to move fast and break things prevented a lot of suggested improvements, this feels like the same argument as people who write C or C++ where people think they wouldn’t make mistakes.

    For example this section

    > We've been trying to warn you about your comptime abuse for years.

    You could replace comptime with templates in C++ and it would be the same story. People will abuse features you put in the language. Is C++ a good language that people are just using wrong? According to Bjarne Stroustrup yes, and the C++ core guidelines fixes those issues, but a lot of people seem to disagree. Don't believe me here is an interview where he talks about memory safety in C++? ^1

    > Ryan: One thing that I think C++ is uh infamous for is kind of like memory safety issues or kind of foot guns that exist there.

    > Bjarne: I'm so tired of that. Um I haven't had those problems for years. Um, and somebody did a a study of the obvious problems with buffer overflows and um people hacking in using that kind of stuff and uh almost all of the uh these cases when people writing C style code or in C and uh Herb Server has a a talk with with actual numbers and they they are quite significant. It's it's sort of that kind of problems more than 90% are for people that don't write modern C++. They they use raw pointers to pass things around without um the number of elements. No fat pointers, no spans. um you you have them in C++. You can use them. You can use uh vectors. We have hardened libraries. Everybody has hardened libraries that that does the runtime checking. Uh Apple has it. Google has it. Microsoft has it. It's just not standard till now. C++ 26 has a hardened option that are standard. uh and the work I'm doing on profiles will give you a way of guaranteeing that you don't do the stupid things. Um so anyway, uh fundamentally theoretically the problem was solved many years ago and people just do what they've always done and get the problems they've always had. And uh that makes me sad and uh it's one of the things that makes me work on uh coding guidelines and on enforced profiles and on education. I mean education is one way to solve the problem. Is there a way to get the compiler to just prevent people from doing all those risky things? And is that enabled by default in modern C++ today? No, but it should be. I'm proposing that for C++ 29. Uh the simpler versions of that should have been in in in uh C++ 26, but there are still a lot of people even in the C++ standards committee that are very devoted to uh their old code and their old ways of doing things. Um there's people who says you should only standardize what is common in industry. But when the bugs are common in industry, you should do something else.

    Is this going to be Zig's answers to real issues that people have in the real world?

    > We became increasingly horrified at the programming practices we saw in Bun's codebase. Hacks on top of hacks. Abuse of assertions. Most of all, recklessly speeding past feature after feature with very little time taken for reflection and elimination of bugs and technical debt.

    The vast majority of software is written by businesses, who have to cater to the lowest common denominator in their code base, including slop programmers, pre or post llm. They are not incentivized to go slower. That is the reality of what we need programming languages to help with in 2026. I've never met a professional programmer that has not seen or said the same thing about a code base that they've worked on.

    New programming languages need to contend with that reality if they want to be adopted en masse. If not they are doomed to not be adopted (which is okay I've created many programming languages that are just for me). But if a programming language in never adopted then the supposed benefits or improvements of the language never trickle down to us the users of the software, so they just remain interesting ideas (which again is okay).

    Andrew kelley runs a tight ship, and his foundation does not need a lot of money to keep going, but he has talked about how working on all the organizational transparency is not his favorite part of the project, and I can see why a lot of young programmers wouldn’t want to go that way.

    Now let me be clear I actually like Zig, and have promoted it on Hacker News before, and written some code myself. I actual uses Zigcc in one of my projects because it makes my life easier. I genuinely love the tooling of Zig, and I feel like the language respects my time.

    I also think that Andrew Kelley is a principled man with good engineering sense, and has turned down opportunities that would have made him a lot more money, were he to violate his own principles. That is admirable, and he has demonstrated it on so many occasions that it is currently not a question to me. What I would like to see, and what Andrew has said Zig focuses is how Zig can improve program correctness even more, without requiring me, or my coworkers to be a 10x programmer

    1. https://youtu.be/U46fJ2bJ-co?t=2780

  • rvz 33 minutes ago

    This is quite an interesting read from Andrew's perspective. But one line tells me everything I needed to know.

    > The blog post is expertly written. It's almost like the marketing department of a trillion dollar company has a lot of money riding on this article.

    Even Andrew knew that this was going to be Anthropic's marketing opportunity for AI to rewrite Bun from Zig into Rust. This post from Jarred says it all. [0] If you have access to hundreds of billions worth of resources (infinite tokens and compute), they don't care what others think and some relationships are just cheap to discard.

    Like I said before in [1] and [2], Bun (now Anthropic) does not care about you. They did this to market the capabilities of their AI models and this rewrite was an example of that in broad daylight. Even if Zig allowed AI generated contributions, this move was going to happen anyway.

    I cannot believe that many commenters in [0] at the time did not see that this rewrite was eventually going to happen.

    [0] https://news.ycombinator.com/item?id=48019226

    [1] https://news.ycombinator.com/item?id=48240829

    [2] https://news.ycombinator.com/item?id=48073893

    • androiddrew 8 minutes ago

      Yeah 100% they were going to do this anyways.