Computer Language Compiler
In May 1952, at Harvard University in Cambridge, Massachusetts, Grace Murray Hopper completed her work on the first computer language compiler, software that forms an important link between human language and binary code, thus enabling more efficient, less error-prone computer programming.
Hopper held a professorship in mathematics at Vassar College and a doctorate in the field. In 1943, she enlisted in the Navy’s Women Accepted for Voluntary Emergency Service (WAVES) program. She had the opportunity to work on a team at the Bureau of Ordinance Computation Project at Harvard University’s Cruft Laboratory with Howard Aiken, who was the principal engineer on the Mark I computer. She was the third person to ever work on this machine, which is considered America’s first large-sale automatic digital computer. Hopper ended up writing a five-hundred-page manual to the Mark I that would define standard concepts for operating computers, and she would write programs for the Mark II and III series computers to follow.
Hopper continued as a research fellow at Harvard until 1949, when she took a position as mathematician at Eckert-Mauchly Computer, developers of the UNIVersal Automatic Computer (UNIVAC). This machine was the first computer built for commercial use and used magnetic tape, instead of punch cards, to input and store data.
Hopper was tasked with developing a program for the UNIVAC that would make it easier for programmers to translate English instructions into language that the computer would understand. Instead of writing out programs in binary code (a cumbersome set of ones and zeros), a “compiler” permitted a programmer to use English commands to compose code. This approach allowed programmers to build code that was less prone to error and took much less time. More critically, by simplifying programming, a compiler would expand interest in computing beyond the province of mathematicians or computer scientists.
Her first compiler was finished in 1949. This “A-O” program used symbolic mathematical code to stand for binary code combinations. Specific call numbers would attach to a collection of programming routines stored on magnetic tape. To perform a calculation, the user would use a call number, which the computer would find on tape, bring over, and do the task.
In 1952, she completed a true breakthrough in computer programming, the “B-O” or “Flow-Matic” compiler. Her goal was to create a tool useful in business settings, such as automatic billing and payroll calculation. The Flow-Matic is considered the first computer language compiler for the English language, and it the compiler to program the UNIVAC I and II machines. Flow-Matic also became the basis for developing the universal computer language COBOL (COmmon Business-Oriented Language) in the late 1950s.