10

I just had to look up "cruft" (jargon for software or hardware that is of poor quality), as used in a comment to an earlier question.

But I can't find any details of etymology, and I don't know how often it's used outside the superfluous source code that has yet to be removed context. Can anyone help?

FumbleFingers
  • 140,184
  • 45
  • 294
  • 517
  • Did you see the reference to Harvard's Cruft Hall? – tylerharms Dec 10 '12 at 20:20
  • @J.R.: I don't really see the point of your edit (apart from adding the two tags I should have done myself). My existing link to onlineslangdictionary already cites what I assume is the primary definition, and if anyone wanted to follow it they'd also find in software, layers of poorly written source code that have accumulated over a great length of time. Obviously I'm no authority (I never knew the word until yesterday), but I haven't seen anything except your quote from Wikipedia linking cruft to poor quality hardware. – FumbleFingers Dec 11 '12 at 22:10
  • @FF: You said you had to look it up. I had to look it up, too. (I didn't initially catch that your second link pointed to a dictionary meaning). I just figured that it wouldn't hurt to add a quick summary of the meaning for any others who might be curious what the word meant. Feel free to roll it back, or strike hardware from my parenthetical statement. – J.R. Dec 11 '12 at 22:38
  • @J.R.: It's no big deal either way, so let it stand. I just didn't understand why you did it, but all becomes clear when you say you hadn't noticed my superfluous source code that has yet to be removed was in fact a link to definitions. Anyway, it's obviously good that you added the extra two tags (I know I'm a bit remiss in that area myself) - so on balance, many thanks! – FumbleFingers Dec 11 '12 at 23:31
  • GDoS has crufty adj.(corruption of scruffy?) [? SE scruffy; note computer jargon crufty, of a machine or program, poorly constructed, poss. over-complex] (W.I., Jam.) coarse-looking.

    1980 [WI] M. Thelwell Harder They Come 200: Peter Lorre [...] was sliced from cheek to jowl by a crufty, awkward country boy with a half machete.

    – user 66974 May 26 '23 at 17:58

6 Answers6

14

Jargon File

According to the Jargon File:

cruft: /kruhft/

[very common; back-formation from crufty]

  1. n. An unpleasant substance. The dust that gathers under your bed is cruft; the TMRC Dictionary correctly noted that attacking it with a broom only produces more.

  2. n. The results of shoddy construction.

  3. vt. [from hand cruft, pun on ‘hand craft’] To write assembler code for something normally (and better) done by a compiler (see hand-hacking).

  4. n. Excess; superfluous junk; used esp. of redundant or superseded code.

  5. [University of Wisconsin] n. Cruft is to hackers as gaggle is to geese; that is, at UW one properly says “a cruft of hackers”.

And for crufty:

crufty: /kruhf�tee/, adj. [very common; origin unknown; poss. from ‘crusty’ or ‘cruddy’]

  1. Poorly built, possibly over-complex. The canonical example is “This is standard old crufty DEC software”. In fact, one fanciful theory of the origin of crufty holds that was originally a mutation of ‘crusty’ applied to DEC software so old that the ‘s’ characters were tall and skinny, looking more like ‘f’ characters.

  2. Unpleasant, especially to the touch, often with encrusted junk. Like spilled coffee smeared with peanut butter and catsup.

  3. Generally unpleasant.

  4. (sometimes spelled cruftie) n. A small crufty object (see frob); often one that doesn't fit well into the scheme of things. “A LISP property list is a good place to store crufties (or, collectively, random cruft).”

This term is one of the oldest in the jargon and no one is sure of its etymology, but it is suggestive that there is a Cruft Hall at Harvard University which is part of the old physics building; it's said to have been the physics department's radar lab during WWII. To this day (early 1993) the windows appear to be full of random techno-junk. MIT or Lincoln Labs people may well have coined the term as a knock on the competition.


Tech Model Railroad Club Dictionary

The quoted TMRC Dictionary was compiled by members of the Tech Model Railroad Club at MIT (who may also be responsible for foo and bar), many of worked on early programming languages and computers such as LISP and the PDP-1 and Project MAC from 1964 onwards.

The terms appear in the first edition of the TMRC dictionary of 1959, compiled by Pete Sampson who later added the italic notes:

CRUD: cruft (q.v.).
The gag here is to define the obvious word in terms of the more obscure.

CRUFT: that which magically amounds in the Clubroom just before you walk in to clean up. In other words, rubbage.
The word was in use at the club when I wrote this definition. The sense is 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. Rubbage is a rare term for rubbish, but I had heard it used growing up in New England.


Oxford English Dictionary

Cruft now appears in the OED, with this etymology:

Origin unknown. Perhaps an expressive formation, perhaps recalling fluff n.1, scruffy adj., crust n. However, with crufty adj. perhaps compare Jamaican English crufty coarse-looking (1943), cruffy scurfy, rough (1868), cruff (adjective) scabby, scurfy, naturally rough, coarse, uncooth (c1915), all ultimately related to scruff n.1: see F. G. Cassidy & R. B. LePage Dict. Jamaican English (1967) at cited words.

A number of other etymologies have also been suggested.

Meaning:

Computing slang.

Anything unnecessary or redundant; esp. poorly designed or unnecessarily complex computer software, e.g. that containing sections of obsolete code. Also: filth, esp. that which builds up over time; detritus.

Their first quotation is the 1959 TMRC dictionary.

Nowadays, it is mainly used in terms of redundant, poor quality or wasteful source code that should best be removed; but can also be that unpleasant-to-touch dirt that accumulates on keyboards and inside computers.

Hugo
  • 67,535
  • 1
    I'm upvoting this answer because it contains a wealth of associated interesting information. But I'll probably end up accepting John's answer, because in the final analysis it's not just that the "definitive origin" seems to be beyond our reach. The key point I've picked up from asking this question is that whatever the origin, it wouldn't have arisen and/or survived without "phonosemantic support". And even then it might not have made it but for the fact that Americans never really adopted crud/cruddy as much as Brits, so they had more of a "phonosemantic gap" there waiting to be filled. – FumbleFingers Dec 10 '12 at 23:13
  • 2
    I'm also sceptical of the Cruft Hall claim, I think it's more simply humourous word play, as was common at TMRC/MIT, and still common in computing communities. See also Pete Sampson's comment that a joke was to define the more obvious crud in terms of the more obscure cruft. – Hugo Dec 11 '12 at 06:32
6

According to the Hacker Dictionary:

This term is one of the oldest in the jargon and no one is sure of its etymology, but it is suggestive that there is a Cruft Hall at Harvard University which is part of the old physics building; it's said to have been the physics department's radar lab during WWII. To this day (early 1992) the windows appear to be full of random techno-junk. MIT or Lincoln Labs people may well have coined the term as a knock on the competition.

Hugo
  • 67,535
5

It's a made-up word, in a culture where hacking words is a time-honored traditional value. So the etymology itself becomes a matter of competing legends.

One of the reasons why a word stays around instead of being forgotten is because it sounds right. That's the legend of Phonosemantics, or sound symbolism.

Monosyllabic English words (like, say, stump) can be broken into Assonances (st-, in the case of stump) and Rimes (-əmp).

Many of these word chunks have meaning; for instance, the assonance /kl-/. And in particular, the assonance /kr-/ is a very good phonosemantic match for cruft.

John Lawler
  • 107,887
  • Phonosemantics is definitely starting to appeal to me! Even if Cruft Hall at Harvard University was the "proximate cause" of the word (which I don't really believe), I'm well up for the idea that a word stays around instead of being forgotten because it sounds* right. Cruft* does seem a good fit with crud, crude, crap, crumble, crust, etc. Before my fruitless search, I'd speculated cruft might be a variant of crud, which I've always known, and assumed was from crude. But I now know crud came from curd (and to me, crud really does "sound better" for crusty debris :). – FumbleFingers Dec 10 '12 at 22:59
  • ...there's one huge problem I imagine must bedevil people trying to work on phonosemantics. It seems to me that other words like scruffy, scurvy, scum, and scutch (dialectal "rubbish") gain at least some "currency" from these loose phonological associations. But how on earth would you train computer code to pick these out without getting sidetracked by things like scrumptious and sumptuous? There's a lot of hands-on spadework there, I feel. – FumbleFingers Dec 11 '12 at 01:36
  • You don't. Like a lot of things, this is an AI-Complete problem. Humans can sense these things, and so far machines can't -- except by statistics, which is probably close to what we do chemically in the brain, if truth be known. – John Lawler Dec 11 '12 at 01:56
  • Dang. I've been telling people for years that computers ain't gonna crack natural language parsing any time soon, but I got really fired up by the possibility they might at least be able to compile lists of words that have "something in common" both semantically and phonologically. Partly because I like the idea that we might gain insights into how people really think by identifying the semantic groupings represented by those lists. But I guess that humans will have to do all the really hard work, as usual. Computers are still good drudges though, and it's good they don't forget things much. – FumbleFingers Dec 11 '12 at 02:08
  • 1
    Already done it: FrameNet – John Lawler Dec 11 '12 at 05:22
  • Now we're a *long way* further down the track with AI and language processing. I wonder if anyone's checked out how a trained neural net compares with real humans as regards the Bouba/kiki effect. – FumbleFingers Jun 23 '17 at 16:40
  • I just looked at the question again and noticed I have a response. So far so good, but it occurs to me now, re-looking at the word, that that final -ft looks very like a long S (ſ), which would have spelled crust (and of course crusty, which is another trait of cruft). So, cruſty? – John Lawler Dec 09 '21 at 18:52
  • Could we also say that "hacking words are a time-honored tradition"? [caveat: joke] Funny how reading can do that shifty thing. – Lambie May 26 '23 at 18:09
0

I attended MIT from 2003-2007, and heard a history of the term "cruft". Legend has it that some MIT student was lurking around a Harvard basement and found a box of old electronics. It was outside the office of a Professor Cruft and the box was labeled "Cruft". Back on MIT campus, the contents, and then the general category, took on the name.

Ruth
  • 1
  • Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center. – Community Dec 09 '21 at 19:34
  • Welcome! This is mentioned in the Wikipedia page that was linked in one of the comments on the question. It was made a comment rather than an answer because it's easily found online, the author isn't adding anything substantive to the source (a "link only" answer), and it's ultimately unproven (labeled "citation needed" in Wikipedia). And read through the other comments and answers; the Harvard idea has been thoroughly discussed. – Andy Bonner Dec 09 '21 at 20:41
0

I can't give you a reference, but as an old programmer, the story I heard is that during the development of RADAR during WWII at Harvard's Cruft Hall, the pace of iteration on RADAR was so fast that recent prototypes would just be dragged out to the hallway, abandoned as junk, but kept nearby for potential parts and reference to what didn't work. (They likely couldn't just send it to the dump out of espionage/secrecy concerns.)

How much truth is in this story is unknown to me, but this usage perfectly captures the current usage of the word for accumulated junk that is inexplicably kept around.

DanO
  • 101
0

The etymology of cruft is not of much interest to me, and I suspect that the origin stories put forth here are just folk etymologies. (If you ever heard the explanation that tip (as in money left for a server at a restaurant) is derived from "to insure promptness") you have encountered a folk etymology before.)

I am a retired radar engineer. For analysis tools people often take an existing source file and copy it to another file to serve as a template or starting point rather than coding from scratch. It often is the case that the file then has lots of variable declarations and functions that aren't needed for the new application. We would refer to the extraneous code that isn't needed for the current use cruft. Even in an unofficial tool that doesn't need to be brought under configuration management, it is a good idea to clean up the code, get rid of the cruft, because it makes it harder to understand what the tool is supposed to be doing. So, in my view, Definition 4 quoted above from the Jargon File is the most correct and most useful:

  1. n. Excess; superfluous junk; used esp. of redundant or superseded code.
PaulD
  • 1