Cruft is a
jargon word for anything that is left over, redundant and getting in the way. It is used particularly for defective, superseded, useless, superfluous, or dysfunctional elements in
computer software.
History
Around 1958, the term was used in the sense of "garbage" by students frequenting the
Tech Model Railroad Club (TMRC) at the
Massachusetts Institute of Technology (MIT). In the 1959 edition of the club's dictionary, it was defined as "that which magically amounds in the Clubroom just before you walk in to clean up. In other words, rubbage".
Its author
Peter Samson later explained that this was meant in the sense of "detritus, that which needs to be swept up and thrown out. The dictionary has no definition for 'crufty,' a word I didn't hear until some years later".
Cruft can also refer to alumni who remain socially active at MIT.
The origin of the term is uncertain, but it may be derived from
Harvard University's Cruft Laboratory. Built in 1915 as a gift from a donor named Harriet Otis Cruft, it housed the Harvard Physics Department's radar lab during
World War II.
Software
The
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
handbook uses the term to refer to leftover or superseded
object code that accumulates in a folder or directory when software is
recompiled and new
executables
In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a data file ...
and data files produced. Such cruft, if required for the new executables to work properly, can cause the
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
equivalent of
dependency hell. The word is also used to describe instances of unnecessary, leftover or just poorly written
source code in a computer program that is then uselessly, or even harmfully, compiled into object code.
Cruft accumulation may result in
technical debt, which can subsequently make adding new features or modifying existing features—even to improve performance—more difficult and time-consuming.
In the context of
Internet or
Web
Web most often refers to:
* Spider web, a silken structure created by the animal
* World Wide Web or the Web, an Internet-based hypertext system
Web, WEB, or the Web may also refer to:
Computing
* WEB, a literate programming system created by ...
addresses (
Uniform Resource Locators or "URLs"), cruft refers to the
character
Character or Characters may refer to:
Arts, entertainment, and media Literature
* ''Character'' (novel), a 1936 Dutch novel by Ferdinand Bordewijk
* ''Characters'' (Theophrastus), a classical Greek set of character sketches attributed to The ...
s that are relevant or meaningful only to the people who created the site, such as implementation details of the computer system which serves the page. Examples of URL cruft include
filename extensions such as ''.php'' or ''.html'', and internal organizational details such as ''/public/'' or ''/Users/john/work/drafts/''.
Computer hardware
Cruft may also refer to unused and out-of-date computer paraphernalia, collected through upgrading, inheritance, or simple acquisition, both deliberate and through circumstance.
This accumulated hardware, however, often has benefit when IT systems administrators, technicians, and the like have need for critical replacement parts. An unused machine or component similar to a production unit could allow near-immediate restoration of the failed unit, as opposed to waiting for a shipped replacement.
See also
*
Bloatware
*
Dead code removal, the automatic removal of unnecessary code by compilers
*
Duplicate code
*
Feature creep
*
Muda (Japanese term)
*
Spaghetti code
*
Junk DNA
*
Vestigial organ
References
External links
{{wiktionary
In the Beginning...was the Command Line– article by
Neal Stephenson
Neal Town Stephenson (born October 31, 1959) is an American writer known for his works of speculative fiction. His novels have been categorized as science fiction, historical fiction, cyberpunk, postcyberpunk, and baroque.
Stephenson's work exp ...
which includes coverage of the "cruft" concept.
Verity Stob's Index of Cruftidityat
Dr. Dobb's Journal
''Dr. Dobb's Journal'' (''DDJ'') was a monthly magazine published in the United States by UBM Technology Group, part of UBM plc, UBM. It covered topics aimed at computer programmers. When launched in 1976, DDJ was the first regular periodical focu ...
Anti-patterns
Pejorative terms related to technology