Ex-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.
Why must every language have every feature, mass applicability, and be intended to be the language-to-end-all-languages? Growth or marketshare is not the only valuable aim.
If you want mutable data structures, I wouldn't point you to Haskell.