Search: in
Rewrite (programming)
Rewrite (programming) Encyclopedia
  Tutorials     Encyclopedia     Dictionary     Directory  
Rewrite_(programming) Email this to a friend      Rewrite_(programming)

Rewrite (programming)

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. When the rewrite is not using existing code at all, it is common to speak of a rewrite from scratch. When instead only parts are re-engineered, which have otherwise become complicated to handle or extend, then it is more precise to speak of code refactoring.

Contents


Motivation

  1. When the source code to be able to extend an existing program is not available.
  2. When the source code is available under an incompatible license.
  3. When the code cannot be adapted to a new target platform.
  4. When the existing code has become too difficult to handle and extend.
  5. When the task of debugging the existing code seems too complicated.
  6. When the programmer finds it difficult to understand the source code.

Controversy

Many prominent software developers warn that this technique rarely leads to the intended success, claiming that rewriting is more fun than debugging, but the rewrite requires more time and will have new bugs.[1][2]

Advocates of this method instead suggest that with every iteration of the rewrite process an even better version is created, provided the same programmers do the job that already wrote the earlier versions.[3][4]

History

Both Borland's Paradox for Windows and Quattro Pro for Windows started development using beta versions of Windows 3.0, in the spring of 1990. Paradox/Windows ended up delayed about a year beyond its original plan, shipping in early 1993.

The reasons were many, but not entirely surprising for a major rewrite, in an object-oriented programming language with new tools, shifting to a GUI paradigm, on what was essentially a first version operating system. Still it was a big problem for the company and Microsoft managed to ship Access a couple of months ahead of Paradox for Windows, a major marketing win to Microsoft.[5]

It took IBM two years to rewrite OS/2 for PowerPC, and by the time the operating system was ready, the market for OS/2 on PowerPC had evaporated.[6]

Netscape's rewrite of its browser is popularly considered one of the most dramatic strategic mistakes in the history of the Internet.[7][8]

References

  1. Joost Ronkes Agerbeek: Never Rewrite Code From Scratch
  2. Jamie Zawinski: Cascade of Attention-Deficit Teenagers
  3. tilly of perlmonks: Rewriting, from scratch, a huge code base
  4. Vorlath: Code Rewrite - Yes
  5. Borland's Paradox
  6. OS/2 on PowerPC
  7. Joel Spolsky: Things You Should Never Do
  8. Jamie Zawinski: resignation and postmortem

See also

Some projects mentioning major rewrites in their history:

External links





Source: Wikipedia | The above article is available under the GNU FDL. | Edit this article



Related Links in Rewrite (programming)

Search for Rewrite (programming) in Tutorials
Search for Rewrite (programming) in Encyclopedia
Search for Rewrite (programming) in Dictionary
Search for Rewrite (programming) in Open Directory
Search for Rewrite (programming) in Store
Search for Rewrite (programming) in PriceGig



Help build the largest human-edited directory on the web.
Submit a Site - Open Directory Project - Become an Editor

Advertisement

Advertisement



Rewrite (programming)
Rewrite_(programming) top Rewrite_(programming)

Home - Add TutorGig to Your Site - Disclaimer

©2008-2009 TutorGig.com. All Rights Reserved. Privacy Statement