Grace Murray Hopper was an American computer scientist and United States Navy rear admiral. A pioneer in the field, she was one of the first programmers of the Harvard Mark I computer, and developed the first compiler for a computer programming language. She popularized the idea of machine-independent programming languages, which led to the development of COBOL, one of the first modern programming languages.
She is credited with popularizing the term "debugging" for fixing computer glitches (inspired by an actual moth removed from the computer). Owing to the breadth of her accomplishments and her naval rank, she is sometimes referred to as "Amazing Grace". The U.S. Navy destroyer USS Hopper (DDG-70) is named for her, as was the Cray XE6 "Hopper" supercomputer at NERSC.
Early Life and Education
Hopper was born Grace Brewster Murray in New York City. She was the oldest in a family of three children. She was curious as a child, a lifelong trait; at the age of seven she decided to determine how an alarm clock worked, and dismantled seven alarm clocks before her mother realized what she was doing (she was then limited to one clock). For her preparatory school education, she attended the Hartridge School in Plainfield, New Jersey. Rejected for early admission to Vassar College at age 16 (her test scores in Latin were too low), she was admitted the following year. She graduated Phi Beta Kappa from Vassar in 1928 with a bachelor's degree in mathematics and physics and earned her master's degree at Yale University in 1930.
In 1934, she earned a Ph.D. in mathematics from Yale under the direction of Øystein Ore. Her dissertation, New Types of Irreducibility Criteria, was published that same year. Hopper began teaching mathematics at Vassar in 1931, and was promoted to associate professor in 1941.
World War II
In 1943, during World War II, Hopper was sworn into the United States Navy Reserve, one of many women to volunteer to serve in the WAVES. Hopper graduated first in her class in 1944, and was assigned to the Bureau of Ships Computation Project at Harvard University as a lieutenant, junior grade.
She served on the Mark I computer programming staff headed by Howard H. Aiken. Hopper and Aiken coauthored three papers on the Mark I, also known as the Automatic Sequence Controlled Calculator. Hopper's request to transfer to the regular Navy at the end of the war was declined due to her age (38). She continued to serve in the Navy Reserve. Hopper remained at the Harvard Computation Lab until 1949, turning down a full professorship at Vassar in favor of working as a research fellow under a Navy contract at Harvard.
In 1949, Hopper became an employee of the Eckert–Mauchly Computer Corporation as a senior mathematician and joined the team developing the UNIVAC I. In the early 1950s the company was taken over by the Remington Rand corporation and it was while she was working for them that her original compiler work was done.
The compiler was known as the A compiler and its first version was A-0. In 1952 she had an operational compiler. "Nobody believed that," she said. "I had a running compiler and nobody would touch it. They told me computers could only do arithmetic." In 1954 Hopper was named the company's first director of automatic programming, and her department released some of the first compiler-based programming languages, including MATH-MATIC and FLOW-MATIC.
In the spring of 1959, a two-day conference known as the Conference on Data Systems Languages (CODASYL) brought together computer experts from industry and government. Hopper served as the technical consultant to the committee, and many of her former employees served on the short-term committee that defined the new language COBOL (an acronym for COmmon Business-Oriented Language).
Hopper's belief that programs should be written in a language that was close to English (rather than in machine code or in languages close to machine code, such as assembly languages) was captured in the new business language, and COBOL went on to be the most ubiquitous business language to date.
In the 1970s, Hopper advocated for the Defense Department to replace large, centralized systems with networks of small, distributed computers. Any user on any computer node could access common databases located on the network. She pioneered the implementation of standards for testing computer systems and components.
The Navy tests for conformance to these standards led to significant convergence among the programming language dialects of the major computer vendors. In the 1980s, these tests (and their official administration) were assumed by the National Bureau of Standards (NBS), known today as the National Institute of Standards and Technology (NIST).
Hopper retired from the Naval Reserve at age 60, in accordance with Navy attrition regulations, with the rank of commander at the end of 1966. She was recalled to active duty in August 1967 for a six-month period that turned into an indefinite assignment. She again retired in 1971, but was asked to return to active duty again in 1972. She was promoted to captain in 1973 by Admiral Elmo R. Zumwalt, Jr. In March 1983 she was promoted to commodore by a special Presidental appointment.
She was then hired as a senior consultant to Digital Equipment Corporation, a position she retained until her death in 1992, aged 85. She was interred with full military honors in Arlington National Cemetery.