In February 1945, with World War II dragging into its sixth year, the United States Navy entered a contract with a team of scientists at Harvard University to build a computer. Having been impressed by a demonstration of the Mark I, an electromechanical computer used to study implosions for the Manhattan Project, Navy higher-ups believed a similar device could assist in ballistic calculations.
Howard Aiken and Grace Hopper accepted the challenge.
Although similar in design, the Mark II (as it became known) used high-speed electromagnetic relays instead of the electro-mechanical counters used in the Mark I, making it much faster than its predecessor. It weighed 23 tons and occupied over 4,000 square feet of floor space. The computer was to be delivered to US Navy Proving Ground at Dahlgren, Virginia as soon as possible.
But just one week after Americans celebrated the signing of the instrument of surrender by Japan and representatives from nine Allied countries, officially ending World War II, the Mark II began presenting consistent errors. Frustrated, Aiken and Hopper’s team exhausted every avenue to try and find the source. They were still on a deadline, after all. World War II may have been over, but rumblings from the Soviets were already leaving military brass on edge; Mark II’s calculations were needed now more than ever.
Eventually, the team gave up and decided to open up the inner workings of the computer….only to discover a live moth trapped between relay points. The bug was disrupting communication between the various parts of the machine, resulting in the malfunction. After removing the insect, Hopper taped it inside the computer’s log book beside the words “Relay #30: Panel F (moth) in relay. First actual case of a bug being found.”
While the term “bug” had been in use in engineering for some time (even Edison used it as an expression of problems in a few of his invention), this discovery–and annotation by Hopper–led to wide-spread use among computer programmers and scientists to convey issues within their devices. And Hopper’s literal debugging of the Mark II also ushered in a completely new terminology to deal with these issues: “debugging.”
Nowadays, “debugging” has become a full-time profession, with teams specializing in stopping and removing the thousands upon thousands of bugs, worms, viruses, and malware that threaten and plague computer users world-wide. But I can’t help but wonder if these modern day computer programmers secretly wish for the days when avoiding computer bugs was as simple as keeping the windows closed.