Q From Rich Holton: My background is in computer programming, and in my early days (somewhere around 1988), I ran into the word kludge, which was used to describe a work of programming that was done hastily and inelegantly. Over the years I’ve seen it many times from diverse sources — though always in the context of programming or electronics engineering. Does this word have any usage outside of computers? Can you shed any light on its origin?
A I can shed a little light, but less definitively so than I had hoped. I had expected to be able to give you an exact origin for the term and to be able to say it is one of the very few words for which we know the author, the date and the source.
That’s because several reputable dictionary sources say it was invented by J W Granholm in an article “How to Design a Kludge” in the February 1962 issue of the computer magazine Datamation. He defined it as “an ill-assorted collection of poorly-matching parts, forming a distressing whole”. It’s used in computing and electronics, as you say, for a hastily improvised solution to some fault or bug, but doesn’t seem to have moved much outside those fields, if at all.
Mr Granholm borrowed it from German klug, smart or witty, presumably also being influenced by bodge and fudge. He says in the article: “The building of a Kludge ... is not work for amateurs. There is a certain indefinable, masochistic finesse that must go into true Kludge building”.
There is some disagreement over pronunciation and spelling. Eric Raymond, in The New Hacker’s Dictionary (the printed version of the online Jargon File, the standard work for anyone interested in computer slang) argues that it ought to be spelled like its German original, klug; but, as we’ve seen, Mr Granholm spelled it with the inserted d, and that surely ought to be good enough for the rest of us? But having two spellings means we also have two pronunciations. The definitive American one is /kluːdʒ/ (to rhyme with stooge), reflecting the vowel of the German word, but the usual spelling results in it also being heard as /klʌdʒ/ (rhyming with judge), which is more common in British English.
Mr Raymond’s argument for preferring kluge is that old-timers in the computer business have consistently reported that the word was around in the 1950s, always spelled kluge and originally used for bodged-up hardware repairs, not for programming (which was in its infancy then, anyway). Subscribers to World Wide Words have also said that they knew of it in that period. He also cites a 1947 article reporting a shaggy-dog story current in the American armed forces, in which a kluge was “a complex and puzzling artifact with a trivial function”. He has had reports that the word was World War Two US Navy slang for any piece of electronic equipment that worked well on shore but consistently failed at sea.
He has also had suggestions that the word may have came from a device called a Kluge paper feeder, an adjunct to mechanical printing presses, originally designed in 1919. It has been described as a fiendishly complicated and clever device, which often broke down and was hard to repair, though it seems in reality to have been a relatively simple mechanism (leading to a suspicion that its complexity has been exaggerated in order to bolster a connection between the device and the word).
Others have said that the kludge spelling really derives from a Scots word for a toilet, cludgie, and was imported into America during World War Two through borrowing from British armed forces slang. However, Eric Partridge doesn’t give it in any of his slang dictionaries, which he surely would have done if it had been at all current, so I’m strongly inclined to count this one a miss.
It seems pretty clear that the current spelling and sense were indeed Mr Granholm’s invention, and that he should also take the credit for popularising it, but it looks very much as though he drew on an existing jargon term.
All this only goes to prove that linguistic truth is rarely pure and never simple and that there’s no subject that investigation can’t make more complicated.