So I've been working on a project in Rust because a library that's appropriate for the design has a terrific Rust API and a miserable C API. I've been loosely tracking Rust since before 1.0 and I've never felt it's a language that's easy to be productive in, and not just because of lifetimes and the borrow checker. So I've been using coding agents to get me through. The problem is I don't have a sense of what feels good or bad, so I can't direct the AI to steer in another direction. And neither does AI it turns out. So I'm still going really really slow. AI is still not a substitute for lack of experience or knowledge.
The best thing I can compare it to is Adderall (without a prescribed reason for taking it). Have you ever been reading a dense text and realized halfway through the page that you didn't comprehend anything? I get this kinda sick feeling in my stomach and then I back up to the last point I was really paying attention. Adderall gets rid of that feeling, and I can just read through. But am I actually comprehending the text or is the drug just raising the ambient dopamine levels enough that I'm not feeling the missed comprehension? Using coding agents makes me feel the same way. I'm not feeling the struggle of learning something new, but I worry I'm writing code no one will be able to fix, even the AI.
Anyways, I've defaulted to using a free chatbot "ChatGPT style". It makes a lot of mistakes and forces me to go through everything over and over.
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 (In terms of how it reads, not correctness or performance). 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:
So I've been working on a project in Rust because a library that's appropriate for the design has a terrific Rust API and a miserable C API. I've been loosely tracking Rust since before 1.0 and I've never felt it's a language that's easy to be productive in, and not just because of lifetimes and the borrow checker. So I've been using coding agents to get me through. The problem is I don't have a sense of what feels good or bad, so I can't direct the AI to steer in another direction. And neither does AI it turns out. So I'm still going really really slow. AI is still not a substitute for lack of experience or knowledge.
The best thing I can compare it to is Adderall (without a prescribed reason for taking it). Have you ever been reading a dense text and realized halfway through the page that you didn't comprehend anything? I get this kinda sick feeling in my stomach and then I back up to the last point I was really paying attention. Adderall gets rid of that feeling, and I can just read through. But am I actually comprehending the text or is the drug just raising the ambient dopamine levels enough that I'm not feeling the missed comprehension? Using coding agents makes me feel the same way. I'm not feeling the struggle of learning something new, but I worry I'm writing code no one will be able to fix, even the AI.
Anyways, I've defaulted to using a free chatbot "ChatGPT style". It makes a lot of mistakes and forces me to go through everything over and over.
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 (In terms of how it reads, not correctness or performance). 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
[dead]