It’s an often-repeated story that computer pioneer and mathematician Grace Murray Hopper (1906-1992) coined the term “bug” to refer to mysterious computer failures. As recorded by numerous sources, the story goes that early on in Hopper’s US Naval career, assigned to work at Harvard on the Mark II (a successor to the first large-scale automatic digital computer), things were going badly one night in 1947.
“There was something wrong in one of the circuits,” Hopper is quoted as saying. “Finally, someone located the trouble spot and, using ordinary tweezers, removed the problem: a two-inch moth. From then on, when anything went wrong with a computer, we said it had bugs in it.” Hopper taped the dead insect in her log book, with photographs of the page showing the moth encased in yellowed tape, accompanied by the inscription, “first actual case of bug being found.”
It’s a great story, but problematic. For one thing, you wouldn’t label something the “first actual case of” something before that something had become commonplace. Perhaps the inscription was added later, but engineers had been using the term “bugs” to describe problems in machinery for years. And three-quarters of a century earlier, in 1878, Thomas Edison told a friend about the difficulty of working out problems in his work that he referred to as “‘bugs’ – as such little faults and difficulties are called,” he wrote.
But while charming stories have a tendency to become “fact” with every retelling, there is no denying the importance of the work that Hopper accomplished in her lifetime. She was a true pioneer of computer programming who popularized the idea of machine-independent programming languages. In the face of much dissent by her peers, Hopper persevered in her belief that computer code could be written in English by using a programming language based on English words, which eventually led to the COBOL programming language at the base of every computer language still in use today.
Born Grace Brewster Murray in New York City in 1906, she entered Vassar in 1924, primarily studying physics and mathematics but also taking courses in economics, public finance, botany, physiology, geology and electronics. She graduated in 1928 with honors in physics and math, and went on to study mathematics at Yale on a Vassar fellowship. She married NYU professor Vincent Foster Hopper in 1930 (they later divorced, but she kept her married name), and the same year she graduated from Yale with a Master’s degree in mathematics.
The couple moved to Poughkeepsie when Grace was offered a job teaching math at Vassar: a position she held for 13 years, during which time she finished her doctoral thesis for Yale in absentia at Vassar and received a PhD in 1934. She taught herself several languages along the way, and audited courses at the college in numerous fields: astronomy, philosophy, bacteriology, biology, zoology, plant horticulture and architecture. Exposure to all of these disciplines enabled Hopper to appreciate the unique language and symbols of each, which influenced her later work in developing computer language.
The onset of World War II changed her life trajectory. The creation of the Navy Women’s Reserve piqued her interest and patriotic spirit, but she was rejected by the WAVES (Women Accepted for Volunteer Emergency Services) in 1942 because her weight-to-height ratio was too low. Persevering, she was admitted to the US Navy in 1943, and in 1944 was commissioned as a lieutenant junior grade.
This began a 42-year career with the Navy and her relationship with computers. Hopper was assigned to Howard Aiken’s Bureau of Ordinance Computation Project at Harvard to work on the Mark II. “There are six large-scale machines in the United States now, each with its trained crew,” she said at the time. “In the future these machines will be employed more extensively and may be adapted for use in economics and other fields.”
In 1949, Hopper became an employee of the Eckert-Mauchly Computer Corporation as a senior mathematician and joined the team developing the UNIVAC I, the first known large-scale electronic computer on the market in 1950. Hopper also served as UNIVAC director of automatic programming development for Remington Rand.
When Hopper recommended the development of a new programming language that would use entirely English words, she “was told very quickly that I couldn’t do this because computers didn’t understand English.” Her idea was not accepted for years, because “nobody believed computers could understand anything but arithmetic.”
But as Hopper explained, data processors were not symbol manipulators. “Very few people are really symbol manipulators,” she said. “If they are, they become professional mathematicians, not data processors. It’s much easier for most people to write an English statement than it is to use symbols. So I decided data processors ought to be able to write their programs in English, and the computers would translate them into machine code.”
In 1952, Hopper and her team created the first compiler for computer languages. A compiler is a program that translates human-readable source code into computer-executable machine code. “That was the beginning of COBOL, a computer language for data processors [the word is an acronym for COmmon Business-Oriented Language],” she said. “I could say ‘subtract income tax from pay’ instead of trying to write that in octal code or using all kinds of symbols.”
Hopper retired from the Naval Reserve with the rank of commander at age 60 at the end of 1966. She was recalled to active duty in August 1967 before again retiring in 1971, but was once again asked to return to active duty in 1972. She was promoted to captain in 1973 and then commodore in 1983. Two years later the designation of commodore was renamed “rear admiral lower half” and Hopper became one of the Navy’s few female admirals.
Admiral Hopper took mandatory retirement from the Navy on August 14, 1986. At a celebration held in Boston on the USS Constitution, Hopper was awarded the Defense Distinguished Service Medal, the highest non-combat decoration awarded by the Department of Defense. At the time of her retirement, she was the oldest active-duty commissioned officer in the US Navy (79 years, eight months and five days).
Referred to affectionately as “Amazing Grace,” Hopper was awarded 40 honorary university degrees during her lifetime. She traded quips with David Letterman on his late-night television show and was the subject of a 60 Minutes profile. The US Navy Arleigh Burke-class guided-missile destroyer USS Hopper was named for her, as were the Cray XE6 “Hopper” supercomputer at the National Energy Research Scientific Computing Center (NERSC) and a college at Yale University. In 1991, she received the National Medal of Technology and in November of 2016 was posthumously awarded the Presidential Medal of Freedom by president Barack Obama.
After her retirement from the Navy, Hopper was hired as a senior consultant at the Digital Equipment Corporation, a position she retained until the end of her life at age 85 in 1992. Lively and irreverent, she was also a goodwill ambassador of sorts, lecturing widely about the early days of computing and always attired in full Naval dress uniform.
“The most important thing I’ve accomplished, other than building the compiler, is training young people,” she would say in her later years. “They come to me, you know, and say, ‘Do you think we can do this?’ I say, “Try it.” And I back ’em up. They need that.” The worst thing people can say, she would add, is “We never did it like that before.”