| ▲ | andkenneth 4 hours ago |
| They recently tried to upstream an improvement to zig, but were prevented from doing so because zig has a hard and fast "no AI code" rule. Whether you think this response is trying to put pressure on zig or whether they're just moving for practical reasons is up to you. It's probably a bit of both. |
|
| ▲ | norman784 9 minutes ago | parent | next [-] |
| Not only because the AI part, here's a discussion [0] about it [0] https://ziggit.dev/t/bun-s-zig-fork-got-4x-faster-compilatio... |
|
| ▲ | SkiFire13 23 minutes ago | parent | prev | next [-] |
| > but were prevented from doing so because zig has a hard and fast "no AI code" rule The patch would have been rejected either way because it was out of date and conflicted with other work going on. |
|
| ▲ | endospore 4 hours ago | parent | prev | next [-] |
| Makes me wonder why zig announced the strict LLM rule recently. I'm afraid one reason could be that zig doesn't want to accept code from the bun fork in the first place (because of LLM usage, deviation and other reasons) |
| |
| ▲ | neomantra 3 hours ago | parent | next [-] | | One non-obvious reason is that an important aspect of their community is to shepherd new contributors [1]. LLMs crushing everything would reduce that. More obvious is all the toil for maintainers dealing with LLM PRs (broadly it’s an issue). The Zig maintainers prefer to put their energy into improving people and fostering those relationship. [1] https://kristoff.it/blog/contributor-poker-and-ai/ | | |
| ▲ | Dylan16807 2 hours ago | parent | next [-] | | That's a solid reason to keep LLMs away from the kind of tasks that help with onboarding. But a patch series from a competent team that changes 3000 lines should probably be evaluated on its own merits. Or at least, the collaboration-based reasons to reject AI don't apply and the real reason would be something else. (Though I don't know if this particular patch series would get accepted on its own merits.) | | |
| ▲ | riffraff 2 hours ago | parent | next [-] | | The recent article explained the bun patch would have been refused on technical merits as it's intrinsically incorrect, to be able to work properly it required some language changes. | |
| ▲ | bboozzoo an hour ago | parent | prev | next [-] | | > patch series from a competent team that changes 3000 lines should probably be split into a bunch of much smaller changes? | | |
| ▲ | Dylan16807 35 minutes ago | parent [-] | | I don't understand your suggestion. If you take an ugly patch series that changes 3000 lines and organize it into small quality changes, it's still a patch series that changes 3000 lines. There's no reason to assume my generic statement was talking about the ugly version rather than the nicely organized version. |
| |
| ▲ | moomoo11 21 minutes ago | parent | prev [-] | | I mean in an authoritarian system you wouldn’t make a one off exception like that. |
| |
| ▲ | bbor 2 hours ago | parent | prev | next [-] | | Well said! I don't think either party is really at fault here, but if Anthropic wanted to contribute non-negligible amounts of code over time then it's an absolute dealbreaker. Sucks for people who were invested in contributing to Bun and don't like working with AI tools to be sure, but I think the writing was on the wall for them pretty much immediately post-acquisition. You must admit, it's hard to predict that 100% of source lines will be written by AI if you're not walking the walk! | |
| ▲ | lowbloodsugar 2 hours ago | parent | prev [-] | | Yeah, I remember when the lazy bastards started writing programs using compilers instead of learning assembly language. Now I don’t have a single colleague who can write assembly. There’s whole generations now who can’t code assembly. Most don’t even know what a register is. Hope Zig holds against this latest attempt to make everyone stupid. | | |
| ▲ | uncircle an hour ago | parent | next [-] | | To add to the other commenters, loads of people don’t know assembly, which speaks to the quality of the average developer. The ones that still understand assembly to this day tend to be better developers, writing faster and more efficient code. | | |
| ▲ | crysin 2 minutes ago | parent | next [-] | | I'd be very surprised if the "average" developer across the board was in fact not just a JavaScript / TypeScript only developer. I have no expectations or really even hope that the average developer I work with has ever written a line of assembly. | |
| ▲ | DeathArrow 13 minutes ago | parent | prev [-] | | >The ones that still understand assembly to this day tend to be better developers, writing faster and more efficient code. That is if you use something like C, C+=, Java, .NET, Go. With Javascript and Python I don't think knowing assembly would make any difference because it's hard to optimize the code in these languages for how the CPU and memory works. |
| |
| ▲ | gls2ro 2 hours ago | parent | prev | next [-] | | Generating AI code/PR is not the same as using compilers because of at least two things: - the scale of how much and how fast you can generate code with AI vs how fast can you write code for compiler - the mental model of what is being generated and how much the contributor understands and owns the generated code | |
| ▲ | wtetzner 2 hours ago | parent | prev | next [-] | | Using an LLM isn't analogous to using a higher level language. | | |
| ▲ | brabel 8 minutes ago | parent [-] | | That’s funny because it’s exactly, literally the same. The difference is it’s not deterministic. That may be a problem but it’s still a higher level language, just a much higher level language than anything before. | | |
| ▲ | xigoi 2 minutes ago | parent [-] | | The main difference is that the input to an LLM is in an ambiguous language. |
|
| |
| ▲ | gertop 2 hours ago | parent | prev [-] | | Your analogy falls apart because the "lazy bastards" still knew how to program and understood the code they were working on. Vide-coders often don't read, let alone understand, the code they send for PRs. |
|
| |
| ▲ | foresterre 2 hours ago | parent | prev | next [-] | | There are other reasons why a project like Zig might not want to accept LLM generated contributions. Zig, as programming language, has a multiplier codebase. A bug may affect a significant larger portion of users than most libraries or binaries will, as it's a fundamental building block of everything that uses Zig. Just that could be worth the extra scrutiny on every individual commit. There's also the usual arguments: copyright ethics, environmental ethics and maintainer burden. | | |
| ▲ | esperent an hour ago | parent [-] | | > has a multiplier codebase. A bug may affect a significant larger portion of users than most libraries or binaries will Couldn't you say exactly the same about bun? | | |
| ▲ | emaro 2 minutes ago | parent [-] | | Sure, but Bun is now owned by a company who's entire shtick is creating AI models. That shifts priorities. |
|
| |
| ▲ | DeathArrow an hour ago | parent | prev | next [-] | | >Makes me wonder why zig announced the strict LLM rule recently. I guess there are 2 philosophies in software development: move fast and break things and move at a pace that guarantees everything is rock solid. Most commercial software, Anthropic included is taking the former path, while most infrastructure teams are taking the later. I guess Linux and FreeBSD kernels are also not accepting LLM based contributions yet. | | | |
| ▲ | KingMob 3 hours ago | parent | prev | next [-] | | Possibly, but the Zig creator is active on Lobste.rs, where he's been vocally anti-LLM for a year now, so the timing could just be a coincidence. | |
| ▲ | ai_critic 3 hours ago | parent | prev [-] | | It's a combination of pragmatism (not wanting to wade through slop, not wanting to shove out newbie developers) and politics (usual contemporary techie progressive stuff that's now oddly anti-technology). | | |
|
|
| ▲ | sevenzero 35 minutes ago | parent | prev | next [-] |
| I see that as a win for Zig. |
|
| ▲ | wg0 3 hours ago | parent | prev | next [-] |
| So if tomorrow Rust denied the "improvement" to upstream Rust then what's the next language they plan to vibe code it in? |
| |
| ▲ | f33d5173 2 hours ago | parent | next [-] | | Rust is a significantly more mature language. Adoption of zig has to be done on the assumption that the language will significantly improve as your project evolves, and if those improvements don't agree with your project's goals you're in something of a lurch. Rust is basically finished and adopting it has to be done on the assumption it won't change very much. I don't know what their initial logic for adopting zig was, but I think porting to a more mature language was inevitable, unless by some miracle zig happened to rapidly mature in exactly the direction they wanted, | |
| ▲ | petre 3 hours ago | parent | prev | next [-] | | C obviously. | | |
| ▲ | wg0 3 hours ago | parent [-] | | I was hoping bash because why not. It's AI that has to work and maintain anyway and Anthropic employees aren't limited by 5 hour 7 days limits anyway I suppose. |
| |
| ▲ | postepowanieadm 2 hours ago | parent | prev | next [-] | | Perl | |
| ▲ | echelon 3 hours ago | parent | prev [-] | | Rust is legit one of the best languages to "vibe code" in. The emitted AST has a lower defect rate since it incorporates strong types and in-built error handling. Other pros include native code and portability, but downside is the compile time. | | |
| ▲ | J_Shelby_J 16 minutes ago | parent | next [-] | | Downside: CC and Codex will write, compile, and fix in a loop until it has a monstrosity rather than designing something smarter. | |
| ▲ | wg0 3 hours ago | parent | prev | next [-] | | This could be a subjective feeling with no real data to back it up. People say same about Go as well that it's type system and limited feature set makes it the best AI friendly language but there too, it just seems like a hunch rather than a proven fact. | | |
| ▲ | treyd 3 hours ago | parent | next [-] | | The thing is that this argument doesn't work with Go because its type system (and the whole language, really) is much less expressive and compiler gives a lot less feedback to the LLM. So it tends to have to write more unit tests and do more cycles of testing (and spend more tokens) to get it right. | | |
| ▲ | wg0 2 hours ago | parent [-] | | The argument about type system is absurd anyway. The types in a program aren't a universal vocabulary that the LLM would already know about like the words of English language. They are unique to each program and domain so an LLM can't be better at it. Let me elaborate further - it's like the proficiency of LLMs in writing English vs writing Sawahili or Kurdish. The types of a program are like Swahili or Kurdish etc even worse because those languages still have sizeable chuck on the Internet and digital archives but types of a program are very specific to it. | | |
| ▲ | treyd 2 hours ago | parent [-] | | Studies have shown that natural human languages are all more or less equally expressive in terms of bits per second while speaking. There's lots of different ways they can be structured but they tend to follow common rules that have been well-characterized by linguists. They can be used to describe formal mathematical statements, but are not rigorously formal languages themselves. Programming languages, in contrast, are constructed and vary much more in their designs. They are formal languages, making them closer to math than spoken language. LLMs being able to describe concepts more thoroughly and precisely through more expressive semantics obviously makes some languages more suitable than others. The type system of a language is just one aspect of it that allows the language to provide guarantees to the LLM (and the user) about correctness of the code it's writing. I am not speaking about specific types in specific programs. I am talking about the ability to describe complex constraints that LLMs (and humans) end up using to make writing correct code easier and more productive. Some programming languages absolutely are more effective at this than others, and that's always been true even before LLMs. |
|
| |
| ▲ | Onavo 3 hours ago | parent | prev [-] | | If we are gonna go down that rabbit hole, then the natural conclusion is Haskell. | | |
| ▲ | boxed 2 hours ago | parent [-] | | Which seems pretty reasonable tbh. Claude Code is amazing with Elm in my experience. |
|
| |
| ▲ | nvader 3 hours ago | parent | prev [-] | | Excellent comment. As a downside, the compile time is somewhat offset once you're using agents (and especially parallel agents) anyway. Since all of your edits cost a round-trip API call to a third party server, you can accept a slightly slower compile step. |
|
|
|
| ▲ | an hour ago | parent | prev | next [-] |
| [deleted] |
|
| ▲ | pton_xd 4 hours ago | parent | prev | next [-] |
| Anthropic just needs to buy Zig! Problem solved. |
| |
| ▲ | esperent an hour ago | parent | next [-] | | Perfect A/B experiment opportunity. Fork Zig, call the fork Zag. Lock the syntax/api together for a couple of years. Allow AI code in Zag. Review after a few years, see which is better. | | |
| ▲ | GCUMstlyHarmls 31 minutes ago | parent [-] | | Interesting experiment, would it actually function if Zag was syntax/api locked to Zig? I guess Zag could still have api extensions. |
| |
| ▲ | xeonmc 4 hours ago | parent | prev | next [-] | | Take off every Zig | | |
| ▲ | ratioprosperous 4 hours ago | parent [-] | | It's time! https://xkcd.com/286/ | | |
| ▲ | kelnos 3 hours ago | parent [-] | | Wow. That xkcd was written in 2007, and part of the dialog is "didn't that [meme] die like five years ago?" Which means All Your Base, as a meme, was already getting somewhat stale by around 2002. It's hard to believe it's been that long. | | |
|
| |
| ▲ | mirekrusin an hour ago | parent | prev [-] | | ...and rewrite it in rs. |
|
|
| ▲ | rdmsr0 3 hours ago | parent | prev | next [-] |
| Even if AI had not been used, the changes would not have been upstreamed, see https://ziggit.dev/t/bun-s-zig-fork-got-4x-faster-compilatio...
tl;dr the supposed improvements are not sound and the zig compiler has already gotten a whole lot faster |
| |
| ▲ | nechuchelo 3 hours ago | parent | next [-] | | This should be the top comment in the whole thread. AI is not the point, the PR is just not of a good quality. | |
| ▲ | abpin 2 hours ago | parent | prev | next [-] | | Thanks, that is the answer. | |
| ▲ | NewJazz 3 hours ago | parent | prev | next [-] | | What a sober, detailed forum post. | |
| ▲ | abtinf 3 hours ago | parent | prev [-] | | That is a devastating comment. I will now be extremely skeptical of bun. |
|
|
| ▲ | parchley 2 hours ago | parent | prev | next [-] |
| Read the previous discussions on the topic. Your summary is a sensationalist lie, since their change was apparently a smoking pile of hot garbage, and Zig already had similar performance gains in a newer release. |
|
| ▲ | giancarlostoro 42 minutes ago | parent | prev | next [-] |
| Probably moreso going with the native language that is reliable and battle tested. Rust runs on Firefox, and in production at several systems across major orgs, this is not surprising. |
|
| ▲ | an hour ago | parent | prev | next [-] |
| [deleted] |
|
| ▲ | DeathArrow an hour ago | parent | prev | next [-] |
| >They recently tried to upstream an improvement to zig, but were prevented from doing so because zig has a hard and fast "no AI code" rule. And will Rust team accept their vibe coded patches? |
|
| ▲ | abacadaba 3 hours ago | parent | prev | next [-] |
| seems easier to fork zig |
| |
| ▲ | kimos 3 hours ago | parent [-] | | Then that becomes an ongoing effort. The rewrite is once. (Good idea or not) |
|
|
| ▲ | cybercatgurrl 3 hours ago | parent | prev [-] |
| good, more reason to stay away from zig |
| |