Zig project leader says AI-generated code contributions are "invariably garbage" and will be rejected

Alfonso Maruccia

Posts: 2,598   +977
Staff
A Bot Potato: The Zig programming language was created a decade ago to improve on traditional C conventions. In the age of "vibe coding" and AI agents, the organization overseeing its development has now drawn a clear line against non-programmers using AI to tinker with its codebase.

Andrew Kelley designed the Zig programming language in 2016 and still presides over the non-profit organization responsible for managing the project. In a recent interview on the developer-focused JetBrains podcast, Kelley said AI-based contributions have no value and will be discarded.

Code contributions generated through chatbots are "invariably garbage," he said, arguing they have "no value whatsoever." Even worse, he added, they can have "negative value," because they consume limited review time from the team.

At present, the Zig codebase has hundreds of commits awaiting proper review. The small team of Zig developers is working through these requests as quickly as possible, but there will always be a bottleneck. AI-generated contributions, he argued, further strain that process by introducing changes that often show little understanding of the project or its codebase.

Kelley describes the resulting situation as "contributor poker." The Zig team uses code review as a way to identify valuable contributors to the project. In some cases, reviewers may even discover developers worth inviting into the core team. But this assumption – that contributors can improve their skills and grow into long-term collaborators – is undermined, he argues, by the influx of AI-generated submissions, which distort that signal and add noise rather than value.

People who rely on AI to generate code, critics argue, are not worth the effort because they are not trying to learn anything new. That view underpins Zig's stricter stance against "vibe-coded" contributions, including LLM-assisted editing, brainstorming, and debugging requests.

Zig was created as a free, open-source systems programming language, building on ideas introduced by Dennis Ritchie's classic C. The language aims to be a zero-dependency, drop-in replacement for C and C++ projects, allowing programmers to focus more on debugging their applications than on managing language complexity.

Kelley's stance against AI-assisted contributions is adding fuel to the growing debate over the impact of chatbots and large language models on software development. Some studies suggest that experienced programmers can be slowed down by "vibe coding," while tech executives continue to embrace it enthusiastically.

Agentic AI tools have also shown a tendency toward making high-impact mistakes at an alarming rate, sometimes consuming significant corporate resources in the process. In response, some programmers have begun "fighting fire with fire," embedding hidden instructions in projects designed to disrupt or mislead AI-assisted coding workflows.

Permalink to story:

 
More likely, they see themselves becoming irrelevant when the AI submissions become more competent - which they will in the coming months and years.

I’d wager that their “review team” becomes AI assisted within a few years - assuming their project survives that long.
 
That's probably true to a large extent, but the problem is not in AI.
People craving for attention 'contribute' BS, just to see their names and get likes.

"vibe coding" is a really awful term because it implies AI somehow magically picks what you want from a vague description, and produces a flawless output. That's indeed not the case. Models can be incredibly useful, but for that they need a detailed, unambiguous, logically consistent description of what has to be done, covering all the corner cases. An experienced programmer can do that, and the result is good. A lousy programmer or a hobbyist can't do it. The good old garbage in - garbage out is in full effect in "vibe coding".

 
Andrew Kelley designed the Zig programming language in 2016 and still presides over the non-profit organization responsible for managing the project.
Correction--Andrew Kelley has been designing the Zig programming language for the past 10 years. It still hasn't moved to 1.0 yet! That said, it's had a feature-freeze policy for almost a year now and it's expected to move to V1 later this year. The fact that it took so long to get there shows that Zig is aiming for perfection and explains why he would be averse to accepting anything from AI. He also said he doesn't like that AI depends on four big companies (ie. their electricity), and he would much rather run something entirely in his own home.
 
That's probably true to a large extent, but the problem is not in AI.
People craving for attention 'contribute' BS, just to see their names and get likes.

"vibe coding" is a really awful term because it implies AI somehow magically picks what you want from a vague description, and produces a flawless output. That's indeed not the case. Models can be incredibly useful, but for that they need a detailed, unambiguous, logically consistent description of what has to be done, covering all the corner cases. An experienced programmer can do that, and the result is good. A lousy programmer or a hobbyist can't do it. The good old garbage in - garbage out is in full effect in "vibe coding".
From my experience I’d take this even further—using AI is psychologically challenging even for experienced programmers as, although their desired output is unchanged, learning the how/when/what to prompt for the desired output does not utilize the same mental skill set they are accustomed to. AI prompting is, in itself, a skillful art. It’s also one Im not entirely sure is simply taught as the nature of how individual use of language changes the probability of the output—how I prompt vs how you prompt could be seeking identical results but yours may be better or worse based solely on the nature of the language utilized, among other things. Deviations can grow from just from phrase length, let alone descriptors.
 
Last edited:
Correction--Andrew Kelley has been designing the Zig programming language for the past 10 years. It still hasn't moved to 1.0 yet... The fact that it took so long to get there shows that Zig is aiming for perfection
It shows it's a failing, flailing project developed by a hopeless dilettante. The most successful programming language of all time -- C -- was developed in just one year's time.
 
As a project lead I 100% agree with this article.
It's exceptionally easy to generate garbage with AI. If you look at its output for more than five seconds you see it's just a waste of time and a mine field of problems. An AI agent doesn't understand anything, so it doesn't understand your project. It just mashes billions of examples it's seen before into an answer, which may look like it fits, but upon closer inspection is almost always of poor quality. People don't understand the scale of things. AI gives you the illusion of understanding through the sheer size of the models and the amount of previous examples it has seen.
The problem is that you have to understand the real world context, intent and high level structure of a code architecture in order for it to stay manageable, extensible and side-effect free. AI can do none of this and, if the technology doesn't change, will never be able to.

I usually don't comment on AI nonsense, but it's clear that the people defending it have no idea what they're talking about and just base their answer on shallow results and moreover, disregard observations from actual experts in the field.
Which is exactly what's so dangerous about all of this being integrated into everything.
 
Last edited:
As a project lead I 100% agree with this article.
An AI agent doesn't understand anything ...The problem is that you have to understand the real world context, intent and high level structure of a code architecture in order for it to stay manageable, extensible and side-effect free.
If you need a deep understanding of an entire project to write low level black box routines, you're violating code encapsulation and structured programming principles. I'll also note that all large projects generally use hundreds, even thousands of library routines: none of which know anything about your particular project or its structure.
 
If you need a deep understanding of an entire project to write low level black box routines, you're violating code encapsulation and structured programming principles. I'll also note that all large projects generally use hundreds, even thousands of library routines: none of which know anything about your particular project or its structure.
If only people used AI for small things...
 
More likely, they see themselves becoming irrelevant when the AI submissions become more competent - which they will in the coming months and years.

I’d wager that their “review team” becomes AI assisted within a few years - assuming their project survives that long.
Yeah, they lucked out surviving out the first 10 years without AI.
Soon Zig will join the long list of AI generated innovations that they could've never realized without it.
I bet they won't have a review team at all in a couple years. AI will just write it all and that project manager will sit there and make millions.
 
More likely, they see themselves becoming irrelevant when the AI submissions become more competent - which they will in the coming months and years.

I’d wager that their “review team” becomes AI assisted within a few years - assuming their project survives that long.
Says anyone without a clue about both AI and programming
 
It shows it's a failing, flailing project developed by a hopeless dilettante. The most successful programming language of all time -- C -- was developed in just one year's time.
You could look up the first sentence of an AI summary, congratulations. In reality, C has been evolving ever since.
 
You could look up the first sentence of an AI summary, congratulations. In reality, C has been evolving ever since.
Your AI education has failed you. Like all languages, C has evolved and continues to do so -- but its original development and first release took only a year. This "Zig" project's been ongoing for a full decade, and hasn't even got that far.
 
Last edited:
The moment you say "only good AI code is acceptable," every reviewer has to become an AI detective on top of everything else. You can't reliably detect it, you can't reliably grade it, so you draw the line and move on. It's not ideology, it's triage.
 
As a project lead I 100% agree with this article.
It's exceptionally easy to generate garbage with AI.
I think the nuance here might be how much you let it do at once.

If you feed it bite sized problems e.g. describe a short problem and ask for a solution or give it the (possibly incomplete but comment rich) code and ask it to improve it / complete it you can get decent results (not sure why Gemini often ignores the code convention you're using though... annoying).

For writing stuff that's largely boilerplate (viewmodel to model bridging) I'd even say it's great. Predictable AF what the code should look like so it does great.

If you ask it to write half a program or a huge chunk of functionality - yeah, 100% agree. You get code on par of what you'd get from a junior developer copy pasting chunks of random code from the internet. Probably even worse - just faster.

--

I've kinda fallen in the same trap, got a harsh rejection my own submission to flatpak for 'AI slop' (it isn't ... just a lot oddities with it for my particular project complicating things and I've no experience with flatpak so I tried to get AI to largely do that step for me). My laziness inconvenienced those that approve flatpak submissions and they're (or the individual I was dealing with at least) was clearly very fed up with AI slop.
 
I think the nuance here might be how much you let it do at once.

If you feed it bite sized problems e.g. describe a short problem and ask for a solution or give it the (possibly incomplete but comment rich) code and ask it to improve it / complete it you can get decent results (not sure why Gemini often ignores the code convention you're using though... annoying).

For writing stuff that's largely boilerplate (viewmodel to model bridging) I'd even say it's great. Predictable AF what the code should look like so it does great.

If you ask it to write half a program or a huge chunk of functionality - yeah, 100% agree. You get code on par of what you'd get from a junior developer copy pasting chunks of random code from the internet. Probably even worse - just faster.

Pretty much my experience in a nutshell. The worst is when you ask for something that can't be done; I've seen the AI literally create parameters to try and solve the problem, only to admit when questioned there's no way to do what was asked of it.

It's *great* for boilerplate or very well defined operations (like "make a program to open sequentially all word documents in a directory and make the following well-defined edits"), but falls apart when it comes to minute details. And don't get me started about non-standard implementations, specialized hardware interactions, and so on.
 
It shows it's a failing, flailing project developed by a hopeless dilettante. The most successful programming language of all time -- C -- was developed in just one year's time.
Things were a lot simpler back then, less messy and convoluted as well.
And if it was the Be All End All, why is there C++? (and other derivatives)
 
Things were a lot simpler back then, less messy and convoluted as well.
Not substantially so for computer languages ... especially when you consider Zig specifically bills itself as a "robust and simple alternative to C". C was written by two people in a year's time ... Zig has more than six hundred contributors so far, many working for a full decade.

And if it was the Be All End All, why is there C++? (and other derivatives)
For the same reason there are hammers in the world, as well as screwdrivers and pliers. No one tool fits all jobs. Despite the existence of C++ and other derivatives, the C language itself is still in widespread use.
 
Last edited:
Pretty much my experience in a nutshell. The worst is when you ask for something that can't be done; I've seen the AI literally create parameters to try and solve the problem...
If you're attempting to use ANY tool -- AI or not -- for tasks that "can't be done", the fault lies with you, not the tool itself.
 
More likely, they see themselves becoming irrelevant when the AI submissions become more competent - which they will in the coming months and years.

I’d wager that their “review team” becomes AI assisted within a few years - assuming their project survives that long.
And I'd wager that in a few years AI might (finally) be good enough to assist. :)
Got to crawl before you can walk as they say.
 
If you're attempting to use ANY tool -- AI or not -- for tasks that "can't be done", the fault lies with you, not the tool itself.
It was more asking it to do something that couldn't be accomplished within the parameters given to it. But the point stands: The AI will attempt to come up with a solution, even when no solution is viable.
 
It was more asking it to do something that couldn't be accomplished within the parameters given to it. But the point stands: The AI will attempt to come up with a solution, even when no solution is viable.
The point stands: if you're asking your tools to perform impossible tasks, the fault lies with you. If you attempt to chop down a 100' redwood with a pocket knife, the knife will keep chipping away regardless of the inevitability of failure.
 
Back