Live data from Hacker News

Writing code is cheap now

simonwillison.net

451–460 of 522 posts

Re: Writing code is cheap now

#451
post #446

Earlier quoted context omitted.

> Most people suck at playing the piano. Most people suck at prompting coding agents. If you practice either of those things you'll get better at them. It would be funny, if by now I weren't convinced you are pushing these false analogies on purpose. The key difference between a piano and LLMs being, the piano will produce the same sounds to a same sequence of keys. Every single time. A piano is deterministic. The LL…

Fine, if you don't like the piano analogy: Most people suck at falconry. If you practice at falconry you'll get better at it. Falcons certainly aren't deterministic. > it's not like there this huge secret to using them - after all they use natural language as their primary interface That's what makes them hard to use! A programming language has like ~30 keywords and does what you tell it to do. An LLM accepts input i…

> Falcons certainly aren't deterministic.

Well falcons are not deterministic and are trained to do something in the art of falconry, yes. Still I fail to see an analogy here as it is the falcon gets trained to execute a few specific tasks triggered by specific commands. Much like a dog. The human more or less needs to remember those few commands. We don't teach dogs and falcons to do everything do we ? Although we do teach specific dogs do to specific tasks in various domains. But no one ever claimed Fido was superintelligent and that we needed to figure him out better.

> That's what makes them hard to use! A programming language has like ~30 keywords and does what you tell it to do. An LLM accepts input in 100+ human languages and, as you've already pointed out many times, responds in non-deterministic ways. That makes figuring out how to use them effectively really difficult.

Well yes and no. The problem with figuring out how to use them (LLMs) effectively is exactly caused by their inherent un-predictability, which is a feature of their architecture further exacerbated by whatever datasets they were trained on. And so since we have no f*ing clue as to what the glorified slot machines might pop out next, and it is not even sure as recently measured, that they make us more productive, the logical question is - why should we, as you propose in your latest blog, bend our minds to try and "figure them out" ? If they are un-predictable, that means effectively that we do not control them, so what good is our effort in "figuring them out"? How can you figure out a slot machine? And why the hell should we use it for anything else other than a shittier replacement for pre-2019 Google? In this state they are neither augmentation nor amplification. They are a drag on productivity and it shows, hint - AWS December outage. How is that amplifying anything other than toil and work for the humans?

Re: Writing code is cheap now

#452
post #144

Earlier quoted context omitted.

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 agen…

> I chose this words because I don't think good code is nearly as expensive with coding agents as it was without them. Still navigating this territory, but I think a lot of people are getting caught up on the idea that producing code is simply a matter of typing it at the keyboard. One of the benefits of something like Claude Code isn't just the code it produces, but the ability to quickly try out ideas, get some fee…

This was the single worthwhile point behind “agile” development: getting new code in front of users as quickly as possible to know whether or not you’re building the right thing.

With agile that meant delivering something to evaluate every two weeks instead of 6 months or a year. Now with AIs maybe it should be a new version every day? Are current processes outside of writing the code capable of supporting that cadence? Do users even want to try new versions that often?

Re: Writing code is cheap now

#453
post #291

Earlier quoted context omitted.

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.

Once writing code is cheap you don't maintain code. You regenerate it from scratch. What you maintain is the specification harness, and change that to change the code. We have to start thinking at a higher level, and see code generation in the same way we currently see compilation.

Tokens aren’t free.

Far more expensive than compilation and non deterministic so you’re not sure if you will get the same software if you give the AI the same spec.

Re: Writing code is cheap now

#454

Earlier quoted context omitted.

Once writing code is cheap you don't maintain code. You regenerate it from scratch. What you maintain is the specification harness, and change that to change the code. We have to start thinking at a higher level, and see code generation in the same way we currently see compilation.

Unless the specification is also free of bugs and side effects, there is no guarantee that a rewrite would have fewer bugs. Plenty of rewrites out there prove that point.

Seems relevant again:

https://www.joelonsoftware.com/2000/04/06/things-you-should-...

Re: Writing code is cheap now

#455

Earlier quoted context omitted.

I 'love' that folks are seemingly inching slowly towards more acceptance of crappy llm code. Because it costs marginally less to produce to production if you just pass some smoke tests? Have we not learned anything about technical debt and how it bites back hard? Its not even seniority question, rather just sane rational approach to our craft unless one wants to jump companies every few months like a toxic useless ap…

> Have we not learned anything about technical debt and how it bites back hard? I think LLMs are changing the nature of technical debt in weird ways, with trends that are hard to predict. I've found LLMs surprisingly useful in 'research mode', taking an old and badly-documented codebase and answering questions like "where does this variable come from, and what are its ultimate consumers?" Its answers won't be as natu…

None of what you describe is free.

After the LLM helps untangle the mess, if you leave the mess in place, you will have to ask the LLM untangle it for you every time you need to make a change.

Better to work with the LLM to untangle the technical debt then and there and commit the changes, so neither you nor the LLM have to work so hard in the future.

I’ve even seen anecdotal evidence that code that’s easier for humans to work with is easier for LLMs to work with as well.

Re: Writing code is cheap now

#456

> Here's what I mean by "good code": > [...] > - It’s simple and minimal - it does only what’s needed, in a way that both humans and machines can understand now and maintain in the future. But do the humans need to actually understand the code? A "yes" means the bottleneck is understanding (code review, code inspection). A "no" means you can go faster, but at some risk.

> But do the humans need to actually understand the code? A "yes" means the bottleneck is understanding (code review, code inspection). A "no" means you can go faster, but at some risk. I always thought of things like code reviews as semi pseudo-science in most cases. I've sat through meetings where developers obviously understand the code that they are reviewing, but where they didn't understand anything about the s…

Code reviews are pseudo-science now? Computer unfriendly code? What are you talking about? Do you understand that this babble makes zero sense ? Are you one of those product managers who recently learned to vibe-code? If so, make sure your latest Replit project does not delete your production database..

Re: Writing code is cheap now

#457
post #446

Earlier quoted context omitted.

Fine, if you don't like the piano analogy: Most people suck at falconry. If you practice at falconry you'll get better at it. Falcons certainly aren't deterministic. > it's not like there this huge secret to using them - after all they use natural language as their primary interface That's what makes them hard to use! A programming language has like ~30 keywords and does what you tell it to do. An LLM accepts input i…

> Falcons certainly aren't deterministic. Well falcons are not deterministic and are trained to do something in the art of falconry, yes. Still I fail to see an analogy here as it is the falcon gets trained to execute a few specific tasks triggered by specific commands. Much like a dog. The human more or less needs to remember those few commands. We don't teach dogs and falcons to do everything do we ? Although we do…

I've found that using LLMs has had a very material effect on my productivity as a software developer. I write about them to help other people understand how I'm getting such great results and that this is a learnable skill that they can pick up.

I know about the METR paper that says people over-estimate the productivity gains. Taking that into account, I am still 100% certain that the productivity gains I'm seeing are real.

The other day I knocked out a custom macOS app for presenting web-pages-as-slides in Swift UI in 40 minutes, complete with a Tailscale-backed remote presenter control interface I could run from my phone. I've never touched Swift before. Nobody on earth will convince me that I could have done that without assistance from an LLM.

(And I'm sure you could say that's a bad example and a toy, but I've got several hundred more like that, many of which are useful, robust software I run in production.)

Re: Writing code is cheap now

#458

Earlier quoted context omitted.

The clear intent is to stop allowing regular people to be able to compute...anything. Instead, you'll be given a screen that only connects to $LLM_SERVER and the only interface will be voice/text in which you ask it to do things. It then does those things non-deterministically, and slower than they would be done right now. But at least you won't have control over how it works!

Weather or not the intent is as nefarious as you suggest, that type of UI is going to be a boon for a lot of people. Most people on the planet are incredibly computer illiterate.

Imagine what they could achieve with a non-deterministic computer that requires extremely detailed requests and weird language tricks to be convinced to do what you want!

Re: Writing code is cheap now

#459
post #128

Earlier quoted context omitted.

> With the time I spend on reviews I could have done it myself, so if they don’t start learning… Then? Your job is still to review their code. If they are your coworker, you can not fire them.

Then just start rubber-stamping their code. Say you "vibe" read it.

[dead]

Re: Writing code is cheap now

#460

Earlier quoted context omitted.

> But do the humans need to actually understand the code? A "yes" means the bottleneck is understanding (code review, code inspection). A "no" means you can go faster, but at some risk. I always thought of things like code reviews as semi pseudo-science in most cases. I've sat through meetings where developers obviously understand the code that they are reviewing, but where they didn't understand anything about the s…

Code reviews are pseudo-science now? Computer unfriendly code? What are you talking about? Do you understand that this babble makes zero sense ? Are you one of those product managers who recently learned to vibe-code? If so, make sure your latest Replit project does not delete your production database..

Splitting your code up into multiple functions across multiple files is computer unfriendly code. It'll cause L1, L2 and L3 cache misses. Yet it's heailed as very human friendly and maintainable by Uncle Bob and his disciples. As far as code reviews go, do you have any form of evidence that it's not a pseudo science? If I look at our industry today, it's not like it's in better shape compared to where it was decades ago. Hell, some of our most important systems are still running COBOL. If all these methodologies and principles that people swear by actually worked, I'd argue that things would have improved over the previous 40 years.

I think AI is pretty terrible for a lot of things, and pretty great for a lot of things. Since I work in a NIS2 regulated field I can't have any form of agent running with any form of access. Which makes sense for any form of critical service we write, but I wouldn't have an issue having an AI deal with some "unimportant" internal application.

Post reply on HN