logoalt Hacker News

matsemanntoday at 7:02 AM6 repliesview on HN

What's the point of the rewrite if it doesn't fix the underlying issues, though?

A rewrite being a good idea often hinges on the ability to simplify. After a decade or more, it's now apparent what the application should and shouldn't do, so one can build it with those learnings and shed all tech debt from how it grew organically.

Aka preserving all behavior is not what I would want from a rewrite. The point would be to make decisions on what behavior should be kept and what complexity can be removed. An AI can't do that. It can help with execution if the decisions are made, but they're made by being very intimate with the codebase and floating all cases and then talking with stakeholders.


Replies

jghntoday at 5:56 PM

> What's the point of the rewrite if it doesn't fix the underlying issues, though?

Depends on what you mean by underlying issues. If you're in a regulated environment, it may be such a mountain of red tape to change behavior that it's not worth it, even if you know it's not ideal.

But if the underlying issues are tech debt, bad design, and other things invisible to the outside world, that's different.

Semaphortoday at 7:16 AM

I work on a codebase from the early 2000s, a lot of it using webforms, a long abandoned .NET technology. A rewrite preserving all behavior and making no observable changes whatsoever would be amazing. But it’s also tested exactly as well as you’d expect from something like that so I’d rather not let AI go wild.

show 2 replies
morelandjstoday at 5:19 PM

Using a better tech stack also provides opportunities to simplify.

linhnstoday at 5:39 PM

Make the fix easy. Then, make the easy fix.

a96today at 7:31 AM

One obvious target might be rewriting from an unsupported, broken, and/or obsolete target to something that still works. Or moving a project from a platform that no other system in the company uses to the same setup that all the others use.

Of course it won't quite work, but I can definitely see why some people would want that.

nomeltoday at 7:25 AM

Say I rewrite a large codebase from python to C++, preserving all behavior. That's up to a 50x speed up.

show 1 reply