Hacker News new | ask | show | jobs
by asdajksah2123 1309 days ago
> rewrote huge, major pieces of their infrastructure multiple times and did so successfully

I think that's different from a user facing rewrite. I suspect while Google did its infrastructure rewrites, users didn't notice a difference. Additionally, Google probably had the resources to continue delivering features to users while the infrastructure was being developed.

The problem with a front end rewrite is (a) things might break and users will notice, and (b) it's hard to deliver new features to users while the front end app itself is being rewritten.

1 comments

Google isn't the only example here. Heck, just look at the transition from Classic MacOS to OS X. I definitely think Apple would have been dead long ago if they said "A rewrite is too expensive/risky, let's just incrementally improve Classic MacOS".

I guess my point is that there are right ways and wrong ways to do ground-up rewrites, and the fact that a lot of people do them the wrong way shouldn't mean the lesson should be to never do them.

Replacing one mature operating system with another, which itself was based on one even more mature, and adding stuff is not quite a rewrite. That was more like how Microsoft moved NT into its consumer OS. It was a bit of a mess but had a clear payoff once everything was updated or obsoleted. NT and BSD were both battle-hardened long before anyone thought to put them in consumer systems.
Apple actually tried to rewrite the classic OS from scratch with the Copland project and it failed (at enormous cost). OS X was not a rewrite-from-scratch since they acquired an already working OS from Next. The had to add compatibility layers (which was in itself a major undertaking) but they didn't write the OS from scratch.