The C computer programming language has been around since the early 1970s. Since then, it’s been used as the basis for many other languages, like C++, C#, Python, Perl, Java, Verilog… the list goes on. But none of these languages work without first running your source code through a compiler to process it into machine code.
Compilers take your source code and convert those instructions into a language that the computer hardware can understand, almost always a low-level binary machine language. Douglas Hofstadter compared looking at raw machine code to trying to read DNA one atom at time. It’s doable, but not easy, so it makes sense that we use higher level languages, like C, and then run them through the compiler to generate the machine code. But where did the idea of a compiler come from? Enter the Queen of Code, Grace Hopper.
Grace was a math professor at Vassar College in New York when WWII started. She enlisted in the Navy, received her commission as a lieutenant, and was assigned to the Bureau of Ships Computation Project at Harvard University. There she worked as a programmer on the Mark I computer under Commander Howard Aiken. During her time in the Navy, she quickly learned computing inside and out and became one of the leading experts in the field.
After the war, she was not allowed to remain on active duty with the Navy, but she worked on some research projects under contract with the Navy. Eventually she was hired by the Eckert-Mauchly Computer Corporation (later taken over by Remington Rand) to work on the UNIVAC I. It was there that she first worked on developing a compiler to make programming more intuitive and simplified. At this time, several computer companies had sprung up and it was nearly impossible to get code running on one machine to work on a different machine from another company. In 1959, she was part of a committee that led to the development of COBOL, the first language that could be universally applied to any machine because it used a compiler to generate the machine code based on an agreed upon set of standards. COBOL encompassed her belief that programs should be written in a language that was close to English and is still used today, though it is considered a dying, if not already dead, language. Much of the COBOL code in use today is many years old and has just been running silently in the background.
Grace spent the rest of her life dedicated to the further development of computer science as a professional discipline and helping to integrate computers, and of course COBOL programming, into the US Navy. She eventually retired on August 14, 1986 as a Navy rear admiral (after several cycles switching between active duty and retirement) and was the oldest active duty commissioned officer in the US Navy stationed aboard the oldest commissioned ship, the U.S.S Constitution. She spent the rest of her life as a senior consultant for Digital Equipment Corporation, where most of her time was dedicated as a goodwill ambassador, often lecturing on her career and the early days of the computer. She eventually passed away on January 1, 1992, at age 85.
Here is a short 16 minute video from fivethirtyeight.com about Grace Hopper that I thought was really interesting.
The fact that you are reading this now is because of Grace Hopper, the right person in the right place at the right time, and thank goodness for that.