Grace Hopper: Groundbreaking American computer scientist, United States Rear Admiral and inventor of the first human language-computer code compiler.
With such a list of accomplishments to her name, you can bet she was quite the formidable intellect.
For those who knew her, she was also a kind, playful and incredibly witty individual who is fondly missed.
The following article will follow the key events in her life and highlight her contributions to the world of computer programming and the world at large.
As you will soon see she rightfully deserves the title of "The Queen of Code".
Who was Grace Hopper?
Grace Hopper, Grace Brewster Murray-Hopper in full, was a trailblazing computer science pioneer and if that wasn't enough, a highly accomplished naval officer who reached the rank of Rear Admiral (formerly known as Commodore - the equivalent of Brigadier General in the Army).
At the time this made her one of the first Rear Admirals ever in the US Navy.
Grace was at the very cutting edge of computers and programming development from the 1940s through the 1980s. Many in the field of computing also consider her the "Queen of Code/Software" for her contributions to the field of computing.
She also taught mathematics as an associate professor at Vassar College before joining the United States Naval Reserve as a lieutenant (junior grade) during World War II.
Whilst there, she became one of the first programmers of the first large computer in the U.S., the Harvard Mark I computer, and began her lifelong leadership role in the field of computer science.
Grace was also the first person to invent one of the first compilers, originally known as a program linker, the (A-O system). This compiler effectively converted the English language into computer understandable language.
She popularized the idea of machine-independent programming languages, which led to the development of COBOL, an early high-level programming language still in use today.
Because of her accomplishment in life, she is often referred to as "Amazing Grace". She also has some U.S. naval vessels named in her honor, various honorary degrees, U.S. national awards and other merits.
An abbreviated biography of Grace Hopper
Grace Hopper was born on the 9th of December, 1906 in New York City. From an early age, it was obvious to anyone who met her that she was a very curious and intelligent child.
At the tender age of seven, Grace took it upon herself to find out how an alarm clock worked. She promptly dismantled seven of them as part of her research.
She attended preparatory school at Hartridge School in Plainfield, New Jersey. Later she graduated Phi Beta Kappa from Vassar in 1928.
She left Vasser with a bachelor's degree in mathematics and physics and earned her master's degree at Yale University in 1930. Grace Hopper began teaching mathematics at Vassar in 1931 and was promoted to associate professor in 1941.
She later earned her Ph.D. in mathematics from Yale in 1934. The same year her seminal dissertation New Types of Irreducibility Criteria was published.
Grace married a Professor at New York University, Vincent Foster Hopper, in 1930 but the couple later divorced in 1945 - she never married again. She did, however, decide to retain her married surname.
She would later go on to lead a successful Naval career and highly successful computer science career.
Grace died on New Year's Day in 1992 in her sleep of natural causes. She was at her home in Arlington, Virginia at the time.
Grace Hopper had lived to the ripe old age of 85 and was buried with full military honors in Arlington National Cemetery. On November 22, 2016, she was posthumously awarded the Presidential Medal of Freedom by President Barack Obama.
What is Grace Hopper known for?
As we've already discussed Grace is known for many of her accomplishments in her life. Her life and career were essentially split between two very different and highly demanded careers.
For computer scientists, she is best known for her remarkable work on early computer compilers and computer programming. Not to mention her work on the COBOL project.
But for military enthusiasts and serving personnel, she is best known for her incredible naval career rising from the rank of lieutenant in 1944 to the rank of Rear Admiral (lower half) by the time of her retirement in 1986.
At the time of her retirement, Grace was the oldest serving military officer - as if her other accomplishments weren't enough. She is also fondly remembered for her kind nature and incredible wit in life.
Grace was initially rejected from joining the Navy
Although Grace would go on to lead a dazzling career in the Navy her efforts to originally enlist were blocked. After the completion of her Ph.D., she was working as an Associate Professor at Vassar.
Soon after the United States joined the Second World War she felt compelled to serve her country and attempted to enlist. Her ambitions of "serving her country" were thwarted when she was initially rejected.
She decided to "go Navy" as her great-grandfather, Alexander Russell, was a Rear Admiral, and naturally, this was the obvious choice for Grace. This was for multiple reasons.
At the time she was relatively old for new recruits and her weight to height ratio was lower than the minimum requirements. Her existing career as a mathematician and Associate Professor at Vassar also meant she was deemed "too valuable" for the nation.
Undeterred she decided to join the United States Naval Reserves instead and signed up in 1943. She had to get an exemption to enlist; she was 15 pounds (6.8 kg) below the Navy minimum weight of 120 pounds (54 kg) and was older than was usually allowed.
Within the reserves, she served in the Women Accepted for Volunteer Emergency Service (WAVES). These were a special unit of mixed-sex Naval Reserves who made many numerous contributions to the U.S. war effort.
This unit was a 'mixed bag' of personnel performing duties in the aviation community, medical professions, science, technology, and communications.
The U.S. Navy founded the unit in 1942 to perform the same assignments as the Women's Army Corps (WACs) with such duties as control tower operations.
To be eligible a candidate had to meet the following criteria, to be and to have:
- Be between 25 and 30 years old;
- Have 20/20 vision;
- Possess normal auditory acuity;
- Have a competent speaking ability and;
- Show quick reactions in stressful situations.
Overcoming these obstacles, Grace reported for duty in December of 1943 at the Naval Reserve Midshipmen's School at Smith College in Northampton, Massachusetts. She would later graduate top of her class in 1944 and was assigned to the Bureau of Ships Computation Project at Harvard University as a lieutenant, junior grade.
Grace's pioneering computing career
During the war, Hooper served on the Mark I computer programming staff headed by Howard H. Aiken. Hopper and Aiken at Harvard. She helped co-author three papers on the Mark I (also known as the Automatic Sequence Controlled Calculator).
The IBM Mark I was a general purpose electromechanical computer that was put to use during the latter stages of WW2 to assist the country's war effort. The project was initiated in 1944 by John von Neumann (who also worked on the Manhattan Project).
She was also tasked by her senior commanding officer Howard H. Aiken, with writing the manual for the Mark 1. This was to prove to be a formidable task and, as Grace puts it, akin to writing a book.
"I can't write a book," she recalled telling her officer during a 1987 Letterman interview on the subject. Her commander responded "You're in the Navy now", so "I wrote a book" said Grace Hopper.
What is incredible to note is that as this was the first computer she needed to learn a great many things about the subject before even beginning to tackle her assignment. She had been literally 'thrown in at the deep end'.
After the conclusion of the war, Grace Hopper remained in the Navy as a reserve officer. Grace later filed a request for transfer to the regular Navy but she was declined because of her age, once again, of 38.
By this time she had also risen to the position of Research Fellow at Harvard. Whilst at Havard, she made significant contributions to other early computers including the Mark II and Mark III at Harvard.
Throughout this time she continued to serve in the Navy Reserve. Grace remained at the Harvard Computation Lab until 1949, turning down a full professorship at Vassar in favor of working as a research fellow under a Navy contract at Harvard.
UNIVAC and the rise of the compiler
Grace joined the Eckert–Mauchly Computer Corporation in 1949 as a senior mathematician. It was here that she made one her major contributions to computing - the compiler.
Whilst at the company she was assigned to work in the UNIVAC (Universal Automatic Computer) which was the first large-scale computer at the time. It also had more computing power than the Harvard Mark I.
Hopper quickly realized that a new form of human-computer interfacing method would greatly increase the utility of the technology. She thought it would be a good idea if computers could 'understand' human languages like English.
Her colleagues soon pointed out that computers didn't understand English and her idea wasn't accepted for 3 years. She published her first paper on the concept in 1952 nonetheless.
Grace's idea wouldn't have to wait much longer as the Eckert–Mauchly Computer Corporation was bought out by the Remington Rand Corporation around the same time. She was given the 'green light' to develop her concept.
What was Grace Hopper's greatest contribution to computing?
Later in 1952, she had her first operational link-loader (compiler) ready (the A-0 compiler). She would later recall that "Nobody believed that [we] had a running compiler and nobody would touch it."
Her early compiler was able to translate mathematical notation into machine code. This was fine for mathematicians but into practical for data processors who, themselves lacked the necessary skills like symbol manipulation.
She reasoned it would be better to create a way of directly translating human language into machine code. This was the very beginning of COBOL (a powerful computer language for data processors that is still in use today).
Instead of entering a string of mathematical formulae, octal code or a string symbols, an operator could simply type in English something like "Subtract income tax from pay".
For her work, Grace Hopper was later promoted to the company's first Director of Automatic Programming. This department released some of the first compiler-based programming languages including MATH-MATIC and FLOW-MATIC.
Grace Hopper popularised the term 'computer bug'
You've probably heard of the term 'bug' when it comes to computer systems. But have you ever wondered where the term came from? The answer, it turns out, is actually satisfyingly simple.
When the first computers were developed they were a mixture of mechanical and electrical systems that often formed large, 'hulking' heat generating machines. These machines consumed large volumes of space in rooms and the warmth they generated often attracted insects to their internal components.
The story goes that a moth crawled between the computer's 'gubbins' and got stuck within one of its relay's causing it to malfunction. Hence the use of the term 'bug'.
The term computer/software ‘bugs’ had been used before Grace's time, but after Grace Hopper wrote in her diary “first actual case of bug being found” the term became really popular, and that’s why, in part, we are still using it today.
Well, at least that's the usual story behind the term. In fact, although Grace was part of the team she never actually found the fabled moth behind the term.
The, now famous event, occurred on the 9th September 1947 at 15:45 pm when technicians found the cause of a recent malfunction with the Mark II. Using tweezers they were able to isolate and remove the problem from Relay #70, Panel F, a 2-inch (5cm) dead moth.
All present were familiar with the term 'bug' and after finding a real life (well dead) moth in the Mark II's circuitry, noted it as the "First actual case of bug being found" in the computer's logbook.
The engineers even took the time to recover the remains of the insect and affix it to the notes to accompany the logbook entry.
"This log book, complete with attached moth, is part of the collection of the Smithsonian National Museum of American History, though it is not currently on display.
While it is certain that the Harvard Mark II operators did not coin the term “bug”, it has been suggested that the incident contributed to the widespread use and acceptance of the term within the computer software lexicon." - Graham Cluley/thenextweb.com.
Grace Hopper was instrumental in the development of the COBOL language
Grace Hopper had already distinguished herself as an outstanding computer scientist by the late 1950's but she had another trick up her sleeve.
Computer experts and government officials gathered together in the spring of 1959 in a conference known as The Conference on Data Systems Languages (CODASYL). Hopper was asked to serve as a technical consultant for the committee.
The main objective of the conference was to guide the development of a standard programming language that could be used across the industry. From the meeting, a new effort was launched to develop a new programming language dubbed the COmmon Business-Oriented Language, COBOL for short.
The CODASYL group also formalized some longer-term goals to promote more effective data systems analysis, design, and implementation. It has also published specifications for various languages over the years, and, more often than not, passing these onto international standard bodies like ISO, ANSI etc for formal standardization.
But, by far the most important development from the 1959 conference was the birth of COBOL. This new language would, in effect, be an extension of Hopper's FLOW-MATIC language with some ideas from the IBM equivalent, COMTRAN.
In a sense, Hopper's ambitions to build a programming language that could be written in English and translated to computer code had finally been adopted by her peers en masse.
Between 1967 and 1977, Hopper would serve as the director of the Navy Programming Languages Group in the Navy's Office of Information Systems Planning. She was also promoted to the rank of Captain in 1973.
Grace would also develop validation software for COBOL and its compiler as part of a COBOL standardization program for the entire Navy.
What is COBOL programming?
COBOL is a high-level programming language primarily used for business applications. At the time of its creation, it was the first popular language designed to be Operating System agnostic (can run on any Operating System) and is still in use in many financial and business applications today.
COBOL is also still widely used in legacy applications deployed on mainframe computers, such as large-scale batch and transaction processing jobs.
It was officially standardized in 1968 and has received four major revisions over the years. Expansions include support for structured and object-oriented programming. The current standard is ISO/IEC 1989:2014.
Although it is still in use around the world, it is declining in popularity. Its decline is also compounded by the fact that many experienced COBOL programmers are reaching, or have reached retirement age.
Owing to this many programs are now being migrated to newer platforms or are being rewritten in modern languages or, indeed, being completely replaced with off the shelf packages. Most programming in COBOL is now purely to maintain existing applications.
Despite its wide adoption, it was the target for of various criticisms within the industry. These criticisms were primarily concerned with its verbosity, design process and poor support for structured programming.
For example in more modern languages succinct syntax is the norm e.g. "y = x;".
Cobol, on the other hand, would perform the same process through the more cumbersome syntax "MOVE x TO Y)".
What are the Grace Murray Hopper Awards?
The Grace Murray Hopper Awards are a special award presented by the Association for Computing Machinery (ACM) that are named in Grace's honor and have been awarded since 1971.
This prestigious award is given to computing professionals who make single, significant technical or service contributions to the industry before reaching the age of 35.
According to their official website they are "awarded to the outstanding young computer professional of the year, selected on the basis of a single recent major technical or service contribution. This award is accompanied by a prize of $35,000. The candidate must have been 35 years of age or less at the time the qualifying contribution was made. Financial support of the Grace Murray Hopper Award is provided by Microsoft." - Grace Murray Awards
The first award was given to Donald E. Knuth in 1971 "For the design and implementation of TEX, an innovative tool for the computer composition of documents of high typographical quality." - ACM.
The latest recipient is Amanda Randles who was awarded the prize in 2017. Her prize was for her development of HARVEY.
"[Harvey is] a massively parallel circulatory simulation code capable of modeling the full human arterial system at a subcellular resolution and fostering discoveries that will serve as a basis for improving the diagnosis, prevention, and treatment of human diseases." - ACM.