cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joerg Heinicke <>
Subject Re: [RT] The next shiny thing?
Date Wed, 07 Dec 2005 22:24:23 GMT
On 04.12.2005 17:00, Sylvain Wallez wrote:

>> Start a whiteboard prototype if you feel like it, but to me it seem 
>> quite risky to try to rewrite everything from scratch, although I have 
>> felt the urge myself countless time while struggling with the messy 
>> internals. But before you go ahead and rewrite everything from 
>> scratch, take some minutes and read why Joel Spolesky thinks that 
>> rewriting software from scratch is the:
>>  *single worst strategic mistake* that any software company can make
> Although I most often find Joel Spolsky's writings very enlightning, I 
> always disagreed with that one. And to understand why, consider what is 
> your main browser and what mail software you used to write this. The 
> headers say "User-Agent: Mozilla Thunderbird 1.0 (Windows/20041206)".

IMO Joel mixes two different things in his post: parts of code and a 
complete code base of any software. His samples with string function and 
the "two page function" can probably be refactored without any problem 
and he is absolutely right about not just throwing it away. But it might 
be very different for complete code bases. How many of these "bug fixes" 
in the code base are for fixing obsolete things (e.g. Netscape's way of 
rendering HTML following the standards not that well)? And also what's 
the effort of getting such a code base refactored in comparison to its 
rewriting - including the maintenance phase, fixing of bugs should be 
much easier than before.

Now what about Cocoon? Is Cocoon a 500.000 LOC beast which can not be 
refactored or maintained? Or is Cocoon more or less a collection of many 
components? IMO it is the latter and we should follow Marc's proposal of 
separating these components into layers. The effort should not be that 
high to this in an incremental way instead of starting from scratch.


View raw message