←back to thread

413 points martinald | 1 comments | | HN request time: 0.525s | source
Show context
simonw ◴[] No.46198601[source]
The cost of writing simple code has dropped 90%.

If you can reduce a problem to a point where it can be solved by simple code you can get the rest of the solution very quickly.

Reducing a problem to a point where it can be solved with simple code takes a lot of skill and experience and is generally still quite a time-consuming process.

replies(17): >>46198698 #>>46198714 #>>46198740 #>>46198844 #>>46198931 #>>46198964 #>>46199323 #>>46199413 #>>46199922 #>>46199961 #>>46200723 #>>46200892 #>>46201013 #>>46202508 #>>46202780 #>>46202957 #>>46204213 #
loandbehold ◴[] No.46198714[source]
Most of software work is maintaining "legacy" code, that is older systems that have been around for a long time and get a lot of use. I find Claude Code in particular is great at grokking old code bases and making changes to it. I work on one of those old code bases and my productivity increased 10x mostly due to Claude Code's ability to research large code bases, make sense of it, answer questions and making careful surgical changes to it. It also helps with testing and debugging which is huge productivity boost. It's not about its ability to churn out lots of code quickly: it's an extra set of eyes/brain that works much faster that human developer.
replies(9): >>46198859 #>>46198917 #>>46200183 #>>46201563 #>>46202088 #>>46202652 #>>46204053 #>>46204144 #>>46204151 #
locknitpicker ◴[] No.46202652[source]
> Most of software work is maintaining "legacy" code, that is older systems that have been around for a long time and get a lot of use.

That's not the definition of legacy. Being there for a long time and getting lots of use is not what makes a legacy project "legacy".

Legacy projects are characterized by not being maintained and having little to no test coverage. The term "legacy" means "I'm afraid to touch it because it might break and I doubt I can put it back together". Legacy means resistance to change.

You can and do have legacy projects created a year or two ago. Most vibecoded apps fit the definition of legacy code.

That is why legacy projects are a challenge to agentic coding. Agents already output huge volumes of code changes that developers struggle to review, let alone assert it's correctness. On legacy projects that are in production, this is disastrous.

replies(2): >>46202811 #>>46203990 #
theshrike79 ◴[] No.46203990[source]
So a project that's still using Java 1.6 and has perfect test coverage and some poor developer is paid to maintain it (but NOT upgrade it!) is not "legacy" in your book?

Then we disagree on the definition.

"Legacy" projects to me are those that should've went through at least two generational refactorings but haven't because of some unfathomable reason. These are the ones that eventually end up being rewritten from scratch because it's faster than trying to upgrade the 25 year old turd.

replies(2): >>46210577 #>>46216932 #
1. mekael ◴[] No.46210577[source]
I've predominantly worked in two industries, healthcare/public health and insurance where policies terms are measured in decades. The software for both ranges from 20 to 40 years old, and it hasn't been upgraded because to do so poses an existential risk to either the business or, in the case of healthcare, to human life. Upgrades are measured in terms of human generations because of said risk, but I wouldn't call these systems legacy due to not moving beyond java 1.6.

also, the Hyperion Cantos was a great series.