(Born December 9, 1906, in New York City; died January 1, 1992, in Arlington, Virginia)
Long before she wore a Navy uniform herself, Grace Hopper looked up to her great-grandfather, Admiral Alexander Russell, and she kept him as her role model for the rest of her life. With a family that encouraged her early curiosity about science and mathematics, she graduated from Vassar College in New York in 1928 and won a fellowship to pursue a master’s degree at Yale University, where she went on to earn a Ph.D. in 1934.
In 1943, in the middle of World War II, she joined the U.S. Naval Reserve and finished her officer training as a lieutenant. Her first posting took her to Harvard to work on the Mark I, one of the first electromechanical computers and a forerunner of the machines we use today.
Over a long research career, the woman known as Amazing Grace or Grandma COBOL worked on the teams that built the first commercial computers and laid the groundwork for COBOL, the first programming language designed for business data processing.
She spent her whole life moving between science, military service, and academic work.
In Management and the Computer of the Future (1962), she summed up what programming meant to her: “To me programming is more than an important practical art. It is also a gigantic undertaking in the foundations of knowledge.”
Key contributions to computing
Grace Hopper ranks among the most influential women in computer science.
Of all the discoveries and research projects of her long career, several stand out because they laid the foundations for the computer science and computing of the decades that followed:
- A-0 System: written in 1951 and 1952, it was the first compiler designed for an electronic computer.
- UNIVAC I: released in 1951, it was the first commercial computer made in the United States.
- FLOW-MATIC: developed between 1955 and 1959, it was the first programming language to use English-like statements.
- COBOL: short for COmmon Business-Oriented Language. Created in 1959 as one of the first programming languages built for business, it is still widely used in the financial systems of companies and governments around the world.
Other milestones and honors
Hopper’s influence went beyond her technical work. She was also known for teaching and for explaining computing to the public, and she received many honors along the way:
- In 1969, she was named Computer Sciences “Man of the Year.”
- In 1973, she became the first woman named a Distinguished Fellow of the British Computer Society.
- She popularized the term debugging for the process of finding, locating, and fixing errors in a program’s code.
- She rose to the rank of rear admiral in the U.S. Navy.
- Her colorful war stories and lively, entertaining style at the podium made her one of the most sought-after speakers at computing events around the world.
- She devoted much of her life to teaching, and she insisted that everyone, young people above all, should understand technology and get hands-on experience with it.
- The undersea fiber-optic cable linking the United States, the United Kingdom, and Spain is named after her.
Compilers and their link to natural language
A compiler is a program that translates one programming language into another, usually into low-level code that a computer can understand and run.
Because compilers let programmers write in something close to natural language, code becomes easier to write, read, and maintain, and building software becomes more efficient.
A compiler processes a programming language in several phases that analyze the code and translate it into the target language:
- Lexical analysis: turns characters into meaningful units of the language, known as tokens.
- Syntax analysis: checks for syntax errors and verifies that the source language is used correctly.
- Semantic analysis: catches errors such as undeclared variables or misused operators.
Once the compiler has worked through these phases, the output is code in the new language.
Grace Hopper built much of her career around this idea, developing compilers and programming languages whose instructions read as close to English as possible so that people could understand and use them more easily.
Where the term “bug” comes from
In 1947, Grace Hopper was working on the Mark II computer at Harvard University when one of the machine’s relays failed, and the team traced the problem to a moth caught inside it.
Hopper’s research team logged the incident by taping the moth into the logbook beside a note that read “First actual case of bug being found.”
Thomas Edison had used the word almost 70 years earlier to describe mechanical problems, but Hopper’s team was the first to tie a real insect to a computer error. Ever since, bug has been the standard term for errors in computer programs and systems.
