Grace Hopper

"Humans are allergic to change. They love to say, "We've always done it this way." I try to fight that. That's why I have a clock on my wall that runs counterclockwise." — Grace Hopper

First compiler of Grace Hopper

Rear Admiral Grace Murray Hopper (born as Grace Brewster Murray in New York, on December 9th, 1906) was a Ph.D. in mathematics, who devoted almost her entire life to computers and programming. She was one of the most incisive strategic futurists in the world of computing in the middle of 20th century. Perhaps her best-known contribution to computing was the invention of the first compiler, the intermediate program that translates English language instructions into the language of the target computer.

Hopper started her career in computing in 1943, when she entered the Computation Project at Harvard University, to join the research team of Howard Aiken. Aiken, known to be rough-spoken, greeted her with the words, "Where the hell have you been?", then pointed to his electromechanical Mark I computer, saying "Here, compute the coefficients of the arc tangent series by next Thursday."

Hopper youngHopper quickly plunged in and learned to program the machine, putting together a 500-page Manual of Operations for the Aiken's computers in which she outlined the fundamental operating principles of computing machines. Later she joined the newly formed Eckert-Mauchly Corporation, and remained associated with its successors (Remington-Rand, Sperry-Rand, and Univac) until her official retirement in 1971.

In 1952, Hopper completed her first compiler (for Sperry-Rand computer), known as the A-0 System. As she said later, she did this, because she was lazy and hoped that the programmer may return to being a mathematician (in the same 1952 she published The Education of a Computer, in which she described fundamental principles in programming and anticipated future developments.)

The A-0 System actually was a set of instructions that could translate symbolic mathematical code into machine language. In producing A-0, Hopper took all the subroutines she had been collecting over the years and put them on a tape. Each routine was given a call number, so that it the machine could find it on the tape. As described by Hopper—"All I had to do was to write down a set of call numbers, let the computer find them on the tape, bring them over and do the additions. This was the first compiler."

After the A-0, Grace Hopper and her group produced versions A-1 and A-2, improvements over the older version. The A-2 compiler was the first compiler to be used extensively, paving the way to the development of programming languages.

The A-0 System was hardly accepted and dissuaded by the establishment, but Hopper followed her philosophy of "Go ahead and do it. You can apologize later.". She was disappointed —"I had a running compiler, and nobody would touch it because, they carefully told me, computers could only do arithmetic; they could not do programs. It was a selling job to get people to try it. I think with any new idea, because people are allergic to change, you have to get out and sell the idea."

Hopper also originated the idea that computer programs could be written in English. She viewed letters as simply another kind of symbol that the computer could recognize and convert into machine code. Hopper's compiler later evolved to FLOW-MATIC compiler, which will be the base for the extremely important language—COBOL. FLOW-MATIC was aimed at business applications, such as calculating payroll and automatic billing. By the end of 1956, Hopper had UNIVAC I & II understanding twenty English-like statements using FLOW-MATIC.

Grace Murray Hopper died in Arlington, Virginia, on January 1st, 1992.