Why do we call them ‘Bugs’?

I’ve read a great deal about the origin of the word ‘Bug’ in computer software. You’d have thought the argument was settled ages ago when everyone agreed that In 1947, the Harvard Faculty at the Computation Laboratory traced an error in the Mark II computer to a moth trapped in a relay, thereby coining the term ‘bug’. This bug was carefully removed and taped to the logbook which still exists.

Actually, the incident was recorded only because it was the first time a bug had been caused by a real Bug. It was amusing at the time only because the term was in common usage. In fact, the word had been common in the telephone industry for many years. There is an apocryphal story that the word was coined after the noise on the telephone line, because it sounded like the sound a cockroach makes. Sadly this is all nonsense. The word has been used in engineering since the nineteenth century.

The word ‘bug’ actually is short for Bugbear. (sometimes found as Bugaboo). It’s meaning is much closer to ‘Gremlin’, where the people who worked on engineering prototypes often grew to suspect that the problems were due to malicious spooks. I sometimes even still hear it said that some software is cursed with malicious spirits. The ‘Bug’ or ‘Bogey’ part of the word is traceable back to the fifteenth century in the meaning of ‘Hobgoblin’, devil or ghost. In East Anglia particularly, the word Bugbear’, first recorded in the sixteenth century, is still used in referring to problems with machinery.

A Bugbear is a malicious spirit, and the word has nothing whatsoever to do with insects

In celebration of the finding of the real meaning of the word ‘bug’ I offer the following verses

I always hope there is no place
for bugbears in my database
and wish that noone ever sees
a bugbear in my foreign keys.

So bugbear go! for I don’t need’ya
bugging up my stored procedure
causing table locks, and things
suddenly truncating strings,
endless loops and other terrors
like rogue spids and rounding errors.
Bugbears causing sudden death
in a tested UDF
Routines that have worked for days,
fail in unexpected ways

It’s the bugbears at their game
surely I am not to blame.
Is the database offline?
it’s the bugbears’ fault not mine

I suspect that there is a gap in the market for a new type of utility software, one that drives out the malicious spirits infecting a piece of code. To this end we announce the availability of two  software applications: the first that removes the curse of bugbears from a piece of software, and another that one can use to curse other people’s software with bugbears. Any volunteers for helping with Beta Testing in both categories should contact me.