HOME

TheInfoList



OR:

To reinvent the wheel is to attempt to duplicate—most likely with inferior results—a basic method that has already previously been created or optimized by others. The inspiration for this
idiom An idiom is a phrase or expression that typically presents a figurative, non-literal meaning attached to the phrase; but some phrases become figurative idioms while retaining the literal meaning of the phrase. Categorized as formulaic language ...
atic
metaphor A metaphor is a figure of speech that, for rhetorical effect, directly refers to one thing by mentioning another. It may provide (or obscure) clarity or identify hidden similarities between two different ideas. Metaphors are often compared wi ...
is that the
wheel A wheel is a circular component that is intended to rotate on an axle bearing. The wheel is one of the key components of the wheel and axle which is one of the six simple machines. Wheels, in conjunction with axles, allow heavy objects to be ...
is an ancient
archetype The concept of an archetype (; ) appears in areas relating to behavior, historical psychology, and literary analysis. An archetype can be any of the following: # a statement, pattern of behavior, prototype, "first" form, or a main model that ...
of human ingenuity (one so profound that it continues to underlie much of modern
technology Technology is the application of knowledge to reach practical goals in a specifiable and reproducible way. The word ''technology'' may also mean the product of such an endeavor. The use of technology is widely prevalent in medicine, scien ...
). As it has already been invented and is not considered to have any inherent flaws, an attempt to reinvent it would add no value to it and be a waste of time, diverting the investigator's resources from possibly more worthy goals.


Usage

The phrase is sometimes used without derision when a person's activities might be perceived as merely reinventing the wheel when they actually possess additional value. For example, "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. "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 age-old 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.


In software development

In
software development Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invo ...
, reinventing the wheel is often necessary in order to work around
software licensing A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, all software is copyright protected, in both source c ...
incompatibilities or around technical limitations present in parts or modules provided by third parties. An example would be to implement a
quicksort Quicksort is an efficient, general-purpose sorting algorithm. Quicksort was developed by British computer scientist Tony Hoare in 1959 and published in 1961, it is still a commonly used algorithm for sorting. Overall, it is slightly faster than ...
for a script written in
JavaScript JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for webpage behavior, of ...
and destined to be embedded in a web page. The quicksort algorithm is well known and readily available from
libraries A library is a collection of Document, materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or electronic media, digital access (soft copies) materials, and may be a ...
for software developers writing general-purpose applications in
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
or
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
, but some JavaScript implementations do not provide this specific algorithm. Hence, if a developer wants to reliably use quicksort on their web page, they must "reinvent the wheel" by reimplementing the algorithm. They could conceivably copy it from another web page, but then they could run into
copyright A copyright is a type of intellectual property that gives its owner the exclusive right to copy, distribute, adapt, display, and perform a creative work, usually for a limited time. The creative work may be in a literary, artistic, educatio ...
and software licensing issues. Reinventing the wheel in this case provides the missing functionality and also avoids copyright issues. Additionally, those new to a language (and especially those new to programming) will often attempt to manually write many functions for which a more robust and optimized equivalent already exists in the
standard library In computer programming, a standard library is the library made available across implementations of a programming language. These libraries are conventionally described in programming language specifications; however, contents of a language's a ...
or other easily available libraries. While this can be useful as a learning exercise when done unknowingly the result is often less readable, less reliable, less tested and less optimized software which takes longer to write, test, maintain, and
debug In computer programming and software development, debugging is the process of finding and resolving '' bugs'' (defects or problems that prevent correct operation) within computer programs, software, or systems. Debugging tactics can involve i ...
.


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 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 an idiom meaning feeling bad and naive (see reinventing the wheel). A square wheel can roll smoot ...
). This is an
anti-pattern An anti-pattern in software engineering, project management, and business processes is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive. The term, coined in 1995 by computer programmer An ...
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 The second-system effect or second-system syndrome is the tendency of small, elegant, and successful systems to be succeeded by over-engineered, bloated systems, due to inflated expectations and overconfidence. The phrase was first used by Fred ...
. Many problems contain subtleties that 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 (also known as state of the art or background art) is a concept in patent law used to determine the patentability of an invention, in particular whether an invention meets the novelty and the inventive step or non-obviousness criteria ...
, 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. unpublished 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.


See also

*
Anti-pattern An anti-pattern in software engineering, project management, and business processes is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive. The term, coined in 1995 by computer programmer An ...
*
Best practice A best practice is a method or technique that has been generally accepted as superior to other known alternatives because it often produces results that are superior to those achieved by other means or because it has become a standard way of doing ...
* Design around: an alternative invention that is created in order to avoid
patent infringement Patent infringement is the commission of a prohibited act with respect to a patented invention without permission from the patent holder. Permission may typically be granted in the form of a license. The definition of patent infringement may v ...
*
Not invented here Not invented here (NIH) is the tendency to avoid using or buying products, research, standards, or knowledge from external origins. It is usually adopted by social, corporate, or institutional cultures. Research illustrates a strong bias against ...
*
Patent thicket A patent thicket is "an overlapping set of patent rights" which requires innovators to reach licensing deals for multiple patents. This concept is associated with negative connotations and has been described as "a dense web of overlapping intellect ...
*
Standing on the shoulders of giants The phrase "standing on the shoulders of giants" is a metaphor which means "using the understanding gained by major thinkers who have gone before in order to make intellectual progress". It is a metaphor of dwarfs standing on the shoulders o ...
, an expression referring to the re-use of existing ideas *
Stovepipe system In engineering and computing, "stovepipe system" is a pejorative term for a system that has the potential to share data or functionality with other systems but which does not do so. The term evokes the image of stovepipes rising above buildings, eac ...
*
Tragedy of the anticommons The tragedy of the anticommons is a type of coordination breakdown, in which a commons does not emerge, even when general access to resources or infrastructure would be a social good. It is a mirror-image of the older concept of tragedy of the co ...


References

* * {{Wiktionary, reinvent the wheel English-language idioms Software engineering folklore Pejorative terms related to technology