Reinventing the wheel
Encyclopedia
To reinvent the wheel is to duplicate a basic method that has already previously been created or optimized by others.

The inspiration for this idiom
Idiom
Idiom is an expression, word, or phrase that has a figurative meaning that is comprehended in regard to a common use of that expression that is separate from the literal meaning or definition of the words of which it is made...

atic metaphor
Metaphor
A metaphor is a literary figure of speech that uses an image, story or tangible thing to represent a less tangible thing or some intangible quality or idea; e.g., "Her eyes were glistening jewels." Metaphor may also be used for any rhetorical figures of speech that achieve their effects via...

 lies in the fact that the wheel
Wheel
A wheel is a device that allows heavy objects to be moved easily through rotating on an axle through its center, facilitating movement or transportation while supporting a load, or performing labor in machines. Common examples found in transport applications. A wheel, together with an axle,...

 is the archetype
Archetype
An archetype is a universally understood symbol or term or pattern of behavior, a prototype upon which others are copied, patterned, or emulated...

 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
Technology
Technology is the making, usage, and knowledge of tools, machines, techniques, crafts, systems or methods of organization in order to solve a problem or perform a specific function. It can also refer to the collection of such tools, machinery, and procedures. The word technology comes ;...

. 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 or her skills could advance more substantially.

At the same time, however, "reinventing the wheel" is an important tool in the instruction
Education
Education in its broadest, general sense is the means through which the aims and habits of a group of people lives on from one generation to the next. Generally, it occurs through any experience that has a formative effect on the way one thinks, feels, or acts...

 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
Software licensing
A software license is a legal instrument governing the usage or redistribution of software. All software is copyright protected, except material in the public domain. Contractual confidentiality is another way of protecting software...

 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
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

 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++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 or Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

, but some Javascript implementations do not provide this specific algorithm. Hence, if a developer wants to reliably use quicksort on his web page, he must "reinvent the wheel" by reimplementing the algorithm. He could conceivably copy it from another web page, but then he could run into copyright
Copyright
Copyright is a legal concept, enacted by most governments, giving the creator of an original work exclusive rights to it, usually for a limited time...

 and software licensing issues. Reinventing the wheel in this case provides the missing functionality and also avoids copyright issues.

"Reinventing the wheel" may be an ironic cliche - it is not clear when the wheel itself was actually invented. The modern "invention" of the wheel might actually be a "re-invention" of an old age invention. Additionally, many different wheels featuring enhancements on existing wheels (such as the many types of available tires) are regularly developed and marketed. The metaphor emphasizes understanding existing solutions, but not necessarily settling for them.

Related phrases

Reinventing the square wheel is the practice of unnecessarily engineering artifacts that provide functionality already provided by existing standard artifacts (reinventing the wheel) and ending up with a worse result than the standard (a square wheel
Square wheel
A square wheel is a wheel that, instead of being circular, has the shape of a square. While literal square wheels exist, a more common use is as a metaphor meaning stereotypically bad or naïve engineering ....

). This is an anti-pattern
Anti-pattern
In software engineering, an anti-pattern is a pattern that may be commonly used but is ineffective and/or counterproductive in practice.The term was coined in 1995 by Andrew Koenig,...

 which occurs when the engineer is unaware or contemptuous of the standard solution or does not understand the problem or the standard solution sufficiently to avoid problems overcome by the standard. It is mostly an affliction of inexperienced engineers, or the second-system effect
Second-system effect
The second-system effect refers to the tendency of small, elegant, and successful systems to have elephantine, feature-laden monstrosities as their successors. The term was first used by Fred Brooks in his classic The Mythical Man-Month...

.

Many problems contain subtleties which were resolved long ago in mainstream engineering (such as the importance of a wheel's rim being smooth). Anyone starting from scratch, ignoring the prior art
Prior art
Prior art , in most systems of patent law, constitutes all information that has been made available to the public in any form before a given date that might be relevant to a patent's claims of originality...

, will naturally face these problems afresh, and to produce a satisfactory result they will have to spend time developing solutions for them (most likely the same solutions that are already well known). However, when reinventing the wheel is undertaken as a subtask of a bigger engineering project, rather than as a project in its own right hoping to produce a better wheel, the engineer often does not anticipate spending much time on it. The result is that an underdeveloped, poorly performing version of the wheel is used, when using a standard wheel would have been quicker and easier, and would have given better results.

Preinventing the wheel involves delaying a task if it is expected to be undertaken later. An example would be, "We don't want to preinvent the wheel" when discussing a solution to a problem when it is known that the solution is being developed elsewhere. It is not necessarily pejorative.

Redefining the wheel is the practice of coming up with new and often abstruse ways of describing things when the existing way of describing them was perfectly adequate.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK