Anyone who has ever had to look for one by sifting through hundreds of lines of code will tell you that it is one of the most annoying and persistent things in a coder’s life. But how did it come to earn the peculiar nickname of bug?
To put it simply, a bug is an error or glitch that causes a software program or system to behave in a way that is unintended or incorrect. It is usually caused by mistakes in the program’s design or source code, or by the use of incorrect code. And even though we know so much about computer bugs, it turns out that we still can't quite figure out why exactly we use the word.
The most famous origin story of the computer bug belongs to Grace Hopper – one of the most celebrated female programming pioneers – and her team working on the Harvard Mark II electromechanical computer.
On September 9th, 1947 at 3:45 pm, one of the team's logbooks noted the ‘first’ computer bug which was… a real moth trapped inside the machinery! After it was extracted from the number 70 relay in Panel F of the Harvard Mark II Aiken Relay Calculator, the team taped the dead insect into a notebook with a humorous note: "[The] First actual case of a bug being found."
But is the moth trapped in Harvard’s computer really the primary reason why a bug is in fact a bug?
Even though this remarkable story went down in history as the first time that a computer bug was recorded, the term had already been used in technical contexts way before Grace Hopper's famous incident. It was used to describe problems or glitches that predate the field of computing and can be traced back to engineering and technical discussions.
Engineers started to use the term bug to name various technical malfunctions in the mid-1800s. In 1878 Thomas Edison, while working on his quadruplex telegraph system, wrote about his struggles in a letter to an associate in which he mentions a bug causing an error in his machine. Later, it was found that he often used this word in his notebooks as well.
Bug was also a part of the jargon of WWII soldiers and engineers when they were talking about glitch-prone equipment, and the word started to gain more and more popularity in the tech environment as well, eventually entering the more general language in the 20th century.
With the development of computer science, bugs started to be associated mainly with programming, and this is how we understand the term today. Some of them have even gained multinational infamy, as in the case of the Y2K bug that caused the display of the wrong date because software programs were not designed to handle dates after 1999, or the explosion of the Ariane 5 rocket – one of the most expensive bugs in history.
Piotr Świeżak, Engineering Lead in Technology Division at ET&S Poland, adds: "In our world, next to death and taxes, there is nothing more certain than there will be a day when we will play once again the infamous game of hide and seek with a semicolon. But each new error message is a new opportunity to find better solution, learn new things about limits of developed software and limits of our skills. Fail Fast, Fail Often – is the motto that was a huge driver of Silicon Valley's vibrant start-up world which created many of the most advanced technology. We shouldn’t be afraid of bugs - isn’t that, at the end of the day, simply just another undocumented feature? ;)"