22 ms·
My thoughts on the Bun Rust rewrite
- asciimoo 3mo agoI 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 3mo agoI 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.
- asciimoo 3mo agoI 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 3mo agoExactly, it's some niche thing not a lot of people care about in my opinion. I certainly don't.
- AyanamiKaine 3mo agoI 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.
- blovescoffee 3mo agoI work on a site with millions of users and we use bun...
- efilife 3mo agowill you continue using it?
- newaccountman2 3mo agoWe use Bun at work.
- ivanjermakov 3mo agoI believe Bun gave Zig much more than it took away.
- jdw64 3mo agoI 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
- adithyassekhar 3mo ago*Ben
- jdw64 3mo agoSorry. Sometimes I can't remember the English spelling. Thanks for the correction. i've fixed it
- adithyassekhar 3mo agoAh I was just joking. Same here, non native english speaker, you did well.
- alfiedotwtf 3mo ago
- Tiberium 3mo agoIt 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 3mo agoAndrew 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 3mo agoSame. 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 3mo agoTo 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 3mo agoYou 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
- nilirl 3mo ago> I actually don't have any personal criticisms of Jarred The whole post felt like a personal criticism of Jarred.
- vincent-uden 3mo agoI'd consider the opinions professional criticisms of Jarred. While focused on him individually I don't think they are very personal
- whimsicalism 3mo agoi think they are extremely personal and actually very distinct from professional criticisms.
- nicce 3mo agoCan 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 3mo agoYes, 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 3mo 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?
- Jyaif 3mo 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 3mo agoThat 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.
- simonw 3mo agoA project getting hype does not mean that same project could sustain itself through crowdfunding.
- manquer 3mo agoTrue, it alone cannot help, however hype begets following which helps in crowdfunding. The dynamics are not any different from content creators translating their following to income on Patreon -larger the following better the chances.
- manquer 3mo ago"Crowdfunding" here likely means a bit differently than gofundme style projects - it is not $1-2 monthly contributions from individual developers donating from their personal money. It would be quite impossible to fund any kind of salary with that as you imagine. It is closer to corporate sponsorships, plenty of projects[1] can pull in few hundred thousand a year. The post itself talks about a $5k/month donation from Bun to Zig Foundation. ZSF generates about a half million in donations https://ziglang.org/news/2025-financials/ https://ziglang.org/news/2025-financials/ The "crowdfunding" term is here to contrast direct VC funding (that Bun took) from a single source to more diffuse(albeit smaller) funding that ZSF style projects operate under. Without VC funding Bun wouldn't need to , and if non profit 501(x) then simply not even be to consider an acquisition from Anthropic. Of course Zig (and other projects) benefit from indirect VC funding too - Bun could only afford to donate $5k/ month on Zig because they took VC money after all. We can always keep going down this secondary/tertiary effects for any tech funding it would unavoidable even with direct small donations - people who contribute are likely drawing salary from VC funded companies, and would contribute less if market goes south and funding plus jobs dry up. . The idea being the level of influence from corporate goal pressure reduces with degrees of separation. There is a good amount history of this model. Linus Torvalds work itself is by funded by Linux Foundation through a fellowship. LSF charges $500,000 from their 12 Platinum members that includes Microsoft. Nvidia is a silver member, he has famously used some colorful language against both in the past, which in theory would be lot more difficult without the diffuse structure LSF generates funding ( compared to direct employment/VC funding). [1]That isn't to say that a lot of core projects the entire internet economy depends on is maintained by one guy in Nebraska voluntarily without any support.
- SuperV1234 3mo 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.
- coffeeaddict1 3mo agoC++ would also introduce a myriad other subtle safety problems that would require years of expertise to even notice.
- mungaihaha 3mo agoI'd like to see an example
- skydhash 3mo agoI’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.
- feverzsj 3mo agoIt's more like a transpile, far from idiomatic rust.
- cyber1 3mo agoTo 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?
- Tiberium 3mo agoBut Rust is exactly the tooling that gives humans and LLMs a lot of those checks for free, and things like RAII.
- cyber1 3mo agoIf 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.
- galangalalgol 3mo agoThe 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 3mo agoEven 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.
- vincent-uden 3mo agoI 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.
- whimsicalism 3mo ago[dead]
- orangeisthe 3mo agoSo bun went from bad Zig code to absolute slop Rust code?
- jesseschalken 3mo agoYes, but at least now its memory safe.
- orphea 3mo agoAllegedly.
- whimsicalism 3mo agoAnyone who would write an article like this is much more distasteful to me than anything Jarred did.
- 7barcherry 3mo agoWhy? 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 3mo agoI 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 3mo agoJared’s post was entirely technical, this post was mostly personal.
- bbg2401 3mo agoJared 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.
- themgt 3mo agoZig 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 3mo agoOther 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.
- lacedeconstruct 3mo agoI am sorry but andrew is no where near the level of Evan imo
- bpavuk 3mo agowell, 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 3mo agoYeah 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 3mo agoI have a working port of ghostty to rust ... not even kidding
- embedding-shape 3mo 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.
- tomlockwood 3mo agoIs 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 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/46d3bc29f270fa881dd5730ef1549e88407701a5#diff-b3c07d9485bc3ae6894a60cba66d6d93c1c43223c9dcf47ad64691930f090152R352 https://github.com/oven-sh/bun/commit/46d3bc29f270fa881dd573... So... its more like a 2 month rewrite that is definitely not done yet????
- simonw 3mo agoFrom the rewrite to Rust article: > Bun v1.3.14 was the last version of Bun written in Zig. Bun v1.4.0 will be the first version of Bun written in Rust. It's available in canary now. It's also been shipping with Claude Code since June 17th.
- tomlockwood 3mo agoIt's been shipping in the company that's success is partly contingent on it shipping? But there's no release? Curious.
- simonw 3mo agoSounds like the first release is coming very soon. Given the size of the rewrite I think it's pretty responsible to dogfood it a lot - including with a Claude Code release - before pushing a stable release to the wider community.
- hazn 3mo agoDespite 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 hardcore 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.
- slekker 3mo agoYour 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 3mo agoYes that's true, I'm biased because I am pro-AI. What are your hopes and predictions for the Zig project?
- slekker 3mo agoI 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
- vharish 3mo agoNothing against Pro AI but their stance on wanting to write code by hand is not bad either. AI does over complicate things and there's a lot of slop. For a systems programing language, AI doesn't sound like a right fit. I'm personally tempted to reduce the dependency on AI. IMO, after a while, the overall productivity plateaus.
- Tiberium 3mo agoTo 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.
- sarreph 3mo agoIt'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 3mo 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 3mo agoSure: > 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 3mo agoThe second thing is not an ad hominem, it's talking about what he did or how he did it, not who he is.
- ribelo 3mo agoCasting aspersions without proof, even if it's something everyone knows, is in poor taste and ad hominem. I've never heard a bad word about Jaredd before, so Andrew seems more like a stinky person to me right now.
- speedster217 3mo ago
- simianwords 3mo agoI 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.
- 0xpgm 3mo agoI'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.
- dzonga 3mo agoarticles 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 3mo agoI 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
- mtndew4brkfst 3mo ago"If this was a tweet people would be fine with it" Actually, some folks do care about how the leader and public face of a project conduct themselves regardless of venue. If a different public figure ie some CEO wrote something reprehensible about some particular ethnic group, is it more excusable or forgivable if they did it on their personal social media account rather than the company blog? Same basic thing. Public writing in a personal space is still public writing. Being held accountable for publicly stated views is an inherent part of sharing them in public, no?
- deleted 3mo ago[deleted]
- lifthrasiir 3mo agoWhile 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.
- Decabytes 3mo agoWhile 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? I'd argue that's not good enough for a modern systems programming language. > 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. We will never see a mass adoption of Tiger Style programming (though I would be happy to be proven wrong). 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). > This attention could have been harnessed in a few different ways. For example, he could have easily achieved a solid living via crowdfunding, even for San Francisco standards. 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 want the language to succeed 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 https://youtu.be/U46fJ2bJ-co?t=2780
- fwlr 3mo agoI 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.
- daishi55 3mo agoIt’s just one long ad hominem
- grahar64 3mo agoI 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
- roetlich 3mo agoNo, the discussion started with a the article from Bun, stating that rust has some technical advantages for them. The response from the Zig creator is a bunch of personal attacks directed at one guy, like calling him a stinky manager. All of these are fully unrelated to which language is better for Bun. This is like the textbook definition of an ad hominem.
- afiori 3mo agoTo be pedantic the ad hominem fallacy is about trying to deny an argument by attacking the author, so in a discussion about zig Vs rust if Andrew isn't trying to enter the discussion and just argue "that guy was stinky, glad he is gone" is not really an ad hominem, just not classy let's say.
- roetlich 3mo ago
- rvz 3mo agoThis 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 https://news.ycombinator.com/item?id=48019226 [1] https://news.ycombinator.com/item?id=48240829 https://news.ycombinator.com/item?id=48240829 [2] https://news.ycombinator.com/item?id=48073893 https://news.ycombinator.com/item?id=48073893
- androiddrew 3mo agoYeah 100% they were going to do this anyways.
- dnoberon 3mo agoNot 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.
- conartist6 3mo agoMakes me want to give him a handshake and a big hug
- mtndew4brkfst 3mo agoAndrew'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 3mo agoGiven the chronology set out by Andrew, I think it's warranted anyway.
- beanjuiceII 3mo agoi watched a youtube video where he called out people as garbage programmers... i felt that was petty, his streak continues i guess
- bearead 3mo agoCould you please link the YouTube video? I tried to search but couldn't find one with "garbage programmers".
- lkey 3mo agoIts an attack an Jarred's public, (un)professional behaviour. One most of us in the community have born witness too in recent months. "Jarred, in his professional capacity, drove away many from our community, and we'd prefer to disassociate." is not 'Jarred is a bad person, privately'. Now, in these circles, that might as well be the same thing, given how little personal life I imagine most VCs have left outside of work. But that's not really Andrew's problem. I won't defend Andrew's style; I think he could mask some his neurodivergence more when communicating to a wider neurotypical audience. But it's his project, his community is certainly aware, and this too, is a known quantity. It might help you though, to reread the piece with the assumption that Andrew is being completely sincere, without adding in a secondary subtext like, "Andrew is trying to assassinate Jarred's character".
- Havoc 3mo 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…
- vitorfblima 3mo agoI'm quite confused by this. Is calling someone a "stinky manager" a personal attack? It's funny that we can't differentiate the person from his "job". I work with some shitty managers, but I don't hold it against them on a personal level...
- Havoc 3mo agoDon’t think there is a clear line to draw as to where the person stops and the professional performance starts when it comes to management because on soft skill it is inherently driven by personal attributes. It’s a bit like a good salesman exudes likeability - it’s integral to the performance of the job and part of the person. He may well be a shit manager. I have no idea. Either way it’s not something you casually throw out there in a blog like this
- elktown 3mo ago[flagged]
- fourseventy 3mo agoAre you serious? If I told you to your face "you are shitty at your job" you don't see that as a personal attack?
- miyoji 3mo agoIt depends on what job you're talking about. I've definitely been shitty at several that I've had in my life, if you're talking about those I would simply agree with you.
- delegate 3mo agoA 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.
- giancarlostoro 3mo 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.
- AlienRobot 3mo 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?
- let_rec 3mo agoThe 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.
- rob74 3mo 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 3mo agoI’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 3mo agoC/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.
- beanjuiceII 3mo agorust is currently making its way into linux kernel, core contributors even did rust conf talks...windows already has rust going into kernel and core libraries, osx is also adopting rust, its making its way into all those 'foundational works' you're talking about.. so i'm pretty confused what you are saying
- entrope 3mo agoCan you elaborate on the distinction between "eliminate the hazard" as the first choice and "engineering out the hazard" as a fallback approach? In my safety background (recently aerospace, ARP4754/4761), removing and avoiding the hazard are essentially equivalent, with reducing the likelihood and mitigating its effects acceptable if you can't remove or avoid the hazard, and procedure is also the least preferred mechanism.
- andrew_ 3mo ago[flagged]
- lynellf 3mo agoAgreed. Valid criticism and concerns are drowned out by personal feelings. Probably should have ran his post by an AI.
- jmstevers 3mo ago> preferably someone less on the spectrum Are you implying that this reads as all those bad things because Andrew is supposedly autistic? And that if he were to not supposedly have autism, this post wouldn't have read as all those bad things? This reads as an incredibly ableist post authored by someone who thinks autism is an insurmountably negative thing and that someone with "sufficient" autism shouldn't run a project. As if autism is a percentage where once you get past 33% you immediately become incompetent. Be better.
- andrew_ 3mo ago[flagged]
- jmstevers 3mo ago"No one else cares about someone being discriminatory towards people with autism". Okay bro. Yes the reason I posted that comment was to be performative for a 2018 tech twitter audience. Grow up and have some empathy instead of being antisocial on an internet forum
- 0x7265616374 3mo agoNah you're just another ism ist identity sociopath. Only a sociopath would reply like you have.
- jmstevers 3mo ago
- tuckwat 3mo agoThis 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?
- zeratax 3mo agohow is it attacking him for using a different product? except for compile times nothing here even indicates that rust would be a bad choice for bun
- lins1909 3mo agoIt'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 3mo agoDo 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.
- lins1909 3mo agoUhm, I'm very confused by the last part of your comment. You put it into an LLM to...understand the tone? Is that supposed to convince me of something?
- 3mo ago
- vmg12 3mo 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 year 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. edit: changed month to year
- alex_suzuki 3mo ago> Anyway, Jared donated $60k a month to this project $60k per year, which amounts to $5k per month. Still, nothing to be sneered at.
- demilicious 3mo ago> 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. Can't say my experience matches yours. Types do seem to structurally reduce some varieties of bugs, but ultimately the only reliable way I've seen to close the gap is hire disciplined people who care about, and thoughtfully consider, what they build. E.g., the shittiest codebases I've ever seen were TypeScript. It in no way prevents you writing bugs or slop
- vmg12 3mo ago> but ultimately the only reliable way I've seen to close the gap is hire disciplined people who care about, and thoughtfully consider, what they build. You were able to turn around a codebase that was growing its bug count exponentially by changing an entire company's hiring practices? I really don't believe in the "just don't be stupid" or "don't hire stupid people" approach to things. If it works, it only works at a small scale and once things become urgent enough, things fall apart.
- thiht 3mo agoI’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
- jesseschalken 3mo 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?
- vovavili 3mo agoDedicating 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.
- FiberBundle 3mo agoI 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.
- muragekibicho 3mo agoThis is 2017 Biden vs Trump for people who know who Godbolt is
- ninjahawk1 3mo agoWhen 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.
- preommr 3mo agoThere 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.
- nesarkvechnep 3mo agoIn what way the article convinced you that Andrew Kelley is not professional enough for a serious project like Zig? Isn't his contribution to the language what's important?
- orangedog 3mo agoHe's leading the community. Not having basic professional does indeed kill them vibe for some of us. When is he going to pile on somebody else he disagrees with?
- dpatterbee 3mo agoZig's community is - bar none - the least toxic programming community I've experienced. People on this website (who have never witnessed a single Zig community interaction) love to read blogposts from afar and come to conclusions this way and that, but if they ever stopped to actually engage with the people involved they'd find out the truth quite easily.
- orangedog 3mo agoI have engaged with the Zig community. You're saying that people should not come to conclusions based on what they just read.=, from the founder nonetheless.
- rwlank 3mo ago[dead]
- AyanamiKaine 3mo 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?
- homebrewer 3mo agoGhostty, TigerBeatle. The other two poster children.
- lynellf 3mo agoAndrew sounds whiney. His reasoning seems sound until he begins to attribute Bun for an uptick in drive-by slop contributions. The man may need some time to decompress, away from social media.
- csande17 3mo agoBun's bundler claimed the bottom place in my recent analysis of how JavaScript tools handle generating inline script tags[1], because despite making lofty promises about being able to bundle applications into standalone HTML files, it produced a baffling combination of spurious syntax errors and miscompilations when presented with tricky code. I'm pretty sure the version I tested was the Zig one (have they made a stable release of the Rust rewrite yet?). So I can definitely see how Bun's move-fast-and-break-things philosophy would have been a poor fit for the Zig community, even prior to the Rust rewrite. [1] https://carter.sande.duodecima.technology/inline-script-pitfalls/#bun https://carter.sande.duodecima.technology/inline-script-pitf...
- aureate 3mo agoAm I right in thinking the Bun rewrite hasn't actually been released yet? There was a big kerfuffle when it was merged to master and people seemed to be behaving like that meant it was all done and dusted (as does this article), but it looks like the last release is still 1.3.14 from April so presumably general users are still on the Zig version? Is there a timeline for release?
- Philpax 3mo agoIt's shipping soon https://bun.com/blog/bun-in-rust https://bun.com/blog/bun-in-rust and has been shipping in Claude Code for the last three weeks https://bun.com/blog/bun-in-rust https://bun.com/blog/bun-in-rust .
- davexunit 3mo agoSuch a refreshing take after all the marketing nonsense from Bun. Zig is a glimmer of hope in a world of slop.
- sepisoad 3mo agoi think the blog post was very honest and direct and i could not agree more with andrew, now i’m not a zig user and i don’t find the language itself pleasing but it’s just a matter of taste, i admire a few things in zig community, the focus on human relationship with learning and discovery and the focus on performance and building a meaningful relationship with members of community, I wish all the best to the zig and its community, although i have heard a few years ago that andrew was making apologies for not having enough diversity (race and skin colour wise) which i guess was a very dumb statement, but hey we all make dumb statements! I really admire his stance on AI and agentic code contribution and the joy that they find in crafting good tools.
- fp64 3mo agoI like zig a lot, I share its core philosophy, and I generally agree with Andrew's views. I found this article interesting, and I think it is understandable in all of this to be a bit bitter towards Bun and Jarred - in some sense, it had turned into a big "If you don't use Rust in 2026 you are stupid" which directly hurts the Zig project. Personally, I prefer zig over most other languages. I find "memory-safety" is bought at the price of code that is not straightforward to reason about and requiring a steep learning curve. The reader's working memory is filled up quickly with language constructs and crutches rather than with the actual logic of the code at hand. I have used C++ for a large part of my professional career and eventually got so annoyed by always having to cross-reference multiple files to check which behavior might be used by which constructor and things like that. I have written a big and critical system in pure C once, just to try, and while I would not do it again, diligence and testing resulted in virtually zero runtime failures across its lifespan - while it was always possible to quickly reason about all the logic that tied low-level hardware access and near-realtime requirements together in a way much more visible than hidden behind layers of "safe" abstraction. Zig is, for me, the sweet spot: It solves the terrible issues that plain C has, and adds a lot of convenience on top that does not obscure the logic, while encouraging but not enforcing safe patterns.
- cafkafk 3mo agoThat "I actually don't have any personal criticisms of Jarred" made me do a spit take, because a majority of what I had just read was absolutely a personally targeted criticism of Jarred. Whether that's "okay" is a totally separate issue. I have no idea what the history here is, or whether this is warranted. But that was absolutely a personal criticism!
- JurassicTyler 3mo agoWhen I read about the bun rewrite I thought no sh*t, those are the exactly the types of bugs I would expect when doing a line by line rewrite of a program in a GC language to memory managed. I was unimpressed with the engineering from the blog, and I'm not surprised to read andrew say they claimed no fuzz testing. I know someone who interviewed at bun when it was less than 10 people (around 5 he said). Allegedly jared lowballed the fk out of my friend, claimed they had no money because they're a startup, then proceeded to offer <1% equity
- outpost_mystic2 3mo agoI think I'm missing something; neither zig nor rust are GC languages. Did bun originally start off in javascript or something, and the rewrite you're referring to is from JS to zig?
- JurassicTyler 3mo agoFirst line of the original article (not including the disclosure) > Bun started as a line-for-line port of esbuild's JavaScript & TypeScript transpiler from Go to Zig Then proceeded to talk about use after free bugs, leaks, and other things that wouldn't exist in GC written programs. Ironically, my friend jared lowballed is an expert in C, runtimes and threading
- nsagent 3mo agoAndrew could have been more tactful in his blog post (though as I've grown older I often find less tact to be more effective), but it really sounds like accommodating Bun was a net negative for Zig. When Jarred joined the Zig community about 5 years ago, I described him as someone who had strong "beginner energy". I wouldn't call it beginner energy, though I understand it might seem like that. Rather, it's an approach to development and no amount of time changes it.
- ChrisArchitect 3mo agoRelated: Rewriting Bun in Rust https://news.ycombinator.com/item?id=48837877 https://news.ycombinator.com/item?id=48837877
- beepbooptheory 3mo agoThe video he links to at the end is such a strong message, somehow able to celebrate the promise of AI while not afraid to point out whats complicated, or even fraught there. AI is, truly, a reflection of ourselves, our own hangups, prejudice, desire. Its both what draws us to it, but also inspires us to be critical. Thanks for the prescient reminder there OP.
- holysantamaria 3mo agoWhy do I feel like reading the post of someone jealous or with low self esteem issues? Zig was not a good fit so why does it have to be a personal attack on the Bun maintainer over his life choices and his management decisions? Whatever beef you have with someone it should not be « zig is for elite and you are just an evil corporate maintainer because you are holding it wrong »
- CrimsonRain 3mo agoBecause of that's what it is. Pure jealousy and personal attack in the veil of "it's not a personal attack bro" blog post
- ozgrakkurt 3mo ago[flagged]
- HenriTEL 3mo agoThank you Andrew for sharing your side of the story. We can see that the relationship with Bun and Jarred was far from easy. You say it with your own words and even if it sounds bitter I like it much more than some bland AI assisted content.
- pornel 3mo agoI've watched an interview with Andrew Kelley: https://youtu.be/iqddnwKF8HQ https://youtu.be/iqddnwKF8HQ where he seemed much more chill and level-headed.
- jtrueb 3mo agoThe callout about auditing inline and comptime reminds exactly of the C++ point made about how you have to follow the style guide. Whoosh?
- coalstartprob 3mo ago[dead]
- fuckyah 3mo ago[dead]
- fourseventy 3mo agoSo is this guy going to dress down any project that decides to move off of Zig? If Mitchell Hashimoto decides to move Ghostty off of Zig to C or Rust will we get a scathing blog post about that too?
- krupan 3mo agoWhy would you extrapolate to that conclusion?
- Jarred 3mo agoI have learned so much reading Andrew’s code and as I said in the original post: Bun would never have happened without Zig. > 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. Fuzzilli integration: https://github.com/oven-sh/bun/pull/24826 https://github.com/oven-sh/bun/pull/24826 Merged PRs fixing issues Fuzzilli found in Bun’s Zig code: - https://github.com/oven-sh/bun/pull/28926 https://github.com/oven-sh/bun/pull/28926 - https://github.com/oven-sh/bun/pull/28934 https://github.com/oven-sh/bun/pull/28934 - https://github.com/oven-sh/bun/pull/29255 https://github.com/oven-sh/bun/pull/29255 - https://github.com/oven-sh/bun/pull/29210 https://github.com/oven-sh/bun/pull/29210 - https://github.com/oven-sh/bun/pull/29199 https://github.com/oven-sh/bun/pull/29199 Searching “Fuzzilli” shows more PRs: https://github.com/search?q=repo%3Aoven-sh%2Fbun+is%3Apr+Fuzzilli++is%3Amerged&type=pullrequests&s=created&o=asc https://github.com/search?q=repo%3Aoven-sh%2Fbun+is%3Apr+Fuz...
- nsagent 3mo agoYour links show you used a fuzzer, but that doesn't address the other half of Andrew's statement. Is Andrew misreporting/misremembering your conversations? EDIT: It's really telling that asking a factual clarification question is somehow downvote worthy. I probably shouldn't be surprised, but this epitomizes the reason online discussions devolve in to flame wars (even moreso than real life, though it happens more and more there as well). The answer could be as simple as we didn't use a fuzzer until recently so both are accurate. I honestly don't know, which is why I'm asking. Yet somehow just asking is triggering to people.
- mi_lk 3mo agoOr, did the whole Bun team indeed state the otherwise to Zig?
- lolinder 3mo agoNo one's obliged to respond to hearsay by trying to guess what the other party might have misheard to arrive at a false conclusion. It's enough to demonstrate that the conclusion they came to was false, and if the other party would like to defend themselves they're welcome to explain why they came to that misunderstanding.
- Ygg2 3mo agoDisclaimer: I'm bullish on Rust. And I think LLMs are overhyped, and kind of overhated. Honestly, I think it would have been better if he had done the smart thing and ignored the noise around Bun's Zig -> Rust, and focused on code. If he was willing to ride the coattails of Zig being hyped by Bun, then he should have taken the hit when Zig and Bun parted ways. Hell, if he is that happy that they are leaving, he shouldn't have written that he is happy. Just smile and wave... So now Jarred wrote a very matter-of-fact post about migrating Bun to Rust, and Andrew Kelley wrote a ranty blog about Jarred sucking at Zig, and being glad he's gone.
- karatchov 3mo agoNever heard of Bun or Jarred before today I enjoyed his blog post about the migration to rust, it is an impressive feat if real ! I didnt see anything bad about Zig in the post, on the contrary it shows respect and that big projects can be done in Zig Next, I read Andrew's post, and the thing I see is: Jarred looks like an achiever, Andrew more like a butthurt childish whiner I also can see why Jarred made the migration, it is not only technical, and it was a great call IMHO
- shimekukuri 3mo ago[flagged]
- dofm 3mo agoHow this should have gone: "Dear Diary, Today I didn't post a response to a blog post that levelled minimal criticisms at my project. Below is the full text I didn't post."
- yomismoaqui 3mo agoAs an outside observer with no horse in this race I think this post its more about the feelings of Andrew than pure technical content. He must surely feel frustated about Bun's migration to Rust and what it means for Zig, but it reads as sour grapes. Compare the tone of this post to the one from Jarred about the Rust migration from yesterday, that one reads like a sensible technical document (no matter what you feel about the AI assisted migration). This one reeks of hurt ego to me. Hell hath no fury like a language creator scorned.
- snickerzoo 3mo agoAndrew Kelly be like "You give major beginner energy, you're a bad manager, your code is trash and I was soo happy when you left" and then ends with "this is not personal criticism BTW"
- mattstir 3mo agoCouldn't even get himself to say "thanks" for receiving $120,000 from the guy by the way, could only manage "that was cool"
- manish_gill 3mo agoWhy are we so eager to dismiss the very personal experiences of Andrew - someone who envisioned and developed Zig from the ground up? It is entirely within the realm of possibility that what he describes here did transpire. He had bad experiences with one of the more popular projects within the ecosystem - something that he hoped would become successful but the incentives were clearly misaligned. When in doubt - look at the incentives. And the incentives here are fairly obvious. On one hand we have an open source project that is focused on quality and craftsmanship, and on the other hand we have the world's biggest AI company. I am not anti-AI. But things like taste and quality matter. And I trust the creator of Zig more than the creator of Bun when it comes to said taste.
- bloody-crow 3mo ago> But things like taste and quality matter. And I trust the creator of Zig more than the creator of Bun when it comes to said taste. Having read both articles I'm in the opposite corner. I found Andrew's personal ad-hominem filled emotional post distasteful and Jarred's purely technical and filled with praise of Zig well written and in good taste.
- krupan 3mo agoBut it wasn't full of praise for Zig. It specifically pointed out that his project written in zig was full of memory safety bugs, and said that there was no way to get around that if the project stayed with zig. It's ludicrous!
- fnands 3mo agoHe never said impossible, just hard. But how is this news? Memory safety bugs are one of (if not the) main source of bugs in C/C++ and also Zig, and Rust's main claim to fame is that it makes it easy to catch these issues at compile time. I feel his criticisms of Zig are fairly uncontroversial.
- krupan 3mo ago
- classicposter 3mo agoI recall an instance where he mocked the project as "Microslop" on his blog and then quietly edited the post later. That aside, the earlier rewrite from TypeScript to Go involved efforts to minimize regressions as much as possible—such as announcements to users and the community, and a phased, one-on-one migration. This project, however, is a different story. It becomes from a buggy product to an entire slop product.
- classicposter 3mo ago> I recall an instance where he mocked the project as "Microslop" on his blog and then quietly edited the post later. Sorry, this is wrong. Not relating Bun project. https://web.archive.org/web/20260204011603/https://ziglang.org/devlog/2026/#2026-02-03#2026-02-03 https://web.archive.org/web/20260204011603/https://ziglang.o... > Microslop Windows provides a large ABI surface area for doing things in the kernel. However, not all ABIs are created equally. As Casey Muratori points out in his lecture, The Only Unbreakable Law, the organizational structure of software development teams has a direct impact on the structure of the software they produce.
- carllerche 3mo agoSounds like Andrew is using the same argument as Bjarne Stroustrup: if you use it right, you don't write bugs. It hasn't really worked out for C++.
- nickmonad 3mo agoHe's not. > "There's a dichotomy being presented here where you have to either choose a "style guide" or a programming language feature in order to avoid bugs. The sleight of hand misdirects the reader away from the main way bugs are eliminated: by dedicating engineering resources to it. You're not giving TigerBeetle nearly enough credit. Quite simply they put in the time to find and eliminate the bugs, they make an effort to maintain a healthy relationship with ZSF, and Bun did not do that." The reference to TigerBeetle is important, and a bit under-explained for the point he's trying to make. They have consistently attributed things like design and deterministic simulation testing to their success and reliability, which has nothing to do with Zig as a language. Some things might be _easier_ in Zig, such as static memory allocation, but ultimately, a holistic approach brings success, not one individual tool used "right".
- nicce 3mo agoBut is TigerBeetle then even reasonable reference as an argument for Zig? Maybe they could have reached the same with plain C.
- nickmonad 3mo agoZig still offers a lot of great additions that make systems work more reliable. Optionals and comptime are two helpful things C does not have, and there are plenty others. One of their core devs addressed this in a thread over on Lobsters [1] > Bounds checks, checked arithmetic, strongly-typed alignment, strongly-typed error codes, tagged unions, explicit undefined are some rather important language features. If Zig didn't exist, TigerBeetle would probably have been written in C, and the safety gap between C and Zig is just gigantic. And safety is one aspect of the language, Zig has a lot of going on for it elsewhere! [1] https://lobste.rs/s/6rkdik/rewriting_bun_rust#c_8gebpa https://lobste.rs/s/6rkdik/rewriting_bun_rust#c_8gebpa
- aayushdutt 3mo agoThe blog post looks a bit distasteful if I'm honest. I was expecting a technical writeup explaining why it was/wasn't a good fit for zig. > He gets to live out his productivity fantasy fever dream, he's probably already super wealthy. He has minor tech celebrity status. Looks like a backhanded personal comment? This didn't need to be in the article. > It's almost like the marketing department of a trillion dollar company has a lot of money riding on this article. > 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. Smells like a lot of bias coming in. The fuzzing part was not a fabrication. > sufficient to catch bugs in 1 million lines of unreviewed slop? I don't understand how even today software engineers are calling LLM written code slop? It's objectively much better than what most of the engineers write, and it's not stopping to get better. If you still believe this, try out any frontier model on any work that you are currently doing, that should change your mind. There still are like 1% of cases where LLMs are not that good, but even there almost all of the time the issue is in the engineer's steering, not the LLM. > There's a dichotomy being presented here where you have to either choose a "style guide" or a programming language feature in order to avoid bugs. He says this, but doesn't give the steps to solve this? > we all felt at ZSF that Bun was a net liability. > "It Tastes Like It's Not My Problem Anymore" > influx of tasteless AI enthusists into Zig communities This may be the stance that encouraged Bun to leave.
- sevenseacat 3mo ago> I don't understand how even today software engineers are calling LLM written code slop? It's objectively much better than what most of the engineers write, and it's not stopping to get better. If you still believe this, try out any frontier model on any work that you are currently doing, that should change your mind. There still are like 1% of cases where LLMs are not that good, but even there almost all of the time the issue is in the engineer's steering, not the LLM I don't understand how anyone can say this with a straight face. And how you automatically assume that anyone who has this opinion, is just doing it wrong by not using the latest models. "The significant percentage of people who are pointing out problems and issues with LLM-generated code are all just holding the tool wrong!" While of course skill and experience plays a part, if so many people are trying to get good output from a tool and failing - the problem isn't with all of the people, the problem is with the tool.
- mstaoru 3mo ago[flagged]
- crowdyriver 3mo agoI think people are overfocusing on the wrong thing. Bun is slop. Let's not pretend it is not. It went from 600k lines of zig to almost a million of rust, for a wrapper around a js engine. It might be useful slop, but it is still slop. It's understandable to have mixed feelings about bun as the creator of the language. You spend 10 years of your time making a language, and one of the most prominent projects that uses it does it in a nasty and sloppy way. You try to help, but your advice gets ignored. You make a whole language about improving software quality, only to be associated with a project that doesn't care about it. For once I do appreciate that somebody is willing to have the guts to say what they think. The bun rust rewrite article said no words about the tradeoffs of moving to Rust (compilation times?), and I agree with the false dichotomy presented. How do we know that most bun bugs were not created because of slop / AI usage / stubbornness?
- Zakis1 3mo agoYikes, the majority of this blog post is saying basically "skill issue" and "Jarred bad engineer", but I think that hurts Zig far more than Andrew realises. If Bun, a disaster of engineering apparently, simply just switches to Rust and all of their issues magically disappear... then the Rust Vs Zig war is over before it started right?
- krupan 3mo agoYet to be determined. The rust port isn't fully released yet. That might be why they hurried and declared victory now instead of waiting until later?
- Tadpole9181 3mo agoThe rust port is the canary build now, being actively deployed to production in Claude Code and Prisma Compute (Beta).
- sometimelurker 3mo agoreminds me of https://www.lesswrong.com/posts/qEbqPitYhWHthwFNu/bun-s-migration-from-zig-to-rust-as-a-potential-case-study https://www.lesswrong.com/posts/qEbqPitYhWHthwFNu/bun-s-migr.... remember anthropic owns bun
- suis_siva 3mo agoEx-Bun employee for transparency. I have skin in the game. I respect andrewrk and Jarred in different ways. My understanding are that neither are media trained. Very patronizing post from andrewrk and shows his hostility towards Jarred. I mostly agree with the core meat and potatoes of his post, but the hostile tone, the snarky VC-related remarks, the fact that *most* of his comments felt like a defensive remark. Yes -- bun has problems. Yes -- bun moves very quickly. Yes -- the 1.4 post seems quite heavily copy-written. Yes -- Jarred doesn't have a syseng background. But god fucking damn Andrew, you have some problems too -- you have your head up your ass. Every Zig feature that people would love to have, which you personally disagree with will NEVER enter Zig. Why do I still need anonymous structures for lambdas? Sure, no closures I get, but no lambdas? My friends at Tesla tried Zig and then churned to Rust too, for the very same questionable leadership model. Zig will never be a general purpose language because the people -- who have many different generic and general purposes for a language -- simply don't get what they want. Zig is an andrewrk-purpose language at best. Is this leadership for the future of Zig? I don't want to slander andrewrk. With the brief hiss I've provided, I think he does a more-or-less great job with Zig. It's a really small team, and they're really productive too. The ZSF is a really nice set of people too, from my brief fly-on-the wall moments with meetings with them. They care about Zig and they work really darn hard for it. I've also learned a huge amount from andrewrk, and I respect that he's an off-the-cuff guy. Surprisingly, I am too. Chances are, in his shoes, I'd probably get equally rage-baited to write a similar post. But reflecting upon this, this is just not productive. These kind of public outlashes are not healthy for the language, don't cause good publicity, and could have been a useful reflection point for the ZSF -- not in terms of money, but in terms of what they want to do with the language. Instead of being a strawman at Jarred, it could have been: - Bun's not the greatest code quality. (And it really isn't -- I was very stressed by this at work) - Zig doesn't aim to give you tools to manage complexity. We expect the developer to adhere to high code quality. (And this is also very true, coming from C++ -- I was also very stressed by this reality.) - The AI-generated rewrite is not a good idea for reasons XYZ (and I personally think this is true). - We are grateful for Bun being part of the ecosystem, but agree it doesn't adhere to our ethos, nor design philosophy, so it makes sense. The discussion in the Rust circles (which I am a part of too) is completely different and so much more nuanced -- folks are talking about the code, how many unsafes there are, some of the very valid concerns, but the tone is significantly less enraged. This is a perfectly legal, polite way to leech on top of the media attention (I mean we are all doing it), maybe throw in some spicy bits with references to some GH issues to stir Twitter up but remain polite and respectful. This was just rude for no good reason, esp. because Jarred CLEARLY was only very respectful towards ZSF. Personally, I won't run Bun in prod, but I no longer write any Zig either. Good old node for me, and good old C, Rust and C++ too.
- alkyon 3mo agoCalling someone "stinky manager" is not ad hominem. It's a way of saying that he's managerial skills are very poor. Does it relate to the argument? Very much so. Changing a bread factory into a slop factory makes Jarred a stinky manager and even a "sloppy" one
- Ar-Curunir 3mo agoWhat a petty article. Does not reflect well on the Zig community at all.
- mcdow 3mo ago“no open source project will succeed with this level of unprofessionalism” y’all clearly are not acquainted with some of the things Linus has said on the LKML
- krupan 3mo agoOr the systemd guys, or the OpenBSD guys, or the GNU guys, or the Open Source guys, or the Oracle guy, or the Apple guy, or the Microsoft guys, or just about any leader of a big project/corporation
- ksec 3mo agoJust 12 hours [1] before I wrote on HN how I hope Zig won't do a hostile reply to Jarred's blog post. I was half expecting it to be from Loris Cro, being VP of community for Zig. But was really hoping Andrew would write one himself, hopefully being more diplomatic. I was wrong. Even if everything that was listed in the blog was true, it could have been either not mentioned, or in all cases put it in much better way. And that is why copywriter are worth something. Disagreeing on AI, How to run its business, low salary for Zig's job hurts the Zig foundation, Code quality, meaning on Fuzzing etc. Instead a lot of this now reads to me as direct attack. It could have been written as a heavy disagreement in a much more professional manner. And no, professional doesn't mean cooperate speak. Considering the Internet was on Zig's side when Bun switch to Rust was brewing. Sigh. [1] https://news.ycombinator.com/item?id=48842172 https://news.ycombinator.com/item?id=48842172
- nemothekid 3mo ago>There's a dichotomy being presented here where you have to either choose a "style guide" or a programming language feature in order to avoid bugs. The sleight of hand misdirects the reader away from the main way bugs are eliminated: by dedicating engineering resources to it. You're not giving TigerBeetle nearly enough credit. In a post-Rust world I really don't like the rebuttal for eschewing memory-safety is always "you aren't engineering hard enough". The guys at TigerBeetle are "real engineers" and don't need memory safety. If I'm spending most of my time manually chasing memory errors, I didn't "real engineer" hard enough. Chasing esoteric memory bugs are the worst kinds of bugs to pin down. They are always non-obvious (because if they were they would be fixed) and almost always non-deterministic. I'm just can't escape feeling like new memory unsafe languages are just hobby projects.
- krupan 3mo agoI've chased down plenty of esoteric bugs in my career and memory safety ones were usually the easiest. There are tools like valgrind, address sanitizer, etc. that help with those, or, like you said, there are memory safe languages (any interpreted language, for example). I've dealt with even harder to find bugs from things such as: - misunderstood specifications - missing else clause to an if statement - wires with the insulation rubbed off in an embedded system with a mechanical design flaw - accidental endless loops starving all other tasks - priority inversion - string encoding problems - byte order problems - etc., etc. From everything I've read now about this bun project, I won't be surprised to hear that it continues to have lots of bugs even after this rewrite to rust
- padjo 3mo agoWhile there are some interesting nuggets of context in there we could have done without the passive aggressive tone and personal attacks.
- maximilianburke 3mo agoWhat a complete own goal. I wouldn't want to have anything to do with Zig if there's a chance the head of the ZSF writes a blog that contains a substantial portion of unsubstantiated, unattributed personal attacks directed toward me. Maybe Jarred wasn't easy to work with, but that doesn't mean that it's a good idea to publicly air all the dirty laundry. He at least seemed to have his heart in the right place by donating a substantial amount to the project.
- vanh4lt 3mo agoI sincerely don't understand why speaking from a personal perspective to another person is considered a bad thing. Andrew is Zig's leader, and he is defending himself and his project from what he perceived as damaging. Jarred did the same. We are human beings. We have interpersonal relationships. We enter relationships, and we also leave them. Also, calling this "drama" in a pejorative way is a simplistic, head in the sand attitude. Again, we are human beings, and our interactions are going to involve drama. The tone used in his personal blog was personal. I would have expected a more professional one if the post had been on sites related to the ZSF. Both would have had the same goal: to express the feeling of a partnership that ended on bad terms.
- CleitonAugusto 3mo ago[flagged]
- itscodingtime 3mo agoDid everyone forget how when the news first broke, Jared told everyone to calm down; it wasn’t a big deal? That was very deceitful to me. Jared seems like the typical SV tech bro who deserves this type of personal disrespect, but of course 90% of people on this site would love to him and wouldn’t understand.
- Tadpole9181 3mo agoJarred, reasonably and publicly, did not expect a 1.2 million line rewrite to finish, fix a hundred bugs, and have no noticeable regressions in 11 days of experimenting.
- haberman 3mo ago> There's a dichotomy being presented here where you have to either choose a "style guide" or a programming language feature in order to avoid bugs. The sleight of hand misdirects the reader away from the main way bugs are eliminated: by dedicating engineering resources to it. You're not giving TigerBeetle nearly enough credit. Quite simply they put in the time to find and eliminate the bugs, they make an effort to maintain a healthy relationship with ZSF, and Bun did not do that. This is not a compelling sales pitch. The point of using a memory-safe language is not needing to put in extra work to avoid use-after-free or out-of-bounds memory access. It would have been more reassuring to hear that Zig has its own memory safety story that should also be able to prevent most of the same bugs. But instead the answer is "work harder for the same result." When Zig was first created, Rust looked genuinely harder to use because the borrow checker is so demanding and its errors sometimes so hard to reason about and fix. It made Zig look much simpler and easier by comparison. But now, LLMs are very good at writing Rust. I've been writing Rust using LLMs for weeks and haven't thought about the borrow checker once. AI made Rust tractable without heroic effort, and in doing so eroded one of Zig's major advantages. The point about compile times is taken though. Rust is definitely slow to compile, easier to believe it's slower than Zig.
- tangenter 3mo agoI don’t even understand why write this? So much code gets rewritten. Typescript 7 has just been rewritten from TS to Go, yielding much better performance. They chose Go over Rust because TS codebase looks more like the Go one. No one is throwing chicken tendies over it. Countless other examples. Big deal I don’t use Zig and I never will - the gushing fan base that has top-loaded fuzzy feels over technical superiority has made that certain, but this is not even a language to language debate. This is just sour grapes. But it sounds like even the people here now don’t want to use Zig due to how it makes them feel. Oh well.
- justinhj 3mo agoThese kinds of internet dramas get so much more attention here and elsewhere than technical discussion it makes me wonder if Andrew Kelley is a marketing genius.
- ternaryoperator 3mo agoI don’t understand why Kelley wrote the post at all. Just thank Bun for their donations and wish them well.
- quixoticaxolotl 3mo agoPeople claiming Andrew Kelley's remarks in this thread can't possibly be personal attacks surprise and sadden me. If someone insults your ability to do your job, paints you as an opportunistic sellout, and thanks the stars for your riddance, saying someone shouldn't feel hurt because "we can separate personal from professional lives" says more about your inability to perceive your own hurtfulness than it does of that person's benevolence. The minimum bar for tactful communication is to be courteous and empathetic. None of this had that.
- deleted 3mo ago[deleted]
- bel8 3mo agoThis post obliterated any chance I had to use or condone Zig commercially. If this is how Zig leadership thinks and acts, plus their stance on AI and GitHub, I'm afraid that the language will stay archived as a neat PL research project in my mind. And maybe it's what Andrew wants.
- metoobruh 3mo ago[flagged]
- senderista 3mo agoSometimes you should just write what you feel, then come back a day or two later and reread it, and only then decide whether to publish it.
- rk06 3mo ago>As soon as the Internet stops arguing in public about whether the rewrite was good or bad for Bun based on the language choice, I believe that concludes our interactions. so, never? because with bun being as public and widely known as it is, the debate won't end
- bsaul 3mo agoNot a really nice post. It reads like someone refusing to accept bitter feelings (which is absolutely understandable given the circumstances), and then go on to personally attacking the person who hurt you. He should have kept the "horrible manager" parts away, as it really doesn't have anything to do with the point of the post.
- lpapez 3mo agoWe are reaching levels of pettiness never considered possible previously.
- rldjbpin 3mo agoliterally don't use any of the three parties involved in the drama (judge me all you want!). however, i am glad this blog post exists, even though this is coming from reading the edited version. it might be down to ignorance, but the writeup contradicts the clarification in the bottom. it does seem like the series of events have had a personal impact to the writer. i am happy people can express themselves at their own leisure, and choose how to do so. to those virtue signalling on language features or personal beliefs, go on a hike! the vast majority of projects that touch our lives are run by opinionated people, whether community-driven or from a for-profit. the more that is shared here about this, the more this seems like a byproduct of this reality.
- childintime 3mo agowhen you are an open source developer you may feel everybody is rushing you by in their quest for the big pay off, while you are quietly and civilly building something the future will be built on.. it must feel like several coal rolling SUV's passing you by every day. they have no appreciation, and they see you as an obstacle. so it seems Kelly isn't willing to cede the informational space and replies with his viewpoint, and is willing to take the flack, because everybody is trained to root for the ruthless billionaire mentality, and thinks like a truck. he also has the responsibility to show to his own team, who he is, and where he is leading them. so i applaud him. he adds a perspective that needs to be said out loud. it's like the wise elder vs the lobbyists, or vs russian bots. money engages in reality distortional warfare all the time, and we are left in the dust, defending ourselves, as our lives are being depreciated. thanks, but no thanks for the coal rolling. so in the long term view this is about society not siding with (a promise of) merit, but instead assholes have the right of way, socially. it's about being an orphan, while the assholes are the children. it's about society not loving all its children equally, structurally, so Kelley is left out in the cold and has to value himself. he is moving sideways in society, and gets treated like a frog crossing the road. in a less beasty society he would be paid by tax payers money, because he is creating infrastructure the future can be built on. instead it goes to [... i'm not even going there]. he risks never getting paid, and will surely not be paid anywhere near the value he is adding. why? because going after venture capital would corrupt the goals of the project. that has nothing to do with him making the "wrong decision". it is instead society's decision to bestow all rewards on those that didn't work for them.., and the self-reinforcement by which those that do reap the rewards, work so hard to keep them. they take the corruption of the system as their motivation, and work hard to keep it.. it's not you can't be rich, good for you, it's that society has no _interest_ in _you_ getting rich, and should be against you when you work to manipulate and fraud your way into wealth, _and_ the effort to make that behavior accepted practice. it is a class working to put itself above others, like kings have been doing throughout the centuries, the common people like Kelley be damned. it is anti-democracy cloaked in the clothes of democracy, it's coal-rolling democracy. hence the stinky manager comment. stinky managers accept they are stinky. they have other things to worry about. so Kelley is just expressing his viewpoint and the words he uses must be read the way _he_ needs them to be read. that's where most stumble and fall. the point is they are never punished for doing so and instead practice mob mentality, punishing the good. society's self-cleaning mechanism is failing and you see that play out in the world right now, most notably in the USA. the US of Assholes, a mob. that makes Kelley like a jew in nazi Germany. so it may be worth saying: get out while you can. you don't want to bet on being a friend of the mob, when.. they think they are the saints, and doing good for the country. Kelley, look at the face of the mob in the oval office. if you see a shithole, consider you may want to choose against what the USA is about to become, Musk's backyard, which he has to politically subject, to protect his interests. come work for an asshole free One Africa, for the freedom to love, or become a footnote in the USA story, a sacrifice for its tech-inflated ego, which it will "lovingly" accept.
- tuananh 3mo agoit may sound personal but from what i can see from afar, they are all correct.
- newaccountman2 3mo ago[flagged]
- enbugger 3mo agoI can’t imagine the head of LLVM Foundation to have similar blog post on Zig’s decision to move to their own compiler backend. And yet Andrew regularly mentions that this is because the bugs which LLVM brings. Here seems to be the similar situation. I wouldn’t want to live in a world where each time a maintainer of project A removes problematic (as per his view) dependency on project B, the shit show starts. This is a typical pitfall and typical solution for that - again as per Andrew’s words on interview with JetBrains.
- RS-232 3mo ago> JavaScript being the most popular programming language in the world This is where I stopped reading. JavaScript is not the most popular programming language in the world. It’s not even in the top five. https://www.tiobe.com/tiobe-index/ https://www.tiobe.com/tiobe-index/
- jawaidbazyar 3mo agoAndrew's post is deeply embarassing (to Andrew), and is deeply, mind-bogglingy damaging to Zig, and he has just completely destroyed Zig's future. This is the same kind of insecure nonsense that is busily destroying WordPress. There is no coming back from this. Zig is a dead man walking. Zig already suffered from: incomplete after 8 years still-shifting language APIs increasingly erratic behavior from project founder / lead: "no AI!" "we hate Microsoft!" Who now is going to trust THAT to build significant projects on? I'm sorry, Andrew, "chill people doing cool things" is not going to convince anyone to build half million line projects using Zig. All evidence is that your intention is not to create a stable, useful programming language that allows users to express code in useful ways other languages can't. (The only reason to create a new programming language). It seems to be about ego for you, and what is clear from this post, is that your ego was bruised by Bun moving to Rust; and that you are willing to act in ways harmful to yourself, your credibility, your project, AND therefore to ALL OF YOUR PROJECT'S USERS. When your updated post mentions your "resentment", I thought you had understood your error. But no, you're compounding it. You claim to have resentment becuase Jarred "make you look bad"? You make yourself look bad all by yourself. Here's the real likely resentment: Jarred and you started around the same time. Jarred has had an incredibly successful, beneficial turn of events - and you have not. You are clearly resentful over Jarred's success. Jarred bent over backwards in his post not to throw you under the bus, but the truth seems to be that he got sick of your sh!t. This isn't about a single blog post by you - though that was truly demented. It's clear this is part of a pattern of self-destructive behavior that's been going on a long time. And here's the real kicker: Whereas in the past, as Jarred notes, changing the language a project was written in was something you just didn't do past a certain point. But now, it's possible to do it, and do it well, with tools available to everyone. After this act of self-sabotage, if there is a single major project still in Zig at the end of 2026, I will be very surprised. If you ever again get a major donation from any source, I will be very surprised. (update: I've never used Zig, Rust, or Bun, so I have no dog at all in this hunt)
- intunderflow 3mo ago> 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. Dunking on someone for not having a degree? Seriously? Low blow. From someone with a degree they mean nothing and anyone who looks down on people for not having one reveals a lot about their character.
- deleted 3mo ago[deleted]