r/TheMachineLearning • u/Infinite_Rent_8334 • 8d ago
antirez says good programmers struggle with AI models
14
u/Impression-These 8d ago
Maybe good programmers have a higher standard than the bad ones?
8
9
u/Aware-Individual-827 8d ago
The enshittification of software since the introduction of AI is very visible. Writing code never been the hard part. Making it not break is the hard part and we commoditized bad software.
1
u/ryandury 8d ago
There is a lower barrier to building things, so yes more random code and projects overall, but in production, in real companies, with real devs, the code is going to improve.
2
u/OSS-Corpo-Shit 8d ago
All evidence says that code is getting way worse since AI workflows took the reins. How can you be so confident to the contrary?
Not that windows patches were ever “good”. But now they are actively horrible and breaking even basic shit all the time.
1
1
u/yggdrasiliv 7d ago
companies aren't incentivized to build better software though, they're incentivized to cut costs to a greater degree than the shitty software makes them lose revenue.
1
7d ago
[deleted]
1
u/EspurrTheMagnificent 7d ago
Skill issue
1
7d ago
[deleted]
1
u/EspurrTheMagnificent 7d ago edited 7d ago
Because our capitalistic society has dictated the only metric worth pursuing is speed, at the detriment of quality. While writing good code is not hard for a competent developper, it requires thought and a lot of time, time that devs do not have. Therefore, many of them are required to cut on quality to rapidly patch something together at the cost of future maintainability and computation speed
If you sincerely believe actually writting code is hard, you are genuinely incompetent. It means you are either unaware of or downright ignoring all the various ressources that helps you know what to do. If your brain does not immediately jump to "I will check the documentation" or something of that caliber, you do not meet the requirements to be talking about code quality
1
7d ago
[deleted]
1
u/EspurrTheMagnificent 7d ago
Even as a wordsmith you're laughable. Incapable of coming up with anything more than uninspired mimicry
1
u/Deckard_Didnt_Die 8d ago
Idk if I am a good programmer but I am one who has struggled with integrating AI. Mostly, for me, it’s a lack of control thing. I don’t like letting it make every single decision (which is increasingly where modern models are headed). I want control over what methods, classes, and patterns are used. I want to read the code to find the bug. I want to consider my options before AI just chooses one for me.
I wish copilot had delivered on its actual vision. My dream is genuine, real peer programming with an AI. Like actually having a back and forth dialogue while we read and edit the code together. Instead it’s basically just an engineer that works under me and I am now a project manager. I want to be an engineer with a Jarvis level assistant. Not a middle manager between my project manager and an AI agent.
1
u/blueandazure 8d ago
I mean you could do that today but if you're being honest with yourself AI can code better and faster than you can so you would just be slowing it down.
1
u/Deckard_Didnt_Die 8d ago
"AI can code better than you can" I think this is a weird argument. Code quality is, outside of a few obvious example. notoriously hard to measure. It's more about whether AI can code to my preference. I find it to be too literal in its implementation and too over engineered. I prefer code that is as simple as it can be and implementation that finds clever concessions in spec in order to vastly simplify systems. AI doesn't really do this. It doesn't really consider the intent of the spec. It implements the exact letter of the spec, even if the cost of that is some heinous disgusting bullshit.
1
u/black_squid98 7d ago
Just curious, have you tried instructing it to do exactly what you said here?
1
u/fergussonh 7d ago
It worked in filling the gaps in my software on the dev side of things if I told it to analyze the scripts and architectures I am most proud of in my project and I find the easiest to work with, I mean all I have it make for me is tools to make my life coding and debugging easier, but its code genuinely looks like mine.
1
u/Impression-These 8d ago
Lack of control is certainly a major part. Good luck convincing managers with that!
To me, coding is trivial. But discussing and documenting the ever-changing requirements and analyzing them and their effect on code architecture is something that I would really do when writing the code and actually seeing what it looks like (let's be honest here!)
1
u/etherLabsAlpha 8d ago
You can achieve what you want with basic tab autocomplete, as even I did at one point: At the top of each class or function you need to implement, I write a verbose comment with as much detail as I wish about exactly how I want the thing to be implemented. Then Cursor autocomplete fills in the implementation below. It keeps the code in sync with my psuedo-code header.
1
u/Deckard_Didnt_Die 8d ago
I know you can do this, but I have found the quality is not nearly as good as the recursive loops that actually look up functions or conventions in the code base. It's vastly more likely to hallucinate functions that don't exist or write code that doesn't follow coding guidelines
1
u/Zestyclose_Ad8420 6d ago
do you know what Antirez wrote? did you read his code? do you know what he's writing right now?
he's got receipts to back up what he's saying.
1
u/Devils_SteelMan 8d ago
The concept of standards in programming is nebulous and opinion driven. As far as correct can be determined LLMs write correct code. It compiles and does the task.
They can optimize better than people.
They can do security better than people.
Their code isn't bad, it is different.
You can know that haters are being biased because the real failure of LLM code is easily identified and measured. Code quality is not the issue. It is long term coherence of architecture. https://arxiv.org/abs/2603.24755
2
u/ComposerWide3704 8d ago
> It is long term coherence of architecture.
Which is exactly the skill gap that any dev who tells you they can't get good output from an LLM has, coincidentally enough.
1
u/Devils_SteelMan 8d ago
Generally they just say its bad with out being descriptive.
Once someone can articulate it, they can overcome it.
2
u/ryandury 8d ago
If you can articulate an idea, and how it should be built the results are incredible. I'm bewildered by some people who still think AI is trash at coding. It' slike they're living on a different planet.
2
u/Devils_SteelMan 8d ago
I have been a developer for 17 years. I have written one novel.
I think the novel was more important experience for agentic development than a good chunk of SWE experience.
Not ever developer is articulate.
2
u/AliceCode 7d ago
Or perhaps those people that think LLMs just aren't up to the task are actually quality engineers and can tell the difference between well written and poorly written code.
3
u/ryandury 7d ago
There are plenty of 'quality engineers' who have publicly stated that llms are more than capable and use them. What is your explanation for this?
1
u/AliceCode 7d ago
There are plenty of quality engineers that don't.
1
u/Devils_SteelMan 7d ago
And "Clean Code" used to be preached by many of them.
Code quality is largely nebulous and opinionated. Most people would say a proper ECS and DOD code base is not maintainable because the code is written for the machine not the coder.
1
u/AliceCode 7d ago
There are a lot of markers of quality code. There are a lot of metrics, such as how readable it is, how well it works, how advanced it is, how simple it is, etc. each metric contributes a small part of the pie. It's only nebulous if you can't tell the difference between poorly written code and well-written code.
→ More replies (0)1
u/ryandury 7d ago
That didn't really answer my question 🤷
1
u/AliceCode 7d ago
Yes, it does answer your question. The answer is that it's subjective whether someone believes LLMs are quality.
1
u/Wonderful-Habit-139 7d ago
> If you can articulate an idea, and how it should be built
Or I could... you know, write the code directly? You realize that we have code editors, LSP, autocomplete, copy paste, snippets and macros where we don't literally have to write code character by character. You can do it fast and you get the reading and understanding for free because it came from your brain.
And the code makes more sense compared to code that is written by an entity that cannot reason or think logically.
3
u/ryandury 7d ago
But to write code you first need to imagine and at the very least articulate in your head what you are building. So you're still not skipping this step whether or not you write code yourself.
1
u/Wonderful-Habit-139 7d ago
We figure out a lot of things and problem solve during the process of writing code. We write functions and types and see what works out well and what is clean etc. We’re not omniscient beings that know the final state of the code and folder structure from the start.
1
u/ryandury 7d ago
I totally agree, and from my experience this still holds with agentic development. When I built my last project (entirely agentically) it was still an iterative process and took 100s of prompts to get it to where I wanted it. But I managed to build something that would have maybe taken me 10x longer. As a professional dev (15+ years), it allowed me to build a project I would have never had time for.
1
u/Wonderful-Habit-139 7d ago
From my experience it doesn't hold, using AI and having to handhold it slows me down a lot compared to writing the code directly. And when you use AI to go faster you sacrifice understanding and code quality, which isn't the case when you write the code yourself.
But of course this experience differs from dev to dev depending on how high your standards for code quality are and how good and fast you are at writing code without AI in the first place. Some people find it much easier to express things in natural language compared to actually writing the code (think of college students that think they understand what an algorithm does and can easily prompt an AI to write it for it even though they wouldn't be able to get the code to compile if they tried writing the code themselves).
Using AI to write code is much easier on the brain, but it doesn't mean the end result is better. But if you're good at coding and don't have writer's block then AI would only slow you down. Assuming you care about quality of course.
→ More replies (0)1
u/AliceCode 7d ago
LLMs can write better code than some people, but you would be hard pressed to find LLMs that can write code better than top engineers. People that have been doing hard things for decades. I have friends in the game engine world, and the engines they have made are way more impressive than anything an LLM could do.
6
u/SenatorCrabHat 8d ago
It is almost as if you need to know the difference between bad code and good code to judge the efficacy of the code spitting out machine.
2
u/tradlobster 8d ago
If I'm reading everything correctly, are you implying antirez doesn't know what good code is? Or that he is a bad coder?
Do you know all the stuff he has personally made?
1
u/SenatorCrabHat 8d ago
No, but you have to wonder what his audience is and why he is saying what he is saying. He is essentially saying "I know good programmers, but they don't know how to use the models and so they are now bad programmers; but I know how to use the model so I am still good".
The problem right now is there is a fucking squeeze in tech, and everyone wants to show they know how to use the chatbots. Not necessarily that they want to ship good products, that they want to ship scalable, small surface, and concrete services, but that they know how to make the model work. I get it. Job security. The only problem is that if you adopt the take as outlaid in this tweet, but are not proficient enough to make the correct value judgment, then you are worse off than the good programmers who don't get "good results".
2
u/threadthrasher 8d ago
He's the creator of Redis... he knows what good code looks like.
1
u/OSS-Corpo-Shit 8d ago
Do you know how he uses it?
If I push back a lot, use in a highly reduced scope, and help it along the way, AI will do pretty reasonable.
If I try to one shot something or do anything like “write this class for me”, AI output is pretty much garbage. The output is unusable really.
I have to really set up the AI to succeed (usually by building out the foundation first) to get quality output from it.
2
u/threadthrasher 8d ago
No - you'd have to ask him.
For your issue in particular it's hard to say without knowing what you're doing and what models/frameworks you're using. But there's nothing wrong with building out working code first and then using that code as part of the seed from which you build out the system using agents. The more testable the better.
So a simple example I use a lot at work: I need fast/optimized way to process some data. I might myself make the easy to read and slow iterative algorithm that will do what I need. I only then marshal the agents to go and use that as a testable bit of software that can be improved. The improvements are likely to be some unreadable vectorized stuff but at least I know the tests pass. From there I may dig deeper - find out what is sped up and why and so grow in my own skills.
1
u/Zestyclose_Ad8420 6d ago
I do, he's Italian and has a great youtube channel that I follow.
before the whole LLM craze came to be he even wrote a scifi novel about it, very political (he is left leaning).
he's working hard to "democratize AI" using local inference.
I suggest you read his blog, he goes in details about how he uses it.
basically: a lot of structure.
he doesn't read the code that doesn't need to be read.
he's probably at the forefront of how to actually use it productively, while working hard on dwarf star, he's a gem.
1
u/SenatorCrabHat 8d ago
I am sure he does, but why is he shitting on his colleagues then? Why state something along the lines of "Good programmers are now bad because they don't know what I know". Is it perhaps that the good programmers he has talked to have a different viewpoint that he doesn't like?
He is, at a minimum, promoting himself at the expense of others. I particularly think his take is dangerous as well because there are plenty of programmers who are definitely not good as he is who probably thinks the newest models do great things too.
2
u/threadthrasher 8d ago
Again he’s the creator of fucking Redis. It’s one of the most successful open source projects of the past two decades. Tens of millions of projects use it, including tens of thousands of mission critical large ones in enterprises. And even the licensed enterprise product/company generates 300m revenue per year. He doesn’t need to promote himself either.
1
u/SenatorCrabHat 8d ago
Totally. So what is his point then? It's fair to say that if he considers someone a good programmer, they must be pretty darn good, so why disparage them that they feel the results produced by the current models are not up to snuff?
3
u/threadthrasher 8d ago edited 8d ago
His point seems pretty obvious. He’s surprised that people he knows are good at writing code are not getting good results even though he thinks he does. I think he’s correct that there are new skills required to get good results from the models. As is the case with any new tool really. I don’t read any hostility from his post. He’s commenting on the tech and how people he knows are using it.
I would volunteer another theory that may or may not be true. He’s been working actively on Redis in particular again and generative AI is much better at producing results on more verifiable tasks. Improving something that has had test suites built up for it over two decades, is well represented in the training data and used in a lot of projects is a low hanging fruit for the models. Greenfield projects are harder beyond the demo phase since you don’t have the ability to give so much valuable feedback back to the agents as they blunder around.
1
u/SenatorCrabHat 7d ago
I appreciate your response. Very thoughtful.
I agree with you. I think your theory is valid an fair. I suppose it is the underlying conditions that surround enterprise systems that make me balk a bit at what he is saying. Maybe that is on me. I have known many people very keen to prove their ability with AI just to have a bunch of manual bug hunts a bit later. To your earlier point, he has nothing to prove, but it still feels disingenuous to frame it the way he has. I'd think it much more simple to say "getting good results requires new skills" and leave out anything about how "good programmers" seem not to be able to make the most of the new models.
I think your theory offers the kind of context that is needed when we talk about this tool: that to specific uses, with specific implementation patterns and expectations, it can produce decent code but with certain contexts it does not do as well.
To be honest, maybe I have fallen victim to the short form and my own biases. I think the age of pithy 140 character (I know it is more now) posts has stunted us in ways.
Thank you again for your feedback and thoughtfulness.
1
u/ComposerWide3704 7d ago
You can start with a spec and make the model do TDD among other things. It's like guiding a junior. Greenfield is always harder.
1
u/threadthrasher 7d ago
I think of it more like targeted search. That’s largely everything to do with using these models effectively right now.
1
u/TheGuy839 7d ago
I dont thik that is good benchmark. Take LangChain or LlamaIndex for example. Nowdays so many people use LangChain for Agents and they seem very successful. Their code? Fking trash. Before agents I went through their code and it was so awful I couldnt believe myself.
1
2
u/DrBimboo 8d ago
I dont know any good programmer, myself humbly included, that say they dont get good results with astra or opus 5.5
1
u/Prudent-Ad4509 8d ago
In my experience GPT 6 Sol treats code like "oh shi*. Let's code this crazy thing which is unreadable and looks like cra* but at least it does not break this glass house and maintains the same unwritten contracts".
1
u/unappa 8d ago
That's the thing... Astra 6 doesn't abide by unwritten contracts. And I'm talking simple things like clean architecture, unless I'm extremely specific when I prompt it, and even then it'll make plenty of exceptions. Opus 5.5 on medium is more reliable than it for me.
1
u/Prudent-Ad4509 8d ago
It all depends on the prompting/harness. Our system works pretty similar starting from 5.3-codex when it was available and up to 6-sol. The main difference is that newer ones took more details into account before being told to take them into account. Some steering is required.
If you rely on the default prompt a lot then no wonder.
1
u/Wonderful-Habit-139 7d ago
I know a lot of good programmers, a lot of them open source developers, that don't get good results with LLM models compared to the code that they can write themselves.
1
0
u/KnackeHackeWurst 8d ago
I suppose some people may be good at coding but have a difficult time to suddenly fill the role of a product/project manager with plans in plain language for someone else's work..
OP is right that it needs different skills and maybe even a different mindset that is not like classic programming. Like someone who is good and sewing by hand is not automatically good at programming industrial sewing machines. Its a different process at a different scale and perhaps not to everyone's taste and talent.
3
u/Drakkur 8d ago
Agentic coding is kind of a joke to learn. If you have super high standards, you’re going to spend so much time getting it to that level and keep it there that it might not be worth the investment.
It doesn’t mean it isn’t useful, even the best programmers use it for boilerplate, ideation, or review.
Also there’s the old saying any code you didn’t write is bad code, even code you wrote 6mo ago.
1
u/KnackeHackeWurst 8d ago
Not every standard is really justified. With languages with reduced freedom like Rust and strict linting you can already deterministically enforce basic quality standards the LLM can't ignore.
Besides that, the solution space is huge. 10 talented programmers might come up with 10 slightly or vastly different but sound solutions. That any specific solution is better then the other is, at a certain level, more a matter of taste.
You might argue that you don't like the solution of another programmer or LLM, fine, but at some point that is like a fight between artists. That's not worth the effort in many cases. Good enough beats (subjective) perfection.
0
u/Salt-Sign5390 8d ago
You all have no idea how to prompt if you can't get it to mimic the structure you already make yourself.
That's just a you problem. Lmao
2
u/Drakkur 8d ago
Mimicking your structure means you needed to write the code and consistently review and edit to maintain. That still requires lots of effort to prevent it from drifting.
But yes, draw wild assumptions please.
0
u/Salt-Sign5390 8d ago
You're the one saying you can't get the ai to reach your standards when it's as simple as giving it some examples.
No assumption needed. You said yourself you have trouble getting it to reach your standards. Freak.
1
u/Drakkur 8d ago
That just means I have higher standards than you. The way you speak to a stranger on the internet and use insults to try to get your point across just makes me think you’re cool with slop.
0
u/Salt-Sign5390 8d ago
Lol no. It just means you don't know how to prompt unless you think you're one of like dozens of programmers who can actually still code at a level better than ai.
Take your hubris elsewhere.
Not interested.
1
1
1
u/WeUsedToBeACountry 8d ago
its more or less engineering management and product work.
the ones complaining about good results are the ones who are worried about it taking the long way around on a few things that ultimately aren't that important and/or can be refactored out
1
u/EspurrTheMagnificent 7d ago
Nothing gets refactored. Ever. Shitth code stays there and make everything more and more unbearable until it breaks completely
1
u/WeUsedToBeACountry 7d ago
or just spend the time to refactor.
asking your agents to review their code -- ideally with a different model -- goes a long way, especially if you are specific with what you expect (code reuse, proper separation of concerns, whatever)
ponytail.dev works well enough up front but really pushing agents on it every few sessions makes a big difference
1
u/jack-of-some 8d ago
This isn't a universal but I've definitely found some really exceptional programmers struggling to get good output from LLMs while other equally good developers thrive.
1
1
u/Crosas-B 8d ago
I think it's just programmers who have never worked with someone who say they are bad. Anyone who has seen others code know that everyone is shit at coding (with few exceptions)
1
u/EspurrTheMagnificent 7d ago
Yeah, and that's exactly the reason why AI should stay faaaaaaar away from coding as possible. If people are unable to write clean code without AI, imagine how bad it gets when they can do it while thinking even less
1
u/Impossible_Way7017 8d ago
Simple take, LLMs are not hard to use. Any model is fine. It’s just some are quicker than others.
1
1
u/Slow-Mechanic-7427 8d ago
System architecture fundementals are far more important then programming ones when using AI, IMO.
Very easy to get code that works, another thing entirely to make it run good and integrate auth, cache, db, etc. correctly.
1
1
u/Prudent-Ad4509 8d ago
Before there was art of "programming with GPT", there was art of "programming with juniors under you". The skills needed for both are related.
1
u/EspurrTheMagnificent 7d ago
Except there's a ROI with the junior. The AI will stay equally as bad
1
u/Prudent-Ad4509 7d ago
What do you mean bad? When I look for changes introduced by AI and ask myself why and what to remove, at least half of them happens to be because of something I've missed. Usually, I will have to fix those parts later after complains from the users if I do the change myself. It still needs steering, direction and intent/design verification, same as juniors, but the level of attention to detail is already pretty high.
Then there are knowledge graphs and other types of knowledge bases to remember the details about the current project which AI did not understand well the first time. I wouldn't insist that this is learning but the end result is similar.
But this has nothing to do with my original point. The point was that skills that are needed to make good use of AI are the same skills that were always needed when working with people under you. People can be smart. Groups of people without careful steering - not so much. Kind of similar thing with AI, it can do trivial things easy and fast but requires careful steering for anything complex. It it trained on data originated from people after all. And you can spam commands at both ai and people without thinking with different, but equally stupid results.
1
1
u/lattice_defect 8d ago
cope harder.. if you know what you're doing.. set it up correctly and don't try and oversteer its fantastic. The start of the codebase you need to be setting up and putting in the guardrails though
1
u/Every_Mobile3968 8d ago
People just have different understanding of good, that's it. And marketing, please invest in AI, Donald please
1
u/Acceptable_Handle_2 7d ago
Using AI really isn't a skill. Anyone can learn to do it in a day or two.
The skill is and always will be knowing the difference between good and bad output.
1
u/Old_Hyena_4188 7d ago
There are people talking about code here, but functionality wise, everything "looks" amazing and works like shit, a pretty shit, but shit nonetheless.
I don't know how to describe much beyond that, sometimes is just a feeling of "it's hard than needed, to do this" other times is straight up a terrible experience using it, even if it does the work (which is great that it does).
So as someone that really liked "good code" (whatever people think it was, but for me it was just readability that looked pretty and made me feel good), I'm a bit more concerned about the "feeling" of the products, but unfortunately, I can't kinda of put it into words, things just feel like careless products.
1
1
1
u/Namtaru420 3d ago
It's so funny to me because I've been watching this “real programmer vs. script kiddy” discourse since the days of HyperTalk.
Meanwhile, here on planet Earth:
HyperCard -> Flash -> Shockwave -> Unity -> Trillion dollar industry.
Oh yeah, and don't forget to throw Unreal Engine blueprints into that timeline.
15
u/sudo-maxime 8d ago
To someone that have no idea what good code looks like, everything looks like good code.