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

edit
The name of Harvard Cruft Laboratory is one possible origin of the term

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).[1] 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".[2] 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".[2] In 2008 it was also used to refer to alumni who remain socially active at MIT.[3]

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,[4] it housed the Harvard Physics Department's radar lab during World War II.

Software

edit

The FreeBSD 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 and data files are produced.[5] Such cruft, if required for the new executables to work properly, can cause the BSD equivalent of dependency hell.[6][better source needed] 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.[7]

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 addresses (Uniform Resource Locators or "URLs"), cruft refers to the characters 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 extensions such as .php or .html, and internal organizational details such as /public/ or /Users/john/work/drafts/.[8]

Computer hardware

edit

Cruft may also refer to unused and out-of-date computer paraphernalia, collected through upgrading, inheritance, or simple acquisition, both deliberate and through circumstance.[9] 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

edit

References

edit
  1. ^ Levy, Steven (2010). Hackers: Heroes of the Computer Revolution (25th Anniversary ed.). O'Reilly Media. p. 8. ISBN 9781449393748.
  2. ^ a b Samson, Peter R. (September 2005) [June 1959]. "AN ABRIDGED DICTIONARY of the TMRC LANGUAGE". gricer.com. Retrieved March 6, 2026.
  3. ^ B, Paul (19 August 2008). "Speaking MITese". MIT Admissions (Blog). Massachusetts Institute of Technology. Retrieved 8 June 2016.
  4. ^ "Bronze Tablet Erected in Cruft Memorial Laboratory". News. The Harvard Crimson. March 10, 1916. Retrieved 2026-03-06.
  5. ^ "20.4.16.6. What do I do if something goes wrong?". FreeBSD Handbook (3rd ed.). Retrieved 2007-08-18.
  6. ^ D27 (2011-04-04). "A nice picture of (dependency) hell". disfunksioneel (Blog). Retrieved 2026-03-06.{{cite web}}: CS1 maint: numeric names: authors list (link)
  7. ^ "Software Quality Definitions". TechTarget. Informa. Retrieved 2026-03-06.
  8. ^ Berners-Lee, Tim (1998). "Hypertext Style: Cool URIs don't change". W3C Style. Retrieved 2007-08-18. What makes a cool URI? / A cool URI is one which does not change. / What sorts of URI change? / URIs don't change: people change them.
  9. ^ "crufty". The Jargon File, version 4.4.7. 1993.
edit

📚 Artikel Terkait di Wikipedia

Software bloat

or ransomware. Code bloat Software cruft Feature creep Software rot Technical Debt Wirth's law Zawinski's law of software envelopment Planned obsolescence

Software versioning

handle old deprecated protocols and file formats is often seen as cruft. Software in the experimental stage (alpha or beta) often uses a zero in the

Dead-code elimination

elimination Conjunction elimination Dynamic software updating Dynamic coupling (computing) Self-relocation Software cruft Tree shaking Post-pass optimization

Zoho Corporation

business software. Its core products include workplace productivity and collaboration software, customer relationship management (CRM) software, and business

Wirth's law

Moore's law. This could occur for a variety of reasons: feature creep, code cruft, developer laziness, lack of funding, forced updates, forced porting (to

Afterglow Miami Ink

Afterglow Miami Ink (born June 15, 2015) received Crufts Best in Show title by Judge Jeff Horswell on March 12, 2017. The American Cocker Spaniel is handled

Kludge

unanticipated problem in an earlier kludge; this is essentially a kind of cruft. A solution might be a kludge if it fails in corner cases. An intimate knowledge

C dynamic memory allocation

free(a); The memory set aside by malloc is not initialized and may contain cruft: the remnants of previously used and discarded data. After allocation with