A kluge or kludge is a workaround or haphazard solution to a problem that is clumsy and crude. Although the kludge is awkward, inefficient, inelegant, and difficult to maintain or extend, it solves a specific problem. In other words, we make do with whatever is available and create a crude design that is not nice but works. The term is commonly used in some engineering fields.
The words ‘kludge’ and ‘kluge’ rhyme with judge and stooge respectively.
We commonly use the terms in aerospace engineering, IT, evolutionary neuroscience, Internet slang, and government. IT stands for Information Technology (computer science).
The Merriam-Webster dictionary has the following definition of the term:
“A haphazard or makeshift solution to a problem and especially to a computer or programming problem.”
Kluge has existed since 1962
According to the Online Etymology Dictionary, American author Jackson W. Granholm (1921-2007) coined the term.
In 1962, Granholm defined the term as an “ill-assorted collection of poorly matching parts, forming a distressing whole.”
The term has persisted in computer programming jargon for quick-and-dirty code fixes.
Kluge in aerospace engineering
In aerospace engineering, a kluge is a temporary design that engineers use to test components. However, the design uses components that are not flightworthy.
The kluge is good enough for testing. Meanwhile, the manufacturer is creating the flightworthy components.
A Wikipedia article says that Skylab was perhaps the ultimate kluge. Skylab was a United States’ space station that orbited Earth from 1973 to 1979.
Skylab’s Saturn Workshop and the Apollo Telescope Mount started development as separate projects. The Workshop and Telescope were kluged from the S-IVB stage of Saturn 1B and Saturn V and part of the Apollo Lunar Module respectively.
Kluge in computer science
A kluge or hack is a solution to a problem. It is also a solution to doing a task. It is a fixing system that is crude, inefficient, and clumsy. In fact, it may even be impossible to understand. However, it works, i.e., ‘sort of’ works.
If you want to avoid a bug or some difficult condition, you kluge around it. Sometimes, the programmer uses components of the bug itself when designing a workaround.
In fact, software experts say that kluges are like workarounds, but without the ‘grace.’ Software refers to all the instructions and codes, i.e., programs, within a computer that make it possible to use it.
A cruft, in computer science, is a kluge that the programmer creates to fix a problem that an earlier kluge triggered.
Neuroscientist David Linden once used the term when criticizing proponents of intelligent design.
Linden argued that the human brain is not the work of a Great Engineer. Rather, its evolution has “been a kludge, a workaround, a jumble, a pastiche.”
Linden added that dreams, love, and memory are the result of an agglomeration of ad hoc solutions. These solutions have haphazardly accumulated through millions of years of evolution history.
“Rather, we have them precisely because of that history,” Linden concluded.
Linden is an American professor of neuroscience at Johns Hopkins University in Baltimore, Maryland. He wrote The Accidental Mind: How Brain Evolution Has Given Us Love, Memory, Dreams, and God.