FR version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
43% Positive
Analyzed from 614 words in the discussion.
Trending Topics
#code#feedback#where#agents#cost#programming#write#test#feel#guitar

Discussion (6 Comments)Read Original on HackerNews
Has coding ever meant anything else? This is just semantics, but I don't think a product person talking to customers to find out what they need has ever considered their work to be coding, even if the fruits of their discovery eventually ends up as code.
> Code was always the medium
Exactly. If you discovered that what the customer really needed was a wooden cabinet you'd build that instead. You wouldn't give them code and expect it to hold their belongings. Code has never entered the picture until you have something that is well-specified.
The other downside is that programming, especially in a high level language (i.e. not assembly), is not usually this discrete process of ideate -> plan -> write -> test -> review or whatever. Programming is a continuous interaction in which the computer is providing feedback in real time. This is why reducing build time is so powerful because it lets you get feedback faster. This is why IDEs are a good idea because it lets you get feedback faster. Certainly there are people and disciplines where you write out a detailed specification and implement it. But I think most programming is more fluid where as you write you then see where the inefficiencies and clunkiness is and you can adjust in real time. It becomes obvious if your design was bad or based on inappropriate assumptions because when you go to implement it you will feel the wrongness of it. And using agents robs you of this process.
Think of the difference between using an agent and writing code by hand like the difference between recording a live guitar or programming a track with MIDI. You can perfectly make a MIDI track that sounds just like a live guitar, you can program micro-timing adjustments, bends, and expressions. Or you can actually play a guitar. This requires building from a big vat of experience that not everyone has. But you get to feel the guitar vibrate in your hand and become part of this tight feedback loop of you and the instrument. I'm not saying one is better than the other. I'm just saying they produce different kinds of music even though they could in theory produce the same music.
The counterargument is now the AI agent is doing this process. Agents have an internal monologue where they write, test, update, test, etc. They also make difficult search or refactor jobs easier. But AI agents can't viscerally feel something is wrong or inappropriate because they can't have the lived experience of maintaining code. They can't feel the cost of having to add functionality into something that was designed and implemented poorly so it takes forever. What they can do is copy really well. And maybe they are so good at copying they will copy all the right patterns.
But in the meantime, because these tools cannot microadjust and become part of a very tight feedback loop right now it poses a problem. These tools push the evaluation of code further down in time where the cost is greater. To reiterate, the maintenance and refactoring of code was already what a lot of us are spending a lot of our time on in the first place. And pushing that work down the line makes the most expensive part of software engineering even more expensive.