Someone at Opera Software must read JoS ;-)
Opera casts off legacy code for speed
"Tetzchner resisted comparisons to Netscape's bold gamble in 1998 to cast off its legacy code in favor of a new browser that would be more in line with industry standards and more easily separable into components. "Our old engine wasn't that bad," Tetzchner said. And indeed the Opera rewrite has proved to be far quicker and less painful than Netscape's, which dragged on for four years before producing marketable results."
Tuesday, August 20, 2002
Like Joel's article, I don't understand why people think that a program "rewritten from the ground up" is substantially better than an older program + bug fixes. When IIS 5 had a new security hole every week, Microsoft talked about how IIS 6 was totally rewritten (quite unlikely).
Now Opera 7 is totally rewritten. The News.com article said that their DOM code was too inflexible. I guess this exposes a weakness of their software architecture. Shouldn't they have expected that browser DOMs will change, especially considering that there are so many DOM "standards" and each browser implements a different subset/superset?
is information hiding no longer in vogue? food for thought..
Tuesday, August 20, 2002
On the whole I generally agree with the whole don't rewrite but morph in place keeping the interfaces intact.
It needs to be remembered though that the development of the Mozilla browser was not a simple rewriting. A considerable amount of the run time support, security and so on was taken as is.
You could certainly argue that there was no rewrite of Navigator but that an entirely different application was written to a different set of specifications (whether this was the right thing to do is a different question). It has a cosmetic similarity to Netscape (in its Netscape 6.x form) which is where the problem begins, its thought because of that that there was some kind of inheritance between the two.
The main reason for the development of a new application rather than taking on the version 5 source was that in an open source environment it became apparent that it was impossible for non-Netscape (and non Navigator Netscape engineers), to make any headway at all. This was partly because a good deal of 5 was itself a rewrite and that rewrite was a huge mistake, I believe that 4.x itself was in large part a rewrite as well.
Hopefully, the Mozilla source now has sufficient investment in it by non Netscape developers (though I'm doubtful about that), and that Netscape engineers have learned that remaking is not necessarily the right thing to do (though some of them seem wedded to the idea of doing everything new every time).
Wednesday, August 21, 2002
Fog Creek Home