- Cruft
-
This article is about a computing term. For other uses, see Cruft (disambiguation)."Fancruft" redirects here. For the Wikipedia essays, see WP:Fancruft and WP:Cruftcruft.
Cruft is jargon for computer software or hardware that is of poor quality. The term originates from source code that is rewritten leaving irrelevant or unwanted data within the code.
Contents
History
The origin of the term is uncertain, but it may be derived from Harvard University Cruft Laboratory, which was the Harvard Physics Department's radar lab during World War II. As late as the early 1990s, unused technical equipment could be seen stacked in front of Cruft Hall's windows. According to students, if the place filled with useless machinery is called Cruft Hall, the machinery itself must be cruft. This image of "discarded technical clutter" quickly migrated from hardware to software. Cruft may also be a play on the old typeface form of the letter "s", rendering "crust" as "cruſt".[1]
Another possible origin is that the word evokes the words crust, fluff and scruffy. The latter word is the source of similar words in Jamaican English such as cruff, meaning scurfy, coarse or uncouth.
Computer software
The FreeBSD handbook uses the term to refer to leftover object code that accumulates when code has been changed but the program not recompiled.[2] Such cruft can cause the BSD equivalent of Dependency Hell.[citation needed]
In the context of Internet or Web addresses (Uniform Resource Locators or "URLs"), cruft refers to the characters which 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/.[3]
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.[4] Cruft accumulation may result in technical debt (which could make adding new features or modifying existing features - even to improve performance - more difficult and time consuming). This accumulated hardware, however, often has benefit when IT systems administrators, technicians, and the like have need for critical replacement parts. A similar, though unused, machine or component to a production unit could result in near-immediate restoration of failed unit, as opposed to waiting for shipment from spare vendor.
See also
- Bloatware
- Muda (Japanese term)
- Spaghetti code
References
- ^ "crufty". The Jargon File, version 4.4.7. http://catb.org/jargon/html/C/crufty.html.
- ^ "20.4.16.6. What do I do if something goes wrong?". FreeBSD Handbook, Third Edition. http://www.freebsd.org/doc/en/books/handbook/makeworld.html. Retrieved 2007-08-18.
- ^ "Hypertext Style: Cool URIs don't change". http://www.w3.org/Provider/Style/URI. Retrieved 2007-08-18.
- ^ "cruft". The Jargon File, version 4.4.7. http://catb.org/jargon/html/C/cruft.html.
External links
- In the Beginning...was the Command Line - article by Neal Stephenson which includes coverage of the "cruft" concept.
- Verity Stob's Index of Cruftidity at Dr. Dobb's Journal
Categories:- Anti-patterns
- Pejoratives
Wikimedia Foundation. 2010.