Hacker News new | ask | show | jobs
by pteromyscus 5080 days ago
One measly article does not a law constitute.

There ARE counter-examples of successful systems re-built from scratch.

The rewrite might have killed Netscape, for example, but without the rewrite from scratch not only would have Netscape died but there wouldn't be a Firefox or Mozilla Foundation now.

(And I'd argue that it wasn't the rewrite that killed Netscape: the rewrite was necessary. What killed Netscape, and would have killed it even without the rewrite, was that the then all-mighty Microsoft decided to get into the internet game for real and build a good-enough browser. It's ironic that this good enough browser was IE6, which we know view as the worst impediment to web progress).

Also, didn't Frederic Brooks say "prepare to throw one away"?

4 comments

Brooks has repudiated that claim, though. See for example the first question at: http://www.computerworld.com/s/article/350008/The_Grill_Fred...

Also, if we're going to link Joel articles from the decade before last, let me add this one which is merely ten years old, and elaborates the ideas from the previous: http://www.joelonsoftware.com/articles/fog0000000348.html

All that said, I think there are things to be learned and gained from rewrites.

To extend on this, a later article talks about how the system is written on an "in-house language" ( http://www.joelonsoftware.com/items/2006/09/01.html ) called wasabi.

> FogBugz is written in Wasabi, a very advanced, functional-programming dialect of Basic with closures and lambdas and Rails-like active records that can be compiled down to VBScript, JavaScript, PHP4 or PHP5. Wasabi is a private, in-house language written by one of our best developers that is optimized specifically for developing FogBugz; the Wasabi compiler itself is written in C#.

So to avoid starting from scratch they introduced a new language/compiler? Hrm... I question the scalability of this solution, what if every company decided to do this instead of biting the bullet and doing a rewrite?

Advanced, functional programming and basic...

Not phrases that usually go together.

Yea, what killed Netscape was not the rewrite, but IMO the cancellation of Mariner:

http://www.mozillazine.org/talkback.html?article=1708

And BTW, on IE6, the lack of competition resulting from the killing of Netscape was why MS can get away with stagnating IE for 5 years in the first place.

Look at history: The Digg v4 rewrite was catastrophic. Not in that it didn't work (it was quite elegant engineering wise e.g. Cassandra-powered Digg buttons) but in that it took a really long time and when it was finally ready it was already behind.
Actually, when it was first released, it simply didn't work. Very few pages actually loaded, and there were errors all over the place.
> It's ironic that this good enough browser was IE6, which we know view as the worst impediment to web progress.

On the contrary, if any browser killed Netscape, then it would seem to be IE5. (Scary, eh?)