I wonder how people can like LLM generated code so much and then at the same time find LLM generated prose so repulsive. Is the quality of LLM generated code higher? I would think there’s much more prose than code to train on. Or is it that we don’t care about that as we’re only looking at the effects of that code? Maybe people pick Rust as they won’t understand what the LLM writes anyway so there’s less guilt about writing bad code. Same for me if I would read Assembly, I guess I can make out what it does mostly but I couldn’t judge its quality really. But it doesn’t matter to me as I never read it anyway and I never go down to that level of abstraction anymore. That’s what’s happening here I think with people picking Rust for LLM coding, they don’t care about the code because they can’t really read it anyway and they never go down to its level of abstraction for debugging anymore, only the few specialists working on the foundations do that.
Because code isn't prose. It has a much more structured, "correct" form than prose. After adhering to a high level structure of a program and applying linter rules, there's really not that much variance between code. LLM code without guard rails can get really bad, but with some guard rails it's generally not worse than the average code I'd read before LLMs. I'm used to code being generally bad.
Books or blogs on the other hand are different. Every person writes differently, and the writing style is part of the experience. The same scene or concept can be described in an infinite number of ways. But LLM prose ends up very samey. You get the same sentence structure, the same key words, the same metaphors, the same similes, the same rough distribution of word usage. It's very average, and it's boring. And it frequently reads like a corporate blog.
While it's true many people don't care about code quality, it is completely nonsense to think that Rust was chosen simply because "we wouldn't be able to understand it anyway."
This is completely irrelevant. An LLM's voice is not influenced by its at-scale training data. LLM-prose is the result of human feedback training rewarding it for making every single sentence sound like a YouTube or BuzzFeed headline, which is effective against a large portion of the population who get dopamine hits from such clickbait style of writing, and completely infuriating to the portion who recognize it for what it is.
LLM code is also infuriating, but for a different reason, because it is not reinforced in exactly the same way. However, people are fine with it because they don't read it. If they actually read the dogshit code an LLM produces, and were capable of understanding it, they would be infuriated by it too.
I still think LLMs generate boilerplate and examples that should have been in the docs to begin with. We never really needed LLMs. We needed more active communities and maintainers to care about the "boring" parts.
All the rest of the generated code is usually slop. It only gets worse the further away you get from the most popular idioms that have already been written.
I don't think we're ever getting beyond that point with statistical "AI".
It's actually a pretty significant defeat for any open source tools that wanted to maintain control over what is considered canonically good. Maintainers are now forced to be a lot more defensive about what is possible with their tools. This limits their scope and kills curiosity and creativity.
We're lucky that all this happened after we found enough stability that people aren't too interested in creating new languages and frameworks from scratch like it was a decade ago.
I kept saying that about heavy design patterns and unergonomic OO programming languages that end up requiring code generators (you know exactly what programming languages I'm saying). I kept hearing rejection after rejection, and angry words.
People don't like abstracting, or just don't understand abstractions, often just mistaking it for indirections. The few that understand it just take the message, apply it and go away to live their lives with improved coding.
> one thing is pretty clear: the act of familiarizing yourself with a language no longer matters and some of the friction that mattered for humans does not matter for agents.
sure, man, whatever.
Yet another HN item linking to a blog post by someone extolling the brave new world we are in due to LLM-generated code. Reminds me of this:
10 comments:
I wonder how people can like LLM generated code so much and then at the same time find LLM generated prose so repulsive. Is the quality of LLM generated code higher? I would think there’s much more prose than code to train on. Or is it that we don’t care about that as we’re only looking at the effects of that code? Maybe people pick Rust as they won’t understand what the LLM writes anyway so there’s less guilt about writing bad code. Same for me if I would read Assembly, I guess I can make out what it does mostly but I couldn’t judge its quality really. But it doesn’t matter to me as I never read it anyway and I never go down to that level of abstraction anymore. That’s what’s happening here I think with people picking Rust for LLM coding, they don’t care about the code because they can’t really read it anyway and they never go down to its level of abstraction for debugging anymore, only the few specialists working on the foundations do that.
Because code isn't prose. It has a much more structured, "correct" form than prose. After adhering to a high level structure of a program and applying linter rules, there's really not that much variance between code. LLM code without guard rails can get really bad, but with some guard rails it's generally not worse than the average code I'd read before LLMs. I'm used to code being generally bad.
Books or blogs on the other hand are different. Every person writes differently, and the writing style is part of the experience. The same scene or concept can be described in an infinite number of ways. But LLM prose ends up very samey. You get the same sentence structure, the same key words, the same metaphors, the same similes, the same rough distribution of word usage. It's very average, and it's boring. And it frequently reads like a corporate blog.
I don't like LLM prose pretending to be human with emotions and affection.
I like LLM generated code that works in a technical way. Just like I like LLM prose that tells me the facts I want to know. But no fluff.
While it's true many people don't care about code quality, it is completely nonsense to think that Rust was chosen simply because "we wouldn't be able to understand it anyway."
> much more prose than code to train on
This is completely irrelevant. An LLM's voice is not influenced by its at-scale training data. LLM-prose is the result of human feedback training rewarding it for making every single sentence sound like a YouTube or BuzzFeed headline, which is effective against a large portion of the population who get dopamine hits from such clickbait style of writing, and completely infuriating to the portion who recognize it for what it is.
LLM code is also infuriating, but for a different reason, because it is not reinforced in exactly the same way. However, people are fine with it because they don't read it. If they actually read the dogshit code an LLM produces, and were capable of understanding it, they would be infuriated by it too.
I still think LLMs generate boilerplate and examples that should have been in the docs to begin with. We never really needed LLMs. We needed more active communities and maintainers to care about the "boring" parts.
All the rest of the generated code is usually slop. It only gets worse the further away you get from the most popular idioms that have already been written.
I don't think we're ever getting beyond that point with statistical "AI".
It's actually a pretty significant defeat for any open source tools that wanted to maintain control over what is considered canonically good. Maintainers are now forced to be a lot more defensive about what is possible with their tools. This limits their scope and kills curiosity and creativity.
We're lucky that all this happened after we found enough stability that people aren't too interested in creating new languages and frameworks from scratch like it was a decade ago.
Agreed. Whenever I hear about LLMs automating "boilerplate" I ask "Why didn't you abstract that away before LLMs existed?"
I kept saying that about heavy design patterns and unergonomic OO programming languages that end up requiring code generators (you know exactly what programming languages I'm saying). I kept hearing rejection after rejection, and angry words.
People don't like abstracting, or just don't understand abstractions, often just mistaking it for indirections. The few that understand it just take the message, apply it and go away to live their lives with improved coding.
> It only gets worse the further away you get from the most popular idioms that have already been written.
This explains my experience. It gives me good info about what other people do but doesn’t help me solve unique problems.
> one thing is pretty clear: the act of familiarizing yourself with a language no longer matters and some of the friction that mattered for humans does not matter for agents.
sure, man, whatever.
Yet another HN item linking to a blog post by someone extolling the brave new world we are in due to LLM-generated code. Reminds me of this:
https://www.youtube.com/watch?v=JeNS1ZNHQs8