Is “kludge” a proper word to name a dirty hack in software development

Solution 1:

Eric Raymond, The New Hacker's Dictionary, third edition (1996) goes on at great length (two full pages) about the differences between kluge and kludge, the fact that kluge is the older and (for most definitions given) preferable term, and the different supposed etymologies of the two words (kluge "from the German 'klug', clever; poss. related to Polish 'klucza', a trick or hook" and kludge "appears to have been derived from the Scots 'kludge' or 'kludgie' for a common toilet, via British military slang" but "apparently became confused with U.S. kluge during or after World War II"). I have my doubts about this rather elaborate explanation.

It seems far more likely to me that people heard the word kluge spoken before they saw it spelled, and in trying to reproduce the word in writing, some of them chose the spelling kludge. If that is indeed what happened, the spelling owes nothing to the Scottish words kludge and kludgie—which, by the way, are not so much a part of traditional Scots English as to have earned a place in Chambers Scots Dictionary (1911). The entries in Chambers jump from klot ("to scrape up mud, dung, ashes &c.") to klyock ("the last sheaf in harvest") with nary a kludge to be seen.

In contrast to The New Hacker's Dictionary, third edition, Oxford Dictionary of Computing, sixth edition (2008) has a notably succinct entry for the term (which it spells kludge):

kludge Informal An inelegant but effective mechanism (software and/or hardware).

Merriam-Webster's Eleventh Collegiate Dictionary (2003) does not hazard a guess as to the term's origin, but treats it as a word in in good standing:

kludge or kluge {origin unknown} (1962) : a system and esp. a computer system made up of of poorly matched components — kludgy also kludgey adj.

That definition seems out of date as a description of what most people mean by the word kludge today. The American Heritage Dictionary of the English Language (2011) does a much better job:

kludge or kluge n. Slang 1. A system, especially a computer system that is constituted of poorly matched elements or of elements originally intended for other applications. 2. A clumsy or inelegant solution to a problem.{Probably alteration of mid-20th century American military slang kluge, complex device with a simple function, perhaps of imitative origin or perhaps after the Kluge (paper feeder), a piece of printing equipment first manufactured in 1919 by Brandtjen & Kluge, Inc., and reputedly difficult to repair.}

George Mills, Platen Press Operation (1953) offers a possible explanation of why "Kluge" might have become associated with mixing and matching parts from different manufacturers:

The Kluge automatic press consists of a platen press similar to the hand fed machine described in chapter III, with the Kluge feeder attached. The feeder was designed to be attached to presses of other makes and was produced for ten years before the company began making presses. It may still be purchased without the press.

So it's possible that pressmen at companies that added a Kluge paper feeder to a different-make press might have come to speak informally of the hybrid machine—or the add-on part—as "a kluge."

In any event, to return to the poster's question, the latest American Heritage Dictionary confirms that using kludge to mean "A clumsy or inelegant solution to a problem"—the meaning that the poster seems to have in mind—is common in recent U.S. English usage. According to AHDES, the term kludge itself is "slang," and similarly, Oxford Dictionary of Computing calls the term "informal." But the Eleventh Collegiate doesn't attach any label to it, thus implying that it is a part of normal, everyday English.

My impression is that kludge tends to show up in informal, conversational-style writing rather than in relatively formal writing. At the computer magazines where I worked for many years, kludge and kludgy appeared in articles fairly frequently, without anyone batting an eye. In a computing milieu, then, I think kludge is generally acceptable and very likely to be understood in the intended sense.


Update (January 22, 2020): An early sighting of 'kludge' in the wild

Longtime site participant DavePhD has found an instance of kludge in the evident sense of "mishmash or mess," evidently from 1960. Because the source article is available in Google Books only as a series of small snippets, I have assembled the first five paragraphs of the piece for context and easy reference. From Jackson Granholm, "Move Over ACM: NMAA Meet Rated N.G.," in Datamation (1960) [combined snippets]:

Organization bating is a simpler process than people bating. All one needs to do is single out some great amorphous group of humanity (like "the government") and tee off typewriterwise, giving them whatfor all over the landscape. In people bating one gets more specific. A statement like, "Joe Glitch is a fat-head!" can be dangerous. Glitch might shoot you; or, at least, sue you. This is true even if he is a fat-head.

ACM bating, in particular, seems a catholic sport. The reverend leadership of the ACM has been dumed and dashed so thoroughly for everything from lackadaisical outlook to chronic weenieism that incumbent and and emeritus members of the Council have been known to flinch even when not shot at. So common and ordinary is ACM bating, in fact, that yr. obt. author, when writing in defense of the ACM (no easy thing to do), has received irate letters accusing him of all manner of' sins from myopia to Grosch error, thus illustrating the commonly-accepted axiom that the ACM is going to be spoken of derisively, if spoken of at all.

Therefore it is indeed news of the first water when someone resorts to NMAA bating. This has been done in an editorial (unsigned) on page 50 of the August, 1960, issue of DATA PROCESSING.

Here is truly information of the man-bites-dog variety. Heretofore, one had come quite naturally to assume that the NMAA genus of the computermanship family was made up of a finite set of simon-pure species, but such is apparently not the case.

If one may believe the DATA PROCESSING editorial, the NMAA convention in San Francisco (June, 1960) was an utter kludge. First of all, it missed the anticipated attendance of 1500 by three or four hundred. Further, those who attended "... were disappointed to find that more than half of the seminars were conducted by manufacturers or suppliers of data processing products or services."

The article identifies the author of this piece as "Sometime DATAMATION contributor Jackson Granholm, editor and publisher of COMPUTING NEWS." As it turns out, at least one online source credits Granholm with inventing the word kludge. From the Encyclopedia.com entry for the term guru:

One of the early gurus in computer science was Jackson Granholm, who in 1962 coined the term "kludge." This word initially referred to a poorly planned combination of parts put together while designing a computer. Therefore, a kludge is a machine that contains several features that are annoying to users and, in retrospect, are aspects that the designer wishes had been done differently. The term now encompasses programs, documentation, and even computing centers, so that the new definition describes systems that were hastily planned, patched together, and have proven themselves to be unreliable.

Wikipedia's article on kludge reports that, according to the OED, second edition (1989),

... one source for this word's earliest recorded usage, definition and etymology: Jackson W. Granholm's [February] 1962 'How to Design a Kludge' article, which appeared in the American computer magazine Datamation.

The OED entry (via Wikipedia) reads as follows:

kludge /kluːdʒ/ Also kluge. {J. W. Granholm's jocular invention: see first quot.; cf. also bodge v., fudge v.} 'An ill-assorted collection of poorly-matching parts, forming a distressing whole' (Granholm); esp. in Computing, 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'. ...

It thus seems likely that the instance of kludge spotted by DavePhD is one of the first recorded by Granholm. It is unclear exactly when Granholm's article on the poorly organized NMAA meeting appeared in Datamation, but he treats the editorial about the meeting that appeared in the August 1960 issue of Data Processing as recent and newsworthy, so September or September/October seems a reasonable guess.

It should be noted, however, that Granholm himself disclaims coinageship of the term. From a response to a letter to the editor of Datamation (April 1977) [combined snippets]:

Mr. Jackson Granholme responds: In reply to Mr. Nolan's letter, the word "kludge" is briefly described in the Encyclopedia of Computer Science (Petrocelli/Charter, New York, 1976, p. 750) in which the noted author, Gruenberger, credits me with having coined the word in the DATAMATION article, "How to Design a Kludge" (February 1962).

Gruenberger is too kind in crediting this invention to me, for, as I pointed out in my DATAMATION review of the Encyclopedia, kludges were around before I popularized them.

It pleases me to note that in that ancient article of 1962, I gave full credit to the late Phineas Burling, then chief calligrapher with the Fink and Wiggles Publishing Company, for researching the word back through the antiquities of the English language. But I must confess that the oft-quoted modern definition is mine, namely: "An ill-assorted collection of poorly matching parts, forming a distressing whole."

We may note that through history kludge has been variously spelled as Kluge,Klüge, Kluege, Klooge, Kloog, Klag, Klog, Klogge, Klaugen, Claug, Kladnis, Veklaunne, Cluj, and Cloots, in the sundry tongues and dialects of Indo-European (there may be missing spellings, due to the difficulties of runic translation).

According to Dr, Wellmouth Muttha, the term is certainly Indo-European, not being found in Ostiak or Mongol. Muttha surmises it may stem from the myth/legend of Det Haar Klod who fell off the cliff into the wooly mammoth trap when no wind was blowing.

Martin, in his noted book, Malice in Blunderland (McGraw-Hill, 1973), has related the kludge to other observed phenomena, and this may be of interest to readers.

In short, Granholm could not be a less reliable witness.

Solution 2:

Kludgy is a trade-specific word, so in a context where the audience is all aware of the term, it would be fine to use as is. In other contexts, you would need to explain it initially if you planned to keep using it.

If you want a completely different word, then one could say they installed a provisional fix/solution.

Provisional or temporary both work. The term "place-holder" might work.