Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ucbcad!ucbvax!decvax!ima!johnl From: johnl@ima.UUCP (John R. Levine) Newsgroups: comp.arch Subject: Re: Definition: Kludge Message-ID: <545@ima.UUCP> Date: Thu, 16-Apr-87 10:28:17 EST Article-I.D.: ima.545 Posted: Thu Apr 16 10:28:17 1987 Date-Received: Sun, 19-Apr-87 06:25:11 EST References: <1736@im4u.UUCP> Reply-To: johnl@ima.UUCP (John R. Levine) Followup-To: misc.misc Distribution: na Organization: Javelin Software Corporation Lines: 21 In article <1736@im4u.UUCP> suhler@im4u.UUCP (Paul A. Suhler) writes: >Someone asked for a definition of "kludge," but I never saw the >real one. ... The term goes way back, Datamation ran a funny series about the Kludge Komputer Korp. in the 1950s. In any event, a kludge is like pornography in that, as the justice said, it's hard to define but you know it when you see it. (There are those who would say that a true kludge is by definition pornographic, but that's beside the point.) It seems to me that for something to be a kludge it 1) has to work, at least sort of, and 2) has to work for the wrong reason. Anything which is elegant or generalizable is immediately disqualified. Hardware kludges frequently involve things like sending signals over spare ground wires. Software kludges involve the equivalent, e.g. passing a pointer from one routine to another as a floating point number because there was already a routine to do that and you found 9 bytes of patch space close enough to it to hack in a 9-byte sequence using short addresses. -- John R. Levine, Javelin Software Corp., Cambridge MA +1 617 494 1400 { ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl, Levine@YALE.something Where is Richard Nixon now that we need him?