Publication | Legaltech News
Nervous System: The Day Grace Hopper Literally Debugged a Program
David Kalat writes about US Navy Rear Admiral Grace Hopper, a computer scientist who helped popularize the term “debugging.”
The field of computer science is full of strange and sometimes off-putting jargon. Some words and turns of phrase are the inevitable result of trying to name ethereal concepts using a language that evolved to describe the physical world of everyday experience. Other times, jargon is perfectly sensible terminology if you happen to be trained in an obscure subspecialty, and it only seems weird to outsiders. A few terms are the result of an inside joke. And sometimes, techno-speak seems almost too silly to contemplate.
For example, “debugging” a program is the process of identifying and removing errors and anomalies in a computer program. The story goes that this term comes from an incident in 1947 when a technician discovered that Harvard University’s Mark II calculating computer was malfunctioning because there was a dead moth stuck to one of the computer’s mechanical relays, and that in order to fix the problem, the actual bug had to be peeled off and removed.
To add to the deliciousness of the literal pun, the technician was named “Grace Hopper” (say it quickly).
Fans of urban legends may at this point be reminded of the story that Thomas Crapper invented the flush toilet—an exaggeration that took root in the popular consciousness thanks to a pun. Looking beneath the pun here, the story of Grace Hopper and the moth turns out to be true, although perhaps not the actual origin of the phrase.
US Navy Rear Admiral Grace Hopper was a real person and a legendary figure in computer history to boot. In 1928, she completed dual degrees in math and physics at Vassar College and joined its faculty. While teaching at Vassar, she pursued graduate studies in math at Yale University and completed her PhD in 1934. This was a time when it was still rare for women to attend college at all, and when the Great Depression encouraged those who did to pursue pragmatic, job-oriented degrees in women-dominated fields like nursing and social work. In 1943, Hopper left Vassar to join the Navy and use her mathematical prowess to help fight the war.
After the war, Hopper became a pioneering computer scientist, and it was in this capacity that she was working on the Mark series of computers at Harvard, where she famously encountered the moth.
The moth too was definitely a once-living thing. After Hopper removed it from the relay, she cheekily taped the insect’s corpse to her logbook along with the handwritten legend: “First actual case of bug being found.” The page from her logbook with the moth is at the Smithsonian’s Museum of American History, and she reveled in telling the story through the years.
While the event—and Hopper’s glee in retelling it—helped popularize the term “debugging,” the origin of the term goes back well before Hopper’s time. “Bug” is an ancient word for monster (see also “bugbear,” “bugaboo,” and “boogeyman”). For superstitious types who ascribed unexpected faults and errors on the intervention of goblins, the act of rooting out such mischief-makers fell to those who would de-bug things. The term “debug” appears sporadically throughout engineering documents from the early twentieth century. Thomas Edison wrote a letter in 1878 bemoaning how “‘Bugs’—as such little faults and difficulties are called—show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.”
Hopper was especially keen on finding ways to make computer science more accessible and to make its terminology more colloquial. One challenge she confronted as a programmer was the fact that software needs to be in the binary language of machines in order to be run, but humans are generally poor at reading and writing in binary. Code is therefore written in a higher-level programming language and then translated into binary by a process called a “compiler.” As it happens, Hopper was the person who coined the term “compiler,” and she wrote one of the first examples of one. She later helped develop COBOL and FORTRAN, more user-friendly programming languages. Her goal was that one day, people would write code in natural language and let sophisticated compilers do the work of translating that into machine-speak.
“Amazing Grace” Hopper retired from the Naval Reserve in 1966 as a commander, but a 1983 60 Minutes profile on her prompted Congress to pass a joint resolution that resulted in a presidential appointment to the rank of commodore. That rank was later renamed “rear admiral,” making Hopper one of the few female admirals in the US Navy.
The views and opinions expressed in this article are those of the author(s) and do not necessarily reflect the opinions, position, or policy of Berkeley Research Group, LLC or its other employees and affiliates.