logoalt Hacker News

tabs_or_spacestoday at 4:29 AM12 repliesview on HN

> Code has always been expensive. Producing a few hundred lines of clean, tested code takes most software developers a full day or more. Many of our engineering habits, at both the macro and micro level, are built around this core constraint.

> ...

> Writing good code remains significantly more expensive

I think this is a bad argument. Code was expensive because you were trying to write the expensive good code in the first place.

When you drop your standards, then writing generated code is quick, easy and cheap. Unless you're willing to change your standard, getting it back to "good code" is still an equivalent effort.

There are alternative ways to define the argument for agentic coding, this is just a really really bad argument to kick it off.


Replies

bfbftoday at 7:46 AM

In my experience, it’s even more effort to get good code with an agent-when writing by hand, I fully understand the rationale for each line I write. With ai, I have to assess every clause and think about why it’s there. Even when code reviewing juniors, there’s a level of trust that they had a reason for including each line (assuming they’re not using ai too for a moment); that’s not at all my experience with Codex.

Last month I did the majority of my work through an agent, and while I did review its work, I’m now finding edge cases and bugs of the kind that I’d never have expected a human to introduce. Obviously it’s on me to better review its output, but the perceived gains of just throwing a quick bug ticket at the ai quickly disappear when you want to have a scalable project.

show 4 replies
simonwtoday at 5:14 AM

I was careful to say "Good code still has a cost" and "delivering good code remains significantly more expensive than [free]" rather than the more aesthetically pleasing "Good code is expensive.

I chose this words because I don't think good code is nearly as expensive with coding agents as it was without them.

You still have to actively work to get good code, but it takes so much less time when you have a coding agent who can do the fine-grained edits on your behalf.

I firmly believe that agentic engineering should produce better code. If you are moving faster but getting worse results it's worth stopping and examining if there are processes you could fix.

show 4 replies
AyanamiKainetoday at 1:24 PM

I really like the idea of Ousterhout's tactical vs strategic programming. Where we either create a new feature as fast as possible vs focusing on architecture and keeping complexity in check.

I truly believe that LLMs are replacing tactical programming. Focusing on implementing features as fast as possible with not much regards to the overall complexity of a system.

Its more important then ever to focus on keeping complexity low at a system level.

random3today at 4:43 AM

Code is cheaper. Simple code is cheap. More complex code may not be cheaper.

The reason you pay attention to details is because complexity compounds and the cheapest cleanup is when you write something, not when it breaks.

This last part is still not fully fleshed out.

For now. Is there any reason to not expect things to improve further?

Regardless, a lot of code is cheap now and building products is fun regardless, but I doubt this will translate into more than very short-term benefits. When you lower the bar you get 10x more stuff, 10x more noise, etc. You lower it more you get 100x and so on.

zahlmantoday at 7:18 PM

Yeah, I have to agree. Worth noting that deterministic "code-generation" systems have existed for quite some time. It's just that once you saw something like that being useful for your system, that gave pause to critique the existing system design.

Boilerplate is boilerplate, whether filling it in is purely mechanical or benefits from an LLM's fuzzy logic.

unfuncotoday at 6:09 AM

Computer programming is cheap. Software engineering is expensive.

pmontratoday at 3:40 PM

The problem is to know what to write. I spent a whole day yesterday to understand what the problem was with a PDF file we were failing to process. Once I understood the cause it took one line of code to fix it and another dozen of lines for a unit test. A LLM helped me to write the code to explore several possible candidate problems but it did not find the problem by itself.

So code is both cheaper (what the LLM wrote for me much faster than I could have typed it) and is also expensive (the only line that we deployed to production today.)

ap99today at 12:29 PM

Code has a generation cost and a maintenance cost.

If you just look at generation then sure it's super cheap now.

If you look at maintenance, it's still expensive.

You can of course use AI to maintain code, but the more of it there the more unwieldy it gets to maintain it even with the best models and harnesses.

show 2 replies
renegat0x0today at 8:11 AM

I think the cost and work remains the same. What has change is efficiency. Previously people had to manually program byte after byte. Then came C and streamlined it, allowing faster development.

With python I can write a simple debugging UI server with a few lines.

There are frameworks that allow me to complete certain tasks in hours.

You do not need to program everything from scratch.

The more code, the faster everything gets, since the job is mostly done.

We are accelerating, but we still work 9 to 5 jobs.

show 1 reply
mmsctoday at 5:58 AM

Spaghetti code was always a thing though

show 1 reply
thih9today at 11:38 AM

> When you drop your standards, then writing generated code is quick, easy and cheap.

Not as cheap as generating code of equivalent quality with an LLM.

wlruystoday at 6:31 AM

Definitely the market incentives for "good code" have never been worse, but I'm wouldn't be so sure the cost of migrating decent pieces of generated code to good code is worse than writing good code from whole cloth.

show 1 reply