
Akludge orkluge (/klʌdʒ,kluːdʒ/) is aworkaround or makeshift solution that is clumsy, inelegant, inefficient, difficult to extend, and hard to maintain. Its only benefit is that it rapidly solves an important problem using available resources. A famous example is the improvised CO2 scrubber that kept the astronauts alive onApollo 13. This term is used in diverse fields such ascomputer science,aerospace engineering,Internet slang,evolutionary neuroscience,animation and government. It is similar in meaning to the naval termjury rig.
The word has alternate spellings (kludge andkluge), pronunciations (/klʌdʒ/ and/kluːdʒ/, rhyming withjudge andstooge, respectively), and several proposedetymologies.
TheOxford English Dictionary (2nd ed., 1989), cites Jackson W. Granholm's 1962 "How to Design a Kludge" article[1] in the Americancomputer magazineDatamation.[2]
kludge/kluːdʒ/ Alsokluge. (J. W. Granholm's jocular invention: see first quot.; cf. alsobodge v.,fudge v.)
'An ill-assorted collection of poorly-matching parts, forming a distressing whole' (Granholm); esp. inComputing, a machine, system, or program that has been improvised or 'bodged' together; a hastily improvised and poorly thought-out solution to a fault or 'bug'. ...
OED defines these twokludgecognates as:bodge 'to patch or mend clumsily' andfudge 'to fit together or adjust in a clumsy, makeshift, or dishonest manner'. TheOED entry also includes the verbkludge ('to improvise with a kludge or kludges') andkludgemanship ('skill in designing or applying kludges').
Granholm humorously imagined a fictitious source for the term:[1]
Phineas Burling is the chief calligrapher with the Fink and Wiggles Publishing Company, Inc. ... According to Burling, the word "kludge" first appeared in the English language in the early fifteen-hundreds. ...The word "kludge" is, according to Burling, derived from the same root as the Germanklug (Dutchkloog, Swedishklag, Danishklog, Gothicklaugen, Lettish [Latvian]kladnis and Sanskritveklaunn), originally meaning 'smart' or 'witty'. In the typical machinations of language in evolutionary growth, the word "kludge" eventually came to mean 'not so smart' or 'pretty ridiculous' .... Today "kludge" forms one of the most beloved words in design terminology, and it stands ready for handy application to the work of anyone who gins up 110-volt circuitry to plug into the 220 VAC source. The building of a kludge, however, is not work for amateurs.
AlthoughOED accepts Granholm's coinage of the term (not the fanciful pseudo-etymology quoted above), there are examples of its use before the 1960s.
AmericanYiddish speakers useklug (קלוג) to mean 'too smart by half', the reflected meaning of Germanklug ('clever'). This may explain the idea of 'clever but clumsy and temporary', as well as the pronunciation variation from German.[3] A reasonable translation ofkludge into German yieldsKrücke i.e. 'crutch' (cf.bridge vs.Brücke).
Cf. GermanKloß ('dumpling', 'clod', diminutiveKlößchen),Low Saxonklut,klute, Dutchkluit,[4] perhaps related to Low German diminutiveklütje ('dumpling', 'clod'), standardDanishkludder ('mess, disorder, clutter') and DanishJutland dialectklyt ('piece of bad workmanship').[5]
Arguments against the derivation from Germanklug:
An alternative etymology[6] suggests that thekludge spelling in particular derives ultimately from a word inScots (a language closely related to English):cludge orcludgie/cludgey meaning 'toilet' (in either the room or device sense),[7] with thekluge spelling possibly deriving from German, until the two terms were confused in the mid-20th century, as British and American (respectively) military slang.[6](Seebelow.)
TheJargon File (a.k.a.The New Hacker's Dictionary), aglossary of computer programmer slang maintained byEric S. Raymond, differentiateskludge fromkluge and cites usage examples pre-dating 1962.Kluge seems to have the sense of 'overcomplicated', whilekludge has only the sense of 'poorly done'.[6]
kludge /kluhj/
- n. Incorrect (though regrettably common) spelling ofkluge (US). These two words have been confused in American usage since the early 1960s, and widely confounded in Great Britain since the end of World War II.
- [TMRC] Acrock that works. (A long-agoDatamation article by Jackson Granholme [sic] similarly said: "An ill-assorted collection of poorly matching parts, forming a distressing whole.")
- v. To use a kludge to get around a problem. "I've kludged around it for now, but I'll fix it up properly later."
ThisJargon File entry notes thatkludge apparently derives via British military slang fromScotscludge/cludgie ('toilet'), and became confused with Americankluge during or after World War II.[6]
kluge: /klooj/ [from the Germanklug, 'clever'; poss. related to Polish & Russianklucz ('a key, a hint, a main point')]
- n. ARube Goldberg (orHeath Robinson) device, whether in hardware or software.
- n. A clever programming trick intended to solve a particular nasty case in an expedient, if not clear, manner. Often used to repair bugs. Often involves ad-hockery and verges on being a crock.
- n. Something that works for the wrong reason.
- vt. To insert a kluge into a program. "I've kluged this routine to get around that weird bug, but there's probably a better way."
- [WPI] n. A feature that is implemented in a rude manner.
This entry noteskluge, which is now often spelledkludge, "was the original spelling, reported around computers as far back as the mid-1950s and, at that time, used exclusively of hardware kluges".[6]
Kluge "was common Navy slang in theWorld War II era for any piece of electronics that worked well on shore but consistently failed at sea".[6] A summary of a 1947 article in theNew York Folklore Quarterly states:[8][9]
On being drafted into the navy, Murgatroyd gave his profession as "kluge maker" .... Whenever Murgatroyd was asked what he was doing, he said he was making a kluge, and actually he was one of the world's best kluge makers. Not wanting to seem ignorant, his superiors kept giving him commendations and promotions. ... One day ... the admiral asked him what a kluge was – the first person ever to do so. Murgatroyd said it was hard to explain, but he would make one so the admiral could see what it was. After a couple of days, he returned with a complex object."Interesting," said the admiral, "but what does it do?" In reply, Murgatroyd dropped it over the side of the ship. As the thing sank, it went "kluge".
TheJargon File further includeskluge around, 'to avoid a bug or difficult condition by inserting a kluge', andkluge up, 'to lash together a quick hack to perform a task'.
After Granholm's 1962 article popularized thekludge variant, both were interchangeably used and confused. TheJargon File concludes:[6]
The result of this history is a tangle. Many younger U.S. hackers pronounce the word as /klooj/ but spell it, incorrectly for its meaning and pronunciation, as 'kludge'. ... British hackers mostly learned /kluhj/ orally, use it in a restricted negative sense and are at least consistent. European hackers have mostly learned the word from written American sources and tend to pronounce it /kluhj/ but use the wider American meaning! Some observers consider this mess appropriate in view of the word's meaning.
Inaerospace, a kludge was a temporary design using separate commonly available components that were not flightworthy in order to proof the design and enable concurrent software development while the integrated components were developed and manufactured. The term was in common enough use to appear in a fictional movie about the US space program.[10]
Perhaps the ultimate kludge was the firstUSspace station,Skylab. Its two major components, the Saturn Workshop and theApollo Telescope Mount, began development as separate projects (the SWS was kludged from theS-IVB stage of theSaturn 1B andSaturn V launch vehicles, the ATM was kludged from an early design for the descent stage of theApollo Lunar Module). Later the SWS and ATM were folded into theApollo Applications Program, but the components were to have been launched separately, then docked in orbit. In the final design, the SWS and ATM were launched together, but for the single-launch concept to work, the ATM had to pivot 90 degrees on a truss structure from its launch position to its on-orbit orientation, clearing the way for the crew to dock itsApollo Command/Service Module at the axial docking port of the Multiple Docking Adapter.
The Airlock Module's manufacturer,McDonnell Douglas, even recycled the hatch design from itsGemini spacecraft and kludged what was originally designed for the conical Gemini Command Module onto the cylindrical Skylab Airlock Module. The Skylab project, managed by theNational Aeronautics and Space Administration'sMarshall Space Flight Center, was seen by the Manned Spacecraft Center (laterJohnson Space Center) as an invasion of its historical role as the NASA center for manned spaceflight. Thus, MSC personnel missed no opportunity to disparage the Skylab project, calling it "the kludge".[11]
In moderncomputing terminology, a "kludge" (or often a "hack") is a solution to a problem, the performance of a task, or a system fix which is inefficient, inelegant ("hacky"), or even incomprehensible, but which somehow works. It is similar to aworkaround, but quick. To "kludge around something" is to avoid abug or difficulty by building a kludge, perhaps exploiting properties of the bug itself. A kludge is often used to modify a working system while avoiding fundamental changes, or to ensure backwards compatibility.Hack can also be used with a positive connotation, for a quick solution to a frustrating problem.[12][13]
A kludge is often used to fix an unanticipated problem in an earlier kludge; this is essentially a kind ofcruft.
A solution might be a kludge if it fails incorner cases. An intimate knowledge of the problem domain and execution environment is typically required to build a corner-case kludge. More commonly, a kludge is aheuristic which was expected to work almost always, but ends up failing often.
A 1960sSoviet anecdote tells of a computer part which needed a slightly delayed signal to work. Rather than setting up a timing system, the kludge was to connect long coils of internal wires to slow the electrical signal.
Another type of kludge is the evasion of an unknown problem or bug in acomputer program. Rather than continue to struggle to diagnose and fix the bug, the programmer may write additional code to compensate. For example, if a variable keeps ending up doubled, a kludge may be to add later code that divides by two rather than to search for the original incorrect computation.
In computer networking, use ofNAT (Network Address Translation) (RFC 1918) orPAT (Port Address Translation) to cope with the shortage ofIPv4 addresses is an example of a kludge.
InFidoNet terminology,kludge refers to a piece of control data embedded inside a message.
Thekludge orkluge metaphor has been adapted in fields such asevolutionary neuroscience, particularly in reference to thehuman brain.
The neuroscientistDavid Linden discusses howintelligent design proponents have misconstrued brain anatomy:[14]
The transcendent aspects of our human experience, the things that touch our emotional and cognitive core, were not given to us by a Great Engineer. These are not the latest design features of an impeccably crafted brain. Rather, at every turn, brain design has been a kludge, a workaround, a jumble, a pastiche. The things we hold highest in our human experience (love, memory, dreams, and a predisposition for religious thought) result from a particular agglomeration of ad hoc solutions that have been piled on through millions of years of evolution history. It's not that we have fundamentally human thoughts and feelingsdespite the kludgy design of the brain as molded by the twists and turns of evolutionary history. Rather, we have them preciselybecause of that history.
The research psychologistGary Marcus's bookKluge: The Haphazard Construction of the Human Mind compares evolutionary kluges with engineering ones likemanifold vacuum-poweredwindshield wipers – when accelerating or driving uphill, "Your wipers slowed to a crawl, or even stopped working altogether." Marcus described a biological kluge:[15]
For instance, the vertebrate eye'sretina that is installed backward, facing the back of the head rather than the front. As a result, all kinds of stuff gets in its way, including a bunch of wiring that passes through the eye and leaves us with a pair ofblind spots, one in each eye.
InJohn Varley's 1985 short story "Press Enter_", the antagonist, a reclusive hacker, adopts the identity Charles Kluge.
In the science fiction television seriesAndromeda, genetically engineered human beings called Nietzscheans use the term disparagingly to refer to genetically unmodified humans.
In a 2012 article, political scientistSteven Teles used the term "kludgeocracy" to criticize the complexity of social welfare policy in the United States. Teles argues that institutional and political obstacles to passing legislation often drive policy makers to accept expedient fixes rather than carefully thought out reforms.[16][17]