Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Cruft
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Jargon word for redundant, obtrusive material, originally used in computing}} {{about|a computing term}} '''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== [[Image:Harvard Cruft Hall.png|thumb|Harvard Cruft Laboratory]] 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).<ref>{{cite book |first=Steven |last=Levy |author-link=Steven Levy |title=Hackers: Heroes of the Computer Revolution |edition=25th Anniversary |publisher=O'Reilly Media |date=2010 |isbn=9781449393748 |url=https://books.google.com/books?id=mShXzzKtpmEC&q=%22garbage+was+called+cruft%22&pg=PA8 |page=8}}</ref> 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".<ref name=":0">{{cite web |first=Peter |last=Samson |author-link=Peter Samson |url=http://www.gricer.com/tmrc/dictionary1959.html |title=AN ABRIDGED DICTIONARY of the TMRC LANGUAGE |orig-year=June 1959 |date=2005 |access-date=30 May 2018}}</ref> 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".<ref name=":0" /> In 2008 it was also used to refer to alumni who remain socially active at MIT.<ref>{{cite web|url=http://mitadmissions.org/blogs/entry/speaking_mitese|title=Speaking MITese |publisher=Massachusetts Institute of Technology |access-date=8 June 2016}}</ref> 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,<ref>{{cite web|url=http://www.thecrimson.com/article/1916/3/10/bronze-tablet-erected-in-cruft-memorial/|title=Bronze Tablet Erected in Cruft Memorial Laboratory|website=thecrimson.com|access-date=26 November 2014}}</ref> it housed the Harvard Physics Department's radar lab during [[World War II]]. ==Software== The [[FreeBSD]] handbook uses the term to refer to leftover or superseded [[object code]] that accumulates in a folder or directory when software is [[Compiler|recompiled]] and new [[executables]] and data files are produced.<ref>{{cite web | url=http://www.freebsd.org/doc/en/books/handbook/makeworld.html | title=20.4.16.6. What do I do if something goes wrong? | work=FreeBSD Handbook |edition=3rd | access-date=2007-08-18}}</ref> Such cruft, if required for the new executables to work properly, can cause the [[Berkeley Software Distribution|BSD]] equivalent of [[dependency hell]].<ref>{{cite web |url=http://disfunksioneel.blogspot.co.uk/2011/04/linux-software-dependencies.html |title=A nice picture of (dependency) hell |type=blog |publisher=disfunksioneel |access-date=30 May 2018}}</ref> 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.<ref>{{cite web |url=http://searchsoftwarequality.techtarget.com/definition/cruft |title=Cruft |publisher=TechTarget |access-date=30 May 2018}}</ref> 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 [[World Wide Web|Web]] addresses ([[Uniform Resource Locator]]s or "URLs"), cruft refers to the [[character (computing)|character]]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 could include [[filename extension]]s such as ''.php'' or ''.html'', and internal organizational details such as ''/public/'' or ''/Users/john/work/drafts/''.<ref name="T B-L">{{cite web | url=http://www.w3.org/Provider/Style/URI | title=Hypertext Style: Cool URIs don't change |last=Berners-Lee |first=Tim |work=W3C Style |year=1998 |access-date=2007-08-18 | quote={{nowrap|What makes a cool URI? /}} {{nowrap|A [[Cool URIs don't change|cool URI]] is one which does not change. /}} {{nowrap|What sorts of URI change? /}} {{nowrap|''URIs don't change: people change them''.}}}}</ref> ==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.<ref name="jargon-crufty">{{cite web | url=http://catb.org/jargon/html/C/crufty.html | title=crufty | work=The Jargon File, version 4.4.7}}</ref> 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== * {{anl|AI slop}} * [[Software bloat]] * [[Dead-code elimination]], the automatic removal of unnecessary code by compilers * [[Duplicate code]] * [[Feature creep]] * [[Muda (Japanese term)]] * [[Spaghetti code]] * [[Non-coding DNA]] * [[Vestigiality]] ==References== {{reflist}} ==External links== {{wiktionary}} * [https://web.archive.org/web/20180218045352/http://www.cryptonomicon.com/beginning.html In the Beginning...was the Command Line] – article by [[Neal Stephenson]] which includes coverage of the "cruft" concept. * [http://www.ddj.com/architect/184405140 Verity Stob's Index of Cruftidity] at [[Dr. Dobb's Journal]] [[Category:Pejorative terms related to technology]] [[Category:Computing terminology]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:About
(
edit
)
Template:Anl
(
edit
)
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Wiktionary
(
edit
)