Hacker News new | ask | show | jobs
by yxre 1043 days ago
Expanding on your first criteria. The technology stack is fundamentally wrong is a good reason for a re-write. Language too slow. Doesn't handle the workload well. Other stacks have a better ecosystem.

Re-writes are also needed when the architecture doesn't match the problem space well. This can be incrementally done. Single threaded loops instead of using parallel-safe constructs like tasks and jobs.

1 comments

Expanding on your point, rewrites can work if they can be accomplished in finite time.

It's one thing to rewrite a website, where the project timeline is measured in weeks.

It's another to rewrite large project where the -estimate- time is years.

We have mature desktop systems that have been in continuous development for 25 years. That might blow your mind, but its the same timescale as say Excel of Word. The question of rewriting, regardless of the tech stack, is moot. It would take years of effort (optimists think 5, more likely 10) and would cost a fortune. With negligible benefits beyond "now written in a language with a bigger developer pool".

I'm the first to admit that there are disadvantages to the stack. On the other hand we are where we are (doing well) thanks to that stack, so it's not all bad. We're still using code laid down in 1996, while being a modern desktop app. We're still the leaders in our field.

The time (aka cost) to rewrite is the major hindrance, and far outweighs any issues using an uncommon stack.