87 lines
9.2 KiB
HTML
87 lines
9.2 KiB
HTML
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>bug</title><link rel="stylesheet" href="../../jargon.css" type="text/css"/><meta name="generator" content="DocBook XSL Stylesheets V1.61.0"/><link rel="home" href="../index.html" title="The Jargon File"/><link rel="up" href="../B.html" title="B"/><link rel="previous" href="buffer-overflow.html" title="buffer overflow"/><link rel="next" href="bug-compatible.html" title="bug-compatible"/></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">bug</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="buffer-overflow.html">Prev</a> </td><th width="60%" align="center">B</th><td width="20%" align="right"> <a accesskey="n" href="bug-compatible.html">Next</a></td></tr></table><hr/></div><dt><a id="bug"/><dt xmlns="" id="bug"><b>bug</b>: <span xmlns="http://www.w3.org/1999/xhtml" class="grammar">n.</span></dt></dt><dd><p> An unwanted and unintended property of a program or piece of
|
||
hardware, esp. one that causes it to malfunction. Antonym of
|
||
<a href="../F/feature.html"><i class="glossterm">feature</i></a>. Examples: “<span class="quote">There's a bug in the
|
||
editor: it writes things out backwards.</span>” “<span class="quote">The system crashed
|
||
because of a hardware bug.</span>” “<span class="quote">Fred is a winner, but he has a
|
||
few bugs</span>” (i.e., Fred is a good guy, but he has a few personality
|
||
problems).</p></dd><dd><p>Historical note: Admiral Grace Hopper (an early computing pioneer
|
||
better known for inventing <a href="../C/COBOL.html"><i class="glossterm">COBOL</i></a>) liked to tell a
|
||
story in which a technician solved a <a href="../G/glitch.html"><i class="glossterm">glitch</i></a> in the
|
||
Harvard Mark II machine by pulling an actual insect out from between the
|
||
contacts of one of its relays, and she subsequently promulgated
|
||
<a href="bug.html"><i class="glossterm">bug</i></a> in its hackish sense as a joke about the
|
||
incident (though, as she was careful to admit, she was not there when it
|
||
happened). For many years the logbook associated with the incident and the
|
||
actual bug in question (a moth) sat in a display case at the Naval Surface
|
||
Warfare Center (NSWC). The entire story, with a picture of the logbook and
|
||
the moth taped into it, is recorded in the <i class="citetitle">Annals of the History
|
||
of Computing</i>, Vol. 3, No. 3 (July 1981), pp. 285--286.</p><p>The text of the log entry (from September 9, 1947), reads “<span class="quote">1545
|
||
Relay #70 Panel F (moth) in relay. First actual case of bug being
|
||
found</span>”. This wording establishes that the term was already in use
|
||
at the time in its current specific sense — and Hopper herself
|
||
reports that the term <span class="firstterm">bug</span> was
|
||
regularly applied to problems in radar electronics during WWII.</p><div class="mediaobject"><a id="hopper-bug"/><img src="../graphics/bugpic-color.jpg"/><div class="caption"><p>The ‘original bug’ (the caption date is incorrect)</p></div></div><p>Indeed, the use of <span class="firstterm">bug</span> to mean
|
||
an industrial defect was already established in Thomas Edison's time, and a
|
||
more specific and rather modern use can be found in an electrical handbook
|
||
from 1896 (<i class="citetitle">Hawkin's New Catechism of Electricity</i>,
|
||
Theo. Audel & Co.) which says: “<span class="quote">The term ‘bug’ is
|
||
used to a limited extent to designate any fault or trouble in the
|
||
connections or working of electric apparatus.</span>” It further notes that
|
||
the term is “<span class="quote">said to have originated in quadruplex telegraphy and
|
||
have been transferred to all electric apparatus.</span>”</p><p>The latter observation may explain a common folk etymology of the
|
||
term; that it came from telephone company usage, in which “<span class="quote">bugs in a
|
||
telephone cable</span>” were blamed for noisy lines. Though this
|
||
derivation seems to be mistaken, it may well be a distorted memory of a
|
||
joke first current among <span class="emphasis"><em>telegraph</em></span> operators more than
|
||
a century ago!</p><p>Or perhaps not a joke. Historians of the field inform us that the
|
||
term “<span class="quote">bug</span>” was regularly used in the early days of telegraphy
|
||
to refer to a variety of semi-automatic telegraphy keyers that would send a
|
||
string of dots if you held them down. In fact, the Vibroplex keyers (which
|
||
were among the most common of this type) even had a graphic of a beetle on
|
||
them (and still do)! While the ability to send repeated dots automatically
|
||
was very useful for professional morse code operators, these were also
|
||
significantly trickier to use than the older manual keyers, and it could
|
||
take some practice to ensure one didn't introduce extraneous dots into the
|
||
code by holding the key down a fraction too long. In the hands of an
|
||
inexperienced operator, a Vibroplex “<span class="quote">bug</span>” on the line could
|
||
mean that a lot of garbled Morse would soon be coming your way.</p><p>Further, the term “<span class="quote">bug</span>” has long been used among radio
|
||
technicians to describe a device that converts electromagnetic field
|
||
variations into acoustic signals. It is used to trace radio interference
|
||
and look for dangerous radio emissions. Radio community usage derives from
|
||
the roach-like shape of the first versions used by 19th century physicists.
|
||
The first versions consisted of a coil of wire (roach body), with the two
|
||
wire ends sticking out and bent back to nearly touch forming a spark gap
|
||
(roach antennae). The bug is to the radio technician what the stethoscope
|
||
is to the stereotypical medical doctor. This sense is almost certainly
|
||
ancestral to modern use of “<span class="quote">bug</span>” for a covert monitoring
|
||
device, but may also have contributed to the use of “<span class="quote">bug</span>” for
|
||
the effects of radio interference itself.</p><p>Actually, use of <span class="firstterm">bug</span> in the
|
||
general sense of a disruptive event goes back to Shakespeare! (Henry VI,
|
||
part III - Act V, Scene II: King Edward: “<span class="quote">So, lie thou there. Die
|
||
thou; and die our fear; For Warwick was a bug that fear'd us all.</span>”)
|
||
In the first edition of Samuel Johnson's dictionary one meaning of
|
||
<span class="firstterm">bug</span> is “<span class="quote">A frightful object; a
|
||
walking spectre</span>”; this is traced to ‘bugbear’, a Welsh
|
||
term for a variety of mythological monster which (to complete the circle)
|
||
has recently been reintroduced into the popular lexicon through fantasy
|
||
role-playing games.</p><p>In any case, in jargon the word almost never refers to insects. Here
|
||
is a plausible conversation that never actually happened: “<span class="quote">There is a
|
||
bug in this ant farm!</span>” “<span class="quote">What do you mean? I don't see any
|
||
ants in it.</span>” “<span class="quote">That's the bug.</span>”</p><p>A careful discussion of the etymological issues can be found in a
|
||
paper by Fred R. Shapiro, 1987, “<span class="quote">Entomology of the Computer Bug:
|
||
History and Folklore</span>”, American Speech 62(4):376-378.</p><p>[There has been a widespread myth that the original bug was moved to
|
||
the Smithsonian, and an earlier version of this entry so asserted. A
|
||
correspondent who thought to check discovered that the bug was not there.
|
||
While investigating this in late 1990, your editor discovered that the NSWC
|
||
still had the bug, but had unsuccessfully tried to get the Smithsonian to
|
||
accept it — and that the present curator of their History of American
|
||
Technology Museum didn't know this and agreed that it would make a
|
||
worthwhile exhibit. It was moved to the Smithsonian in mid-1991, but due
|
||
to space and money constraints was not actually exhibited for years
|
||
afterwards. Thus, the process of investigating the original-computer-bug
|
||
bug fixed it in an entirely unexpected way, by making the myth true!
|
||
—ESR]</p><div class="mediaobject"><a id="crunchly73-07-29"/><img src="../graphics/73-07-29.png"/><div class="caption"><p>It helps to remember that this dates from 1973.</p><p>(The next cartoon in the Crunchly saga is
|
||
<a href="../A/ad-hockery.html#crunchly73-10-31">73-10-31</a>. The previous
|
||
cartoon was <a href="../O/overflow-bit.html#crunchly73-07-24">73-07-24</a>.)</p></div></div></dd><div class="navfooter"><hr/><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="buffer-overflow.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="../B.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="bug-compatible.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">buffer overflow </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> bug-compatible</td></tr></table></div></body></html>
|