A rewrite in computer programming is the act or result of re-implementing a large portion of existing functionality without re-use of its source code.
A rewrite commits the development team to deliver not just new features, but all those that exist in the previous code, while potentially introducing new bugs or regressions of previously fixed bugs.
[5] Netscape's project to improve HTML layout in Navigator 4 has been cited as an example of a failed rewrite.
Meanwhile, Microsoft focused on incremental improvements to Internet Explorer and did not face the same obstacles.
[3][6] Ironically, Navigator itself was a successful cleanroom rewrite of NCSA Mosaic overseen by that program's developers.