Cruft
Encyclopedia
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.
. 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".
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.
handbook uses the term to refer to leftover object code
that accumulates when code has been changed but the program not recompiled
. Such cruft can cause the BSD
equivalent of Dependency Hell
.
In the context of Internet
or Web
addresses (Uniform Resource Locator
s or "URLs"), cruft refers to the character
s 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 extension
s such as .php or .html, and internal organizational details such as /public/ or /~users/john/work/drafts/.
(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.
Jargon
Jargon is terminology which is especially defined in relationship to a specific activity, profession, group, or event. The philosophe Condillac observed in 1782 that "Every science requires a special language because every science has its own ideas." As a rationalist member of the Enlightenment he...
for computer software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....
or hardware
Computer hardware
Personal computer hardware are component devices which are typically installed into or peripheral to a computer case to create a personal computer upon which system software is installed including a firmware interface such as a BIOS and an operating system which supports application software that...
that is of poor quality. The term originates from source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
that is rewritten leaving irrelevant or unwanted data within the code.
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 IIWorld War II
World War II, or the Second World War , was a global conflict lasting from 1939 to 1945, involving most of the world's nations—including all of the great powers—eventually forming two opposing military alliances: the Allies and the Axis...
. 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"
Long s
The long, medial or descending s is a form of the minuscule letter s formerly used where s occurred in the middle or at the beginning of a word, for example "ſinfulneſs" . The modern letterform was called the terminal, round, or short s.-History:The long s is derived from the old Roman cursive...
, rendering "crust" as "cruſt".
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
Jamaican English
Jamaican English or Jamaican Standard English is a dialect of English spoken in Jamaica. It melds parts of both American English and British English dialects, along with many aspects of Irish intonation...
such as cruff, meaning scurfy, coarse or uncouth.
Computer software
The FreeBSDFreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
handbook uses the term to refer to leftover object code
Object code
Object code, or sometimes object module, is what a computer compiler produces. In a general sense object code is a sequence of statements in a computer language, usually a machine code language....
that accumulates when code has been changed but the program not recompiled
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
. Such cruft can cause the BSD
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
equivalent of Dependency Hell
Dependency hell
Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages. This was mainly attributable to old Linux package managers...
.
In the context of Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...
or Web
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...
addresses (Uniform Resource Locator
Uniform Resource Locator
In computing, a uniform resource locator or universal resource locator is a specific character string that constitutes a reference to an Internet resource....
s or "URLs"), cruft refers to the character
Character (computing)
In computer and machine-based telecommunications terminology, a character is a unit of information that roughly corresponds to a grapheme, grapheme-like unit, or symbol, such as in an alphabet or syllabary in the written form of a natural language....
s 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 extension
Filename extension
A filename extension is a suffix to the name of a computer file applied to indicate the encoding of its contents or usage....
s 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. Cruft accumulation may result in technical debtTechnical debt
Technical debt are synonymous, neologistic metaphors referring to the eventual consequences of poor software architecture and software development within a codebase....
(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.
External links
- In the Beginning...was the Command Line - article by Neal StephensonNeal StephensonNeal Town Stephenson is an American writer known for his works of speculative fiction.Difficult to categorize, his novels have been variously referred to as science fiction, historical fiction, cyberpunk, and postcyberpunk...
which includes coverage of the "cruft" concept. - Verity Stob's Index of Cruftidity at Dr. Dobb's JournalDr. Dobb's JournalDr. Dobb's Journal was a monthly journal published in the United States by CMP Technology. It covered topics aimed at computer programmers. DDJ was the first regular periodical focused on microcomputer software, rather than hardware. It later became a monthly section within the periodical...