4 ms·
It's telling that 20+ years later Netscape/Mozilla is still the go-to example of why rewrites are a bad idea. That gives us basically three possibilities: 1. N
by l0b0 6y ago
It's telling that 20+ years later Netscape/Mozilla is still the go-to example of why rewrites are a bad idea. That gives us basically three possibilities:
1. Nobody is doing rewrites from scratch anymore. That's just not the case.
2. Nobody is talking about all the failing rewrites causing entire companies to collapse. I don't think anyone is convinced by this argument, it's basically several big conspiracies in one.
3. People have learned how to avoid the same traps, by reading about the Netscape/Mozilla fuck-up.
Basically, the problem isn't rewrites. It's badly managed rewrites.
- tome 6y ago> 1. Nobody is doing rewrites from scratch anymore. That's just not the case. This claim would be more compelling if it provided a few notable examples.
- apenwarr 6y agoKubernetes is the biggest and worst second system effect I’ve seen in years.
- qznc 6y agoIs it an instance of the Second System Effect if you build something slightly different? Google is replacing its internal systems all the time. For example, MapReduce was replaced with Cloud Dataflow [0]. [0] https://www.datacenterknowledge.com/archives/2014/06/25/google-dumps-mapreduce-favor-new-hyper-scale-analytics-system/ https://www.datacenterknowledge.com/archives/2014/06/25/goog...
- l0b0 6y agoI worked on one rewrite of an old system which I can't really talk about, but which was very successful (the only thing we kept was the data). I also remember reading many years ago that every major version of Windows is essentially a rewrite from scratch.
- glogla 6y agoWe just deployed rewrite of Hadoop (sqoop, hive, ...)/Teradata based Data Lake & Data Warehouse to Cloud based Serverless Lakehouse with Spark as the main workhorse. This included migrating about 1/2 petabyte of old data and rebuilding several Kimball-style Data Marts to Data Vault approach, which pairs really well with the Lakehouse-style tech stack. This all took about 9 months, which is a long time, but it was in highly regulated industry where compliance, security and data integrity get a lot of scrutiny. In the end, nothing of the previous solution survived - no code and no infrastructure.
- a1369209993 6y ago4. Name-recognizable companies are typically bloated enough that they can absorb the damage from a failed rewrite without it being clearly responsible for their collapse. 5. Nobody is admitting to doing rewrites from scratch anymore. 6. Netscape/Mozilla became (due to path-dependence and happenstance) the canonical example, and no other examples have been interesting/memetic enough to displace it. 7. People have learned to keep failing rewrites dragging along until something else causes them to be abandoned, sparing them the label of "failed". 8. Other.
- rizpanjwani 6y agoexactly. I can tell you from experience that one of the companies I know had consultants out of texas convince them that rewriting their bread and butter ecommerce system was the way to go instead of improving the older one which mostly worked but had some bugs now and then which could be resolved by their existing internal development team. This was a real disservice that cost the company a lot of time and money on something that had to be replaced again in a year after it was "finished" just so the consulting company could make money and give their developers something to do.
- rictic 6y agoPython 3, Angular 2, Polymer 2. Not all full rewrites, but breaking changes with lots of the pain from a rewrite.
- jariel 6y agoI would add - those are kind of monolithic style app platforms. Big, complicated, installed software. Most software is services oriented, and it evolves, piece by piece over time. Is Facebook running any of the same code from 18 years ago? Probably not? When did they re-write? They didn't, they just evolved, piece by piece.