There's No Limit to How Bad Code Can Get
Summary
Simon Willison argues that completely rewriting legacy systems from scratch rarely succeeds and typically results in two parallel systems in production. He recommends shoring up the old system with automated testing and targeted refactors instead, citing Will Larson's writing on migrations as the best responsible approach.
View Cached Full Text
Cached at: 09/06/26, 08:14 PM
Similar Articles
@trq212: my main takeaway from the Bun rewrite is that legacy codebases will be incredibly valuable as a source for "distilling"…
The author reflects on the Bun rewrite, suggesting that legacy codebases will be valuable for distilling code into new forms, and argues that all games should be crossplatform and legacy software should work on the web, dismissing the need for COBOL.
The Wheels We Keep Reinventing
An essay arguing that software engineers repeatedly reinvent well-solved infrastructure like auth, background jobs, rate limiting, and feature flags, trading proven solutions for custom code that they must maintain and debug.
When Modernization Breaks Working Code: A Study of LLMs on Legacy PHP
An arXiv study evaluates five LLMs asked to modernize 100 legacy WordPress 4.0 PHP files to PHP 8.3, finding that the best model breaks 59 previously working files versus the 83 that pass unchanged, while the rule-based Rector tool breaks only 7 — concluding that LLM modernization evaluations must include a no-change baseline and report behavioral preservation separately.
@GergelyOrosz: If you've been in tech for some time, this should be obvious: Every single "success story" about a rewrite/migration et…
A tech commentator notes that success stories about rewrites and migrations published by companies are half-truths, omitting negatives and internal incentives, and warns that copying them without understanding context leads to disappointment.
Coding Models Are Doing Too Much
A blog post investigating the "Over-Editing" problem where coding LLMs rewrite more code than necessary when fixing simple bugs, proposing metrics and training approaches to encourage minimal, faithful edits.