Grace Murray Hopper
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. (cs. yale. edu/-tap/files/hopper. stoyr. html/Grace Murray Hopper) Hopper wanted to join the military as soon as the United States entered World War II.
However at 34 she was too old to enlist, and as a mathematics professor, her job was considered essential to the war effort. She was determined to join the Navy and was commissioned a Lieutenant after attending Midshipman’s School. Because of her mathematical background, Hopper was assigned to the Bureau of Ordnance Computation Project at the Cruft Laboratories at Harvard University, and upon her arrival at Cruft, she began working with Howard Aiken on the Mark I computer, America’s first programmable digital computer. She embraced the challenge of the Mark I, and could hardly wait to disassemble it and figure it out.
She became the third person to program the Mark I. (thocp. net/biographies/hopper_grace. html) The Mark I was the first digital computer to be programmed sequentially. The complex 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.
After the war, at age 40, Hopper 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, and one day, noticing that the computer had failed, Hopper and her colleagues discovered a moth in a faulty relay. The moth 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. (sdsc. edu/ScienceWomen/hopper. tml) In 1949 Hopper joined the Eckert-Mauchly Computer Corporation as a Senior Mathematician and there she worked with John Eckert and John Mauchly on the UNIVAC computer. By then programs contained mnemonics that were transformed into binary code instructions that could be executed 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 a lack 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 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. 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. Hopper has often been referred to as ‘the mother of COBOL’. 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. (cs. yale. edu/-tap/files/hopper. stoyr. html/Grace Murray Hopper) Grace Murray Hopper spent much of her inventive career proving that something that’s never been done before isn’t impossible. It was this kind of positive thinking that inspired Hopper to invent the first computer “compiler” in 1952.
This revolutionary software facilitated the first automatic programming of computer language. Before Hopper’s invention, programmers had to write lengthy instructions in binary code (computer language) for every new piece of software. Because binary code consists solely of 0’s and 1’s, it was difficult for programmers to get through their time-consuming tasks without many frustrating mistakes. She knew there had to be a solution to this dilemma. Determined, she wrote a new program which freed software developers from having to write repetitive binary code.
Each time the computer needed instructions that were common to all programs, the compiler would have the computer refer to codes in its own memory. The compiler was a time and error-saving breakthrough for the computer world, but Hopper didn’t stop there. She also invented COBOL, the first user-friendly business software program, which is still in use today. By the time she retired in 1986, Rear Admiral Grace Hopper had taken her place in history by questioning the impossible. With a Ph. D. in mathematics and physics from Yale University, she based her success as a computer pioneer on a solid education and a strong and inquisitive will.
In her naval office, she hung a clock that ran counterclockwise as a reminder of the key principle to her success: most problems have more than one solution.