Yes, the definition of what "rewrite" means is open to interpretation.
FWIW, I was following the spirit of the definition used by
Joel Spolsky in this article
where he argued that Netscape made a strategic mistake by rewriting their whole code
base from scratch for Netscape 6 rather than using their Netscape 4 code base as a
starting point and adding new features to it.
Like Spolsky, I was trying to compare the alternative strategies of adding new features
on top of an old and tangled code base versus throwing it all away and starting afresh.
There are certainly shades of grey here. I remember an old work mate of mine who loved
to joke that if he said he was going to "rewrite" some horrible old component, he would never
get management approval, while if he said he was going to "refactor" it, he would get approval ...
and then proceed to ruthlessly "refactor" it until it was essentially a rewrite.
Out of curiosity, would you agree with tilly that Perl 5 was a "rewrite" of Perl 4?
And is Perl 6 a "rewrite" of Perl 5?
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.