3 ms·
I think so long as 2.0 maintains backwards-compatibility with 1.x (possibly include 1.x with the 2.0 app?), and it doesn't hamper at all from the user experienc
by dgallagher 17y ago
I think so long as 2.0 maintains backwards-compatibility with 1.x (possibly include 1.x with the 2.0 app?), and it doesn't hamper at all from the user experience, a re-write might be a good thing. Or, allow easy plug-in migration from 1.x to 2.x (kinda like what Python did going from 2.0 -> 3.0).
There are plenty of examples where complete re-writes, or partial re-writes, have led to bad things. Windows Vista and Winamp 3.0 come to mind.
Good examples include Mac OS X, Linux 2.x (I believe this was a major re-write over 1.x - could be wrong as my Linux history isn't up to buff). Starcraft was completely re-written mid-development (originally it was built on the Warcraft II engine, which didn't scale).
I would tend to agree with you, though, that major re-writes typically yield worse things. But, that depends a lot on the product, its audience, and the developer. Perhaps Allan, who has likely been writing code for a very long time, knows of some bottlenecks and what-not that he feels should be incorporated into 2.0, which necessitates a total re-write.
If worse comes to worse, the 2.0 codebase bombs and 1.x continues going on strong. That's exactly what happened to Winamp 2.0 when 3.0 came out.
And I should mention, to clarify any possible bias in my opinion, that I'm a very happy Textmate user. :)
- Zev 17y agoOS X wasn't a complete rewrite. It was a "Our rewrite is going to hell, lets buy a new OS to use." Go look up the history of Copland from Apple, its mildly interesting.
- tolmasky 17y agoIts a rewrite in that they threw out nearly an entire codebase and built it on top of something different. If tomorrow Microsoft said "lets get rid of Vista and build something new on top of Ubuntu", I think it would be fair to call that new version of Windows a rewrite despite them not having written the underlying code. Also, lets not forget that a fair amount of work (understatement) went into Mac OS X post NeXT.
- rbanffy 17y agoI think this stretches the definition of a rewrite a little beyond the point it should break. OSX is more like a rebranded descendant of NextStep/OpenStep, just the same as a would-be Microsoft Windows 10 derived from FreeBSD code.
- delano 17y agoWindows Vista and Winamp 3.0 come to mind. There's a big difference between these two examples. Vista was still developed by Microsoft but Winamp 3.0 was started after Nullsoft was acquired by AOL.
- dgallagher 17y agoThe wikipedia article mentioned that 2.0 and 3.0 was developed in parallel (http://en.wikipedia.org/wiki/Winamp#Winamp3 http://en.wikipedia.org/wiki/Winamp#Winamp3). I'm not sure if that means if they were made by the same coders, however...
- rbanffy 17y ago"Windows Vista and Winamp 3.0 come to mind." Vista is not a rewrite of XP - its a new bunch of kernel code grafted on top of the XP kernel, which is more or less the same as the 2000 kernel, which is an improved NT 4 kernel, which is more or less 3.5 with some stuff moved from user space into kernel space, giving a whole lot of stability problems due to low-quality driver software. It seems no full rewrite occurred between 3.1 and 7. The only rewrite I heard of was the one between the PDC 2003 video when Microsoft realized they would not be able to finish what they promised (managed code throughout the OS, the eye candy from the Longhorn concept video), threw a=out what they were doing and went back through a less ambitious route. As far as rewrites go, Win7 seems more or less a rewrite of the Vista cruft that was added on top of the XP kernel.