Rear Admiral Dr. Grace Murray Hopper was a remarkable woman who grandly rose to the challenges of programming the first computers. During her lifetime as a leader in the field of software development concepts, she contributed to the transition from primitive programming techniques to the use of sophisticated compilers. She believed that “we’ve always done it that way” was not necessarily a good reason to continue to do so.
Grace Brewster Murray was born on December 9, 1906 in New York City. In 1928 she graduated from Vassar College with a BA in mathematics and physics and joined the Vassar faculty. While an instructor at Vassar, she continued her studies in mathematics at Yale University, where she earned an MA in 1930 and a PhD in 1934. She was one of four women in a doctoral program of ten students, and her doctorate in mathematics was a rare accomplishment in its day.
In 1930 Grace Murray married Vincent Foster Hopper. (He died in 1945 during World War II, and they had no children.) She remained at Vassar as an associate professor until 1943, when she joined the United States Naval Reserve to assist her country in its wartime challenges. After USNR Midshipman’s School-W, she was assigned to the Bureau of Ordnance Computation Project at Harvard University, where she worked at Harvard’s Cruft Laboratories on the Mark series of computers. In 1946 Admiral Hopper resigned her leave of absence from Vassar to become a research fellow in engineering and applied physics at Harvard’s Computation Laboratory. In 1949 she joined the Eckert-Mauchly Computer Corporation as a Senior Mathematician. This group was purchased by Remington Rand in 1950, which in turn merged into the Sperry Corporation in 1955. Admiral Hopper took military leave from the Sperry Corporation from 1967 until her retirement in 1971.
Throughout her years in academia and industry, Admiral Hopper was a consultant and lecturer for the United States Naval Reserve. After a seven-month retirement, she returned to active duty in the Navy in 1967 as a leader in the Naval Data Automation Command. Upon her retirement from the Navy in 1986 with the rank of Rear Admiral, she immediately became a senior consultant to Digital Equipment Corporation, and remained there several years, working well into her eighties. She died in her sleep in Arlington, Virginia on January 1, 1992.
During her academic, industry, and military tenure, Admiral Hopper’s numerous talents were apparent. She had outstanding technical skills, was a whiz at marketing, repeatedly demonstrated her business and political acumen, and never gave up on her good ideas.
Programming the First Computers
Perseverance was on of the personality traits that made Grace Murray Hopper a great leader. On her arrival at Cruft Laboratory she immediately encountered the Mark I computer. For her it was an attractive gadget, similar to the alarm clocks of her youth; she could hardly wait to disassemble it and figure it out. Admiral Hopper became the third person to program the Mark I. She received the Naval Ordnance Development Award for her pioneering applications programming success on the Mark I, Mark II, and Mark III computers.
A true visionary, Admiral Hopper conceptualized how a much wider audience could use the computer if there were tools that were both programmer-friendly and application-friendly. In pursuit of her vision she risked her career in 1949 to join the Eckert-Mauchly Computer Corporation and provide businesses with computers. There she began yet another pioneering effort of UNIVAC I, the first large-scale electronic digital computer. To ease their task, Admiral Hopper encouraged programmers to collect and share common portions of programs. Even though these early shared libraries of code had to be copied by hand, they reduced errors, tedium, and duplication of effort.
By 1949 programs contained mnemonics that were transformed into binary code instructions executable by the computer. Admiral Hopper and her team extended this improvement on binary code with the development of her first compiler, the A-O. The A-O series of compilers translated symbolic mathematical code into machine code, and allowed the specification of call numbers assigned to the collected programming routines stored on magnetic tape. One could then simply specify the call numbers of the desired routines and the computer would “find them on the tape, bring them over and do the additions. This was the first compiler,” she declared.
Admiral Hopper believed that the major obstacle to computers in non-scientific and business applications was the dearth of programmers for these far from user-friendly new machines. The key to opening up new worlds to computing, she knew, was the development and refinement of programming languages - languages that could be understood and used by people who were neither mathematicians nor computer experts. It took several years for her to demonstrate that this idea was feasible.
Early Compilers and Validation
Pursuing her belief that computer programs could be written in English, Admiral hopper moved forward with the development for Univac of the B-O compiler, later known as FLOW-MATIC. It was designed to translate a language that could be used for typical business tasks like automatic billing and payroll calculation. Using FLOW-MATIC, Admiral Hopper and her staff were able to make the UNIVAC I and II “understand” twenty statements in English. When she recommended that an entire programming language be developed using English words, however, she “was told very quickly that [she] couldn’t do this because computers didn’t understand English.” It was three years before her idea was finally accepted; she published her first compiler paper in 1952.
Admiral Hopper actively participated in the first meetings to formulate specifications for a common business language. She was one of the two technical advisers to the resulting CODASYL Executive Committee, and several of her staff were members of the CODASYL Short Range Committee to define the basic COBOL language design. The design was greatly influenced by FLOW-MATIC. As one member of the Short Range Committee stated, “[FLOW-MATIC] was the only business-oriented programming language in use at the time COBOL development started… Without FLOW-MATIC we probably never would have had a COBOL.” The first COBOL specifications appeared in 1959.
Admiral Hopper devoted much time to convincing business managers that English language compilers such as FLOW-MATIC and COBOL were feasible. She participated in a public demonstration by Sperry Corporation and RCA of COBOL compilers and the machine independence they provided. After her brief retirement from the Navy, Admiral Hopper led an effort to standardize COBOL and to persuade the entire Navy to use this high-level computer language. With her technical skills, she lead her team to develop useful COBOL manuals and tools. With her speaking skills, she convinced managers that they should learn to use them.
Another major effort in Admiral Hopper’s life was the standardization of compilers. Under her direction, the Navy developed a set of programs and procedures for validating COBOL compilers. This concept of validation has had widespread impact on other programming languages and organizations; it eventually led to national and international standards and validation facilities for most programming languages.
Admiral Grace Murray Hopper received many awards and commendations for her accomplishments. In 1969, she was awarded the first ever Computer Science Man-of-the-Year Award from the Data Processing Management Association. In 1971, the Sperry Corporation initiated an annual award in her name to honor young computer professionals for their significant contributions to computer science. In 1973, she became the first person from the United States and the first woman of any nationality to be made a Distinguished Fellow of the British Computer Society.
After four decades of pioneering work, Admiral Hopper felt her greatest contribution had been “all the young people I’ve trained.” She was an inspirational professor and a much sought-after speaker, in some years she addressed more than 200 audiences. In her speeches Admiral Hopper often used analogies and examples that have become legendary. Once she presented a piece of wire about a foot long, and explained that it represented a nanosecond, since it was the maximum distance electricity could travel in wire in one-billionth of a second. She often contrasted this nanosecond with a microsecond - a coil of wire nearly a thousand feet long - as she encouraged programmers not to waste even a microsecond.
When Admiral Grace Murray Hopper died, the world lost an inspiration to women and scientists everywhere. Her outstanding contributions to computer science benefited academia, industry, and the military. Her work spanned programming languages, software development concepts, compiler verification, and data processing. Her early recognition of the potential for commercial applications of computers, and her leadership and perseverance in making this vision a reality, paved the way for modern data processing.
This story is copied, with permission, from the Grace Hopper Celebration of Women in Computing 1994 conference proceedings.