Coders aren’t like most people. Our idea of a good time sometimes involves staying up all night stomping out stubborn bugs — at least, when we can find the damned things. Even when things aren’t actually broken and the compilers are humming along, we can’t help but tinker. Make our code better, DRY-er, faster. Given us enough time, focus, and Red Bull, we can make — or break — any code worth its GitHub repo.
We rule the world, or at least the 97 percent of the world that depends on computers. And we have Grace Hopper to thank in large part for making possible this World Where Nerds Rule. Back in the days before Red Bull and GitHub and geeks being chic — long before the Internet, and only shortly after there were “computing machines” at all — Grace Hopper was the first person to see that these room-sized citadels of circuitry could do more than repetitive mathematical calculations.
Grace Hopper taught computers how to speak English, and how to do a whole lot more than math. Thanks to her, a whole new world of computing opened up.
Even so, it’s likely you have never heard Grace Hopper’s name. Our girl geek goddess Grace’s contributions to modern computing remain relatively obscure, despite the fact that there is a US Navy battleship — The U.S. Navy Arleigh Burke class guided-missile destroyer, USS Hopper (DDG-70) — named in her honor. And just last month, President Barack Obama awarded Grace Hopper the Presidential Medal of Freedom even though she died in 1992. She is one of the few computer geeks ever to appear on Letterman.
Letterman: “How did you know so much about computers then?”
Hopper: “I didn’t. It was the first one.”
How badass is that?
So today we are here to wish Grace a happy 110th birthday. Here’s a little backstory, so we can all give Amazing Grace her propers.
Grace Murray Hopper was born on December 9th, 1906, to a wealthy upper-class family in New York City. She was a natural-born tinkerer who from early childhood demonstrated determined curiosity about how things worked. There is a tale of how, at the age of seven, Grace wanted to find out how alarm clocks worked. She dismantled her own, but was unable to reassemble it so that it worked. Undaunted, she took apart six more of her family’s clocks — until her mother caught on to Grace’s project and took away all but one of them.
This story illustrates both our heroine’s intellectual curiosity and determination to solve problems that interested her, and also how her family supported it. In a time where few girls went any further than primary school and a woman’s “highest calling” was widely believed to be a stay at home wife and mother, the Murrays celebrated Grace’s questing intelligence. Her parents encouraged their daughter not only to pursue higher education, but also to follow her “unfeminine” interests in math and physics.
This encouragement was at least partly for pragmatic reasons: Walter Murray, Grace’s father, suffered from arterial disease and had to have both legs amputated in the only form of treatment available a century ago. Expecting to die well before his children, he insisted that Grace, as well as her sister Mary, be well educated to support themselves, should they ever need to. After all, if her father could thumbtack his socks to his mahogany shins and keep on going, then there should be no obstacle too difficult for his children to overcome. Certainly, that can-do attitude served Grace well in life, giving her the gumption to pursue career paths — higher mathematics, the birth of modern computing — very few women had ever attempted to reach, in an age where women simply did not have “careers.”
Grace went to Vassar College and in 1928 graduated with twin bachelor’s degrees in physics and mathematics. She then moved on to Yale, earning first a master’s and then a Ph.D. in mathematics in 1934. She joined the faculty at Vassar, teaching courses in subjects like finite differences, operational research, and probability game theory — knowledge that paved her future path to computing. She also took advantage of Vassar’s policy allowing faculty to audit any and all courses offered at the college, making a point of sitting in on two courses each semester. In this way, Grace learned the fundamentals of astronomy, biology, geology, architecture, and much more.
Later in life, she credited this broad foundation for her forward-thinking innovations in computing. She found it fascinating that each discipline had its own language and symbols — a fascination that led directly to her success with pioneering computer compilers, languages and other software.
While in graduate school Grace Murray also married Vincent Hopper, in 1930. They had no children and divorced in 1945, whereupon he immediately married one of her best friends (ouch). Grace went by her married name for the rest of her life and never spoke of the divorce, which was highly stigmatized in that era. She furthermore never moved to discredit the widely-circulated (by no less than the New York Times) tale that she had instead been widowed during WWII.
But let’s get to the good stuff. World War II did indeed arrive, and Grace Hopper eagerly left academia to enlist in the Navy Women’s Reserve. Her math Ph.D. got her sent to Harvard’s Cruft Laboratories, where the Navy’s Bureau of Ships Computation Project had just commandeered the Mark I computer, as the Automatic Sequence Controlled Calculator, for wartime use. Grace joined the programming staff headed by Howard H. Aiken and learned computer programming first-hand on one of the world’s very first computers — which had a maximum capacity of 72 words of storage.
When the war ended, She continued to serve in the Navy Reserve. Hopper turned down a full professorship at Vassar in favor of working as a research fellow under a Navy contract at Harvard, where she was part of the team building the Mark II computer. In interviews given later in life, Grace said she had “Literally grown up with the Mark II” which took two years to build — and 20 tractor trailer trucks to move it to its final home installation at the Naval Surface Weapons Center. The Mark II was the source of one of the most enduring myths about Grace Hopper: that she invented the term “debugging.”
Indeed, she was working on the Mark II at the time, in an old building with tattered window screens. The summer of 1945 was warm, and the windows were always open. One day the behemoth computer malfunctioned, and the team finally found the cause: there was a moth inside one of the Mark II’s relays. An operator carefully fished it out with tweezers, taped it into the log book, and wrote “first actual bug found.” This log book, and the bug, are both now enshrined in the Smithsonian Museum, but in actuality the term “computer bug” was already in use by this time, and contemporary newspaper reports about the moth incident say nothing about Hopper authoring the term. However, she was part of the team that did absolutely coin both the term and the practice of “debugging.” (She’d pretty much have to be; odds are excellent since there were literally four computers in the entire world by this time).
Hopper’s breakthrough vision: that computers could serve as the primary vehicles for their own operation, rather than needing to be fed a series of detailed instructions every time a program ran.
It was Grace Hopper’s move to the world of civilian commercial computing, however, where she made her greatest contributions. In 1949, Hopper — while still serving in the Naval Reserve — joined the Eckert–Mauchly Computer Corporation (eventually the Rand Corporation) as a member of the team developing the UNIVAC I. The dev team had a pact, Grace used to explain. “If the UNIVAC failed, we would throw it out one side of the building, where there was a junkyard, and then we would jump out of a window on the other side, where there was a graveyard.”
However, the UNIVAC did succeed, and it was here, in the early 1950s, that her original compiler work was done. She called it “the A compiler”; the first version was A-0. While Grace Hopper did not personally invent the term “bug” she did create the term “compiler” — while writing the very first one.
Her breakthrough vision: that computers could serve as the primary vehicles for their own operation, rather than needing to be fed a series of detailed instructions every time a program ran — often the same set of instructions, every time. By that time most programs used the same short sets of instructions for applications serving widely varied problems and results. This meant that each job required pages upon pages of duplicate code to be written by hand and fed into the machine.
Grace Hopper was among the first people to recognize that these instructions could be enshrined as “subroutines” — another term she coined — and saved within the computer to be called up and assembled, as needed, into an appropriate program. She designed a system of frequently used subroutines, assigned them three-letter call signs that the computer could use to retrieve the instructions from its library of stored tapes. What had previously taken a month of manual coding could now be done in five minutes.
Furthermore, it meant that computers could now speak English. As the intermediate program translating spoken language instructions into the language of the target computer, compilers freed programmers from the need to learn, and use, cumbersome “machine language.” Grace Hopper’s compiler was the foundation for what are now the bones of modern computing: subroutines, formula translation, relative addressing, the linking loader, code optimization, and even symbolic manipulation.
She coined the term “compiler” since people went to libraries to compile research information from various books, the computer was compiling its own information from its library of subroutines. By 1952 Grace Hopper had an operational compiler. “Nobody believed that,” she said. “I had a running compiler and nobody would touch it. They told me computers could only do arithmetic.” However, her bosses quickly realized the value of her invention and compilers became the basis for what was called “automatic programming”. Or, you know, that thing we still do today.
Grace Hopper went on to many other firsts in her long and productive career: she was directly involved in creating COBOL, which was based on the two groundbreaking, compiler-based programming languages, MATH-MATIC and FLOW-MATIC, which she had written. Grace was also instrumental, in the 1970s, in convincing the military of the value in moving from large, central computing systems to distributed networks of small computers where any user on any node could access common databases. Again, a revolutionary idea at the time that was quickly copied by the commercial computing industry once the military and government embraced it — and one that led to increased standardization of programming languages.
Grace Hopper was eventually promoted to the rank of Rear Admiral, lower half (this means she was at the first tier of the two-level rank, not that only the bottom half of her actual torso got to be an Admiral) and was one of the longest-serving active duty commissioned officers in US Navy history. She actually retired several times, but each time the navy called her back to work before the ink on her discharge papers had fully dried. She finally retired for good on August 14, 1986, at the age of 79 — going straight to work as a senior consultant for Digital Equipment Corporation, never missing a day until her death (from natural causes) in 1992.
Let Us Now Say Grace
Grace Hopper was buried with full military honors at Arlington National Cemetery. Though her profound contributions to modern computing haven’t exactly made hers a household name even among software geeks, she has had some pretty cool honors come her way. These include the aforementioned Presidential Medal of Freedom and battleship named after her, as well as her own Google Doodle in 2013 — an animation of Grace sitting at UNIVAC, using COBOL to print out her age (107 at the time) as a moth flies out of the computer (et tu, Google?). The University of Maryland hosts a Cray XC-30 supercomputer nicknamed “Grace”, and the Grace Hopper Celebration of Women in Computing is an annual conference promoting the contributions and research of women in computing.
Happy birthday, Grace! And, on behalf of overworked coders everywhere, thank you.
Infographic from Storagepipe.