Reort

Submitted by: Submitted by

Views: 150

Words: 1715

Pages: 7

Category: People

Date Submitted: 08/13/2013 08:49 PM

Report This Essay

1. To reinvent the wheel is to duplicate a basic method that has already previously been created or optimized by others. It is commonly used in software development and other engineering disciplines.

The inspiration for this idiomatic metaphor lies in the fact that the wheel is the archetype of human ingenuity, both by virtue of the added power and flexibility it affords its users, and also in the ancient origins which allow it to underlie much, if not all, of modern technology. As it has already been invented, and is not considered to have any operational flaws, an attempt to reinvent it would be pointless and add no value to the object, and would be a waste of time, diverting the investigator's resources from possibly more worthy goals which his skills could advance more substantially.

At the same time "reinventing the wheel" is an important tool in the instruction of complex ideas. Rather than providing students simply with a list of known facts and techniques and expecting them to incorporate these ideas perfectly and rapidly, the instructor instead will build up the material anew, leaving the student to work out those key steps which embody the reasoning characteristic of the field.

The phrase is sometimes used without derision, especially when the user applies it reflexively, possibly to indicate that although his or her activities might be perceived as merely reinventing the wheel, they actually possess additional value. This added value may work around software licensing incompatibilities or around technical limitations present in parts or modules provided by third-parties. An example would be to implement a quicksort for a script written in JavaScript and destined to be embedded in a web page. The quicksort algorithm is well known and readily available from libraries for software developers writing general-purpose applications in C++ or Java, but some Javascript implementations do not provide this specific algorithm. Hence, if a developer wants to...