Grace Brewster Murray Hopper: Mathematician, Computer Science Pioneer
Grace Hopper (1906-1992) was a pioneer in coding, and an innovative system builder who concentrated on building compilers and generators—the tools that later supported the definitions of the computer languages she invented and co-invented. This blog highlights a rare copy of the manual of operations for the Mark 1 computer written by Grace Hopper during WWII, and to tell the story of how she was able to accomplish this monumental task.
Born in New York City, Grace Hopper graduated from Vassar College with degrees in math and physics. After becoming a member of Vassar’s faculty in the late 1920s, she earned her Ph.D. in math from Yale University in 1934. In 1941, Hopper took a sabbatical from Vassar and studied under mathematician Richard Courant (APS 1953) at his Institute for Mathematics and Mechanics at New York University. Before the invention of the electronic computer, Courant stressed the importance of mathematical methods that gave actual arithmetic results rather than abstract conclusions to be translated into numbers. Grace focused her studies on methods for solving partial differential equations using finite differences, which served her well as the third programmer of the world’s first computer (then under construction in Endicott, NY).
In 1942 she wanted to join the war effort with the Women’s Navy Reserves (WAVES), but was rejected because at 95 pounds, she didn’t meet the weight standards. By 1943 she obtained a waiver, and was a commissioned officer in 1944, with orders to join Howard Aiken’s Bureau of Ordinance Computation Project at Harvard to work on his brainchild, the Automatic Sequence Controlled Calculator. Aiken had been inspired by Charles Babbage’s 1820s calculating engine described in the publication, On the Economy of Machinery and Manufactures.
Aiken’s calculator and Grace Hopper both arrived at Harvard labs within a couple of months of each other. The calculator was built at IBM labs in Endicott, NY, and Hopper came from basic training at Smith College, Northampton, MA. Her mind was a perfect match to explain and write code for the first large scale digital computer, christened Mark 1. Measuring 50 feet long by 8 feet high, weighing nearly 5 tons, it was an interconnection of wheels, shafts, gears and switches containing 530 miles of wire, 3,500 electromechanical relays and 2,300 storage counters all orchestrated by a 3 inch wide punch tape. Software was hardware as each new equation put into the calculator involved manually changing the pattern of switches.
Upon her arrival, Howard Aiken handed Hopper a book of instruction codes that had been hastily written down following test runs by the number two programmer, Robert Campbell. After working out the interpolation coefficients for the inverse tangent function, not a difficult problem for a mathematics professor, Hopper took on the task of writing the manual for the mammoth Mark 1.
In 1944, John Von Neumann (APS 1938) of the Manhattan Project came calling to see if Mark 1 could solve a partial differential equation. He needed to know what the exact pressure points and charge positionings were to create conditions necessary to make a sphere collapse on itself at a specific rate. After three months of calculations that Grace helped code, Mark 1 produced the results, thereby solving the implosion problem needed to build nuclear bombs.
In 1949 Grace joined the Eckert-Mauchly Computer Corporation in Philadelphia as senior mathematician to work on UNIVAC 1 (Universal Automatic Computer). By 1952, Grace had been inspired by the writing of Betty Holbertson, a coder who worked on the Electronic Numerical Integrator (ENIAC), the first electronic computer, and realized that a computer could be made to do anything she could completely define, using code that was not the original code of a computer.
Now Director of Programming at Eckert-Mauchly, in December of 1953, she explained that she:
“...proposed to management that mathematical programs should be written in mathematical notation, data processing programs should be written in English statements, and we would be delighted to supply the two corresponding compilers to translate to machine code. I was promptly told that I could not do that. And this time the reason was that computers couldn't understand English words. Well, I allowed as to how I never expected any computer anywhere to understand anything; that all I intended to do was to compare bit patterns. But it was not until January of 1955 that we were able to write a formal proposal for writing a data processing compiler.”
In her spare time, Hopper developed the programming solution known as Flow Matic. Flow Matic fed into the development of COBOL, (Common Business Oriented Language), the programming language that brought computer use and data processing to commerce. Grace’s goal was to free up the brainpower of the mathematician to think about concepts and algorithms rather than switches and wires, and to make it easier for people to write programs.
Compilers reduced time spent creating a program from weeks to hours. Eventually, Grace would convince others that computers could do more than calculate, such as manipulate symbols.
In 1966 she was forced to retire from the Navy Reserve due to age restrictions. However, she was recalled a few months later, this time to active duty, because the Navy needed her to make all the COBOL compilers give the same answers despite being on different computers. The solution involved the first set of programs built to try to use software to check software.
When she retired the second time, she was 79 years old and a Rear Admiral. For her many contributions to computer science and technology, Grace Hopper was recognized with the following awards and honors:
- 1969 Computer Science Man of the Year
- 1973 Distinguished Fellow of the British Computer Society
- 1991 National Medal of Technology
- 1996 USS Hopper, a guided missile destroyer of the US Navy launched
Association for Computing Machinery Conference, Pittsburgh PA, May 1952 The Education of a Computer, Grace Hopper
Babbage, Charles On the Economy of Machinery and Manufactures. London, C. Knight, 1832
Beyer, Kurt W. Grace Hopper and the Invention of the Information Age, MIT Press, 2009
Cohen, I. Bernard, Howard Aiken: Portrait of a Computer Pioneer, MIT Press, 1999
Goldstine Papers, American Philosophical Society Rare book vault
High Speed Computer Conference, Louisiana State University, 1955 Automatic Coding for Digital Computers, Grace Hopper
A Manual of Operation for the Automatic Sequence Controlled Calculator, Harvard University Press, 1946, American Philosophical Library Rare book vault
McCartney, Scott ENIAC, Walker Publishing Company, Inc., 1999
Pamphlets on Computers and Mathematics, American Philosophical Society Rare book vault
Proceedings. Association for Computing Machinery, SIGPLAN Conference, Los Angeles, CA, 1978 History of Programming Languages, Keynote speaker, Grace Hopper
Proceedings. Association for Computing Machinery Conference, Pittsburgh, PA, 1952 The Education of a Computer, Keynote speaker, Grace Hopper