Comment by bccdee
23 days ago
Yeah I think that's an interesting point of comparison. There's definitely a phenomenon where people can take their abstractions for granted and back themselves into corners because they have no deeper understanding of what their framework does under the hood.
The key difference with LLMs is that React was written very intentionally by smart engineers who provided a wealth of documentation to help people who need to peek under the hood of their framwork. If your LLM has written something you don't understand, though, chances are nobody does, and there's nowhere you can turn to.
If (as Peter Naur famously argued) programming is theory building, then an abstraction like a framework lets you borrow someone else's theory. You skip developing an understanding of the underlying code and hope that you'll either never need to touch the underlying code or that, if you do, you can internalize the required theory later, as needed. LLM-generated code has no theory; you either need to supervise it closely enough to impose your own, or treat it as disposable.
> LLM-generated code has no theory; you either need to supervise it closely enough to impose your own, or treat it as disposable.
Agreed! And I think that's what I'm getting at. Adding what they're now calling "skills," or writing your own, is becoming crucial to LLM-assisted development. If the LLM is writing too much slop, then there probably wasn't sufficient guidance to ensure that slop wouldn't be written.
The first step of course is to actually check that the generated code is indeed slop, which is where many people miss the mark.