Grace Hopper

With the longest active military career, Rear Admiral Grace Hopper (1906-1992) was also known as "Amazing Grace" and "Grand Old Lady of Software." She played an instrumental role in the development of the COBOL computer programming language.

Grace Hopper, who rose through Navy ranks to become a rear admiral at age eighty-two, is best known for her contribution to the design and development of the COBOL programming language for business applications. Her professional life spanned the growth of modern computer science, from her work as a young Navy lieutenant programming an early calculating machine to her creation of sophisticated software for microcomputers. She was an influential force and a legendary figure in the development of programming languages. In 1991, President George Bush presented her with the National Medal of Technology "for her pioneering accomplishments" in the field of data processing.

Admiral Hopper was born Grace Brewster Murray on December 9, 1906, in New York City. She was the first child of Marry Campbell Van Horne Murray and Walter Fletcher Murray. Encouraged by her parents to develop her natural mechanical abilities, she disassembled and examined gadgets around the home, and she excelled at mathematics in school. Her grandfather had been a senior civil engineer for New York City who inspired her strong interest in geometry and mathematics.

At Vassar College, Hopper indulged her mathematical interests, and also took courses in physics and engineering. She graduated in 1928, then attended Yale, where she received a master's degree in 1930 and a doctorate in 1934. These were rare achievements, especially for a woman. As Robert Slater points out in Portraits in Silicon, U.S. doctorates in mathematics numbered only 1, 279 between 1862 and 1934. Despite bleak prospects for female mathematicians in teaching beyond the high school level, Vassar College hired her first as an instructor, then as a professor of mathematics. Hopper taught at Vassar until the beginning of World War II. She lived with her husband, Vincent Foster Hopper, whom she had married in 1930. They were divorced in 1945 and had no children.

In 1943, Hopper joined the U.S. Naval Reserve, attending midshipman's school and obtaining a commission as a lieutenant in 1944. She was immediately assigned to the Bureau of Ships Computation Project at Harvard. The project, directed by Howard Aiken, was her first introduction to Aiken's task, which was to devise a machine that would assist the Navy in making rapid, difficult computations for such projects as laying a mine field. In other words, Aiken was in the process of building and programming America's first programmable digital computer—the Mark I.

For Hopper, the experience was both disconcerting and instructive. Without any background in computing, she was handed a code book and asked to begin computations. With the help of two ensigns assigned to the project and a sudden plunge into the works of computer pioneer Charles Babbage, Hopper began a crash course on the current state of computation by way of what Aiken called "a computing engine."

The Mark I was the first digital computer to be programmed sequentially. Thus, Hopper experienced firsthand the complexities and frustration that have always been the hallmark of the programming field. The exacting code of machine language could be easily misread or incorrectly written. To reduce the number of programming errors, Hopper and her colleagues collected programs that were free of error and generated a catalogue of subroutines that could be used to develop new programs. By this time, the Mark II had been built. Aiken's team used the two computers side by side, effectively achieving an early instance of multiprocessing.

By the end of the war, Hopper had become enamored of Navy life, but her age —a mere forty years—precluded a transfer from the WAVES into the regular Navy. She remained in the Navy Reserves and stayed on at the Harvard Computational Laboratory as a research fellow, where she continued her work on the Mark computer series. The problem of computer errors continued to plague the Mark team. One day, noticing that the computer had failed, Hopper and her colleagues discovered a moth in a faulty relay. The insect was removed and fixed to the page of a logbook as the "first actual bug found." The words "bug" and "debugging, " now familiar terms in computer vocabulary, are attributed to Hopper. In 1949, she left Harvard to take up the position of senior mathematician in a start-up company, the Eckert-Mauchly Computer Corporation. Begun in 1946 by J. Presper Eckert and John Mauchly, the company had by 1949 developed the Binary Automatic Computer, or BINAC, and was in the process of introducing the first Universal Automatic Computer, or UNIVAC. The Eckert-Mauchly UNIVAC, which recorded information on high-speed magnetic tape rather than on punched cards, was an immediate success. The company was later bought by Sperry Corporation. Hopper stayed with the organization and in 1952 became the systems engineer and director of automatic programming for the UNIVAC Division of Sperry, a post she held until 1964.

Hopper's association with UNIVAC resulted in several important advances in the field of programming. Still aware of the constant problems caused by programming errors, Hopper developed an innovative program that would translate the programmer's language into machine language. This first compiler, called "A-O, " allowed the programmer to write in a higher-level symbolic language, without having to worry about the tedious binary language of endless numbers that were needed to communicate with the machine itself.

One of the challenges Hopper had to meet in her work on the compiler was that of how to achieve "forward jumps" in a program that had yet to be written. In Grace Hopper, Navy Admiral and Computer Pioneer, Charlene Billings explains that Hopper used a strategy from her schooldays—the forward pass in basketball. Forbidden under the rules for women's basketball to dribble more than once, one teammate would routinely pass the basketball down the court to another, then run down the court herself and be in a position to receive the ball and make the basket. Hopper defined what she called a "neutral corner" as a little segment at the end of the computer memory which allowed her a safe space in which to "jump forward" from a given routine, and flag the operation with a message. As each routine was run, it scouted for messages and jumped back and forth, essentially running in a single pass.

During the early 1950s, Hopper began to write articles and deliver papers on her programming innovations. Her first publication, "A Manual of Operation for the Automatic Sequence Controlled Calculator, " detailed her initial work on Mark I. "The Education of a Computer, " offered in 1952 at a conference of the Association of Computing Machinery, outlined many ideas on software. An article appearing in a 1953 issue of Computers and Automation, "Compiling Routines, " laid out principles of compiling. In addition to numerous articles and papers, Hopper published a book on computing entitled Understanding Computers, with Steven Mandrell.

Having demonstrated that computers are programmable and capable not only of doing arithmetic, but manipulating symbols as well, Hopper worked steadily to improve the design and effectiveness of programming languages. In 1957, she and her staff at UNIVAC created Flow-matic, the first program using English language words. Flow-matic was later incorporated into COBOL, and, according to Jean E. Sammet, constituted Hopper's most direct and vital contribution to COBOL.

The story of COBOL's development illustrated Hopper's wide-reaching influence in the field of programming. IBM had developed FORTRAN, the densely mathematical programming language best suited to scientists. But no comparable language existed for business, despite the clear advantages that computers offered in the area of information processing.

By 1959, it was obvious that a standard programming language was necessary for the business community. Flow-matic was an obvious prototype for a business programming language. At that time, however, IBM and Honeywell were developing their own competing programs. Without cooperative effort, the possibility of a standard language to be used throughout the business world was slim. Hopper, who campaigned for standardization of computers and programming throughout her life, arguing that the lack of standardization created vast inefficiency and waste, was disturbed by this prospect.

The problem was how to achieve a common business language without running afoul of anti-trust laws. In April 1959, a small group of academics and representatives of the computer industry, Hopper among them, met to discuss a standard programming language specifically tailored for the business community. They proposed contacting the Defense Department, which contracted heavily with the business industry, to coordinate a plan, and in May a larger group met with Charles Phillips. The result was the formation of several committees charged with overseeing the design and development of the language that would eventually be known as COBOL—an acronym for "Common Business Oriented Language." Hopper served as a technical advisor to the Executive Committee.

The unique and far-ranging aspects of COBOL included its readability and its portability. Whereas IBM's FORTRAN used a highly condensed, mathematical code, COBOL used common English language words. COBOL was written for use on different computers and intended to be independent of any one computer company. Hopper championed the use of COBOL in her own work at Sperry, bringing to fruition a COBOL compiler concurrently with RCA in what was dubbed the "Computer Translating Race." Both companies successfully demonstrated their compilers in late 1960.

Hopper was elected a fellow of the Institute of Electrical and Electronics Engineers (IEEE) in 1962 and of the American Association for the Advancement of Science (AAAS) in 1963. She was awarded the Society of Women Engineers Achievement Award in 1964. She continued her work with Sperry, and in 1964 was appointed staff scientist of systems programming, in the UNIVAC Division.

While at Sperry, Hopper remained active in the Navy Reserves, retiring with great reluctance in 1966. But only seven months later, she was asked to direct the standardization of high level languages in the Navy. She returned to active duty in 1967 and was exempted from mandatory retirement at age of sixty-two. She served in the Navy until age seventy-one.

Although she continued to work at Sperry Corporation until 1971, her activities with the Navy brought her increasing recognition as a spokesperson for the usefulness of computers. In 1969, she was named "Man of the Year" by the Data Processing Management Association. In the next two decades, she would garner numerous awards and honorary degrees, including election as a fellow of the Association of Computer Programmers and Analysts (1972), election to membership in the National Academy of Engineering (1973), election as a distinguished fellow of the British Computer Society (1973), the Navy Meritorious Service Medal (1980), induction into the Engineering and Science Hall of Fame (1984), and the Navy Distinguished Service Medal (1986). She lectured widely and took on vested interests in the computer industry, pushing for greater standardization and compatibility in programming and hardware.

Hopper's years with the Navy brought steady promotions. She became captain on the retired list of the Naval Reserve in 1973 and commodore in 1983. In 1985 she earned the rank of rear admiral before retiring in 1986. But her professional life did not end there. She became a senior consultant for the Digital Equipment Corporation immediately after leaving the Navy and worked there until her death, on January 1, 1992. In its obituary, the New York Times noted that "[l]ike another Navy figure, Admiral Rickover, Admiral Hopper was known for her combative personality and her unorthodox approach." Unlike many of her colleagues in the early days of computers, Hopper believed in making computers and programming languages increasingly available and accessible to nonspecialists.


Further Reading on Grace Hopper

Billings, Charlene W., Grace Hopper, Navy Admiral and Computer Pioneer, Enslow, 1989.

Slater, Robert, Portraits in Silicon, MIT Press, 1987.

New York Times, January 3, 1992.

Sammet, Jean E., "Farewell to Grace Hopper—End of an Era!, " in Communications of the AMC, April, 1992.