As much as I agree with this article, I feel that there's a logical flaw here. The author admits that it's difficult to measure bad code - but continues with the assertion that it exists. If the only negative to "bad code" is that it's difficult to maintain once the author has left or difficult to refactor, then the question really is whether or not LLMs will continue to be able to maintain their spaghetti code.
Just because it's bad for a human doesn't necessarily mean everything will fall apart - unless a human has to maintain it unaided.
I think the key distinction is that it's difficult to determine whether a single commit or pull request is bad code at a glance, but it's easy to determine when the codebase as a whole has gone bad due to many low quality commits.
The latter often doesn't even require looking at the code, you can usually feel it just by using the software. From my experience, all software primarily written by AI is full of little bugs and inconsistencies that reflect bad code architecture (such as two very similar pieces of functionality in two different places behaving in wildly different ways, due to the AI being unaware of the first when asked to implement the second and writing the code twice)
I totally agree, and I agree with the article in general. I just don't think it follows that code that's bad because humans had to maintain it is necessarily bad by definition.
I've vibecoded loads of AI apps for myself and almost none of them are still in use. Not because I didn't really want them or they didn't work, but because the more I used them the dirtier I felt, as though I could feel the bad decisions and the bugs underneath just by interacting with it.
dwedge · · focus · HN ↗
Just because it's bad for a human doesn't necessarily mean everything will fall apart - unless a human has to maintain it unaided.
bakugo · · focus · HN ↗
The latter often doesn't even require looking at the code, you can usually feel it just by using the software. From my experience, all software primarily written by AI is full of little bugs and inconsistencies that reflect bad code architecture (such as two very similar pieces of functionality in two different places behaving in wildly different ways, due to the AI being unaware of the first when asked to implement the second and writing the code twice)
dwedge · · focus · HN ↗
I've vibecoded loads of AI apps for myself and almost none of them are still in use. Not because I didn't really want them or they didn't work, but because the more I used them the dirtier I felt, as though I could feel the bad decisions and the bugs underneath just by interacting with it.