The Google Doodle on December 9, 2013 celebrated what would have been the 107th birthday of Grace Hopper, a pioneer in the field of computer programming. Not only was she one of the first computer programmers, she helped define - and then redefine - what programming meant. This brings to mind another luminary figure in the field, Ada Lovelace, who is credited with writing the first computer program - a century before there were any real computers to run it.
Lady Ada
Ada Lovelace, as she is commonly known, was technically Augusta Ada Byron King, Countess of Lovelace. The daughter of poet Lord Byron, her parents separated just a month after Ada was born, and she was raised by her mother. Lady Byron encouraged her daughter's interest in science and mathematics (which was not common among society women of the day) because she sure as hell did not want her following her father's footsteps into the arts (or anywhere else he went).
Ada became acquainted with Charles Babbage, a mathematics professor at Cambridge, who had designed and was attempting to build A Difference Engine - a bad-ass mechanical calculator that could automatically tabulate polynomial functions, which were very useful but notoriously error-prone to do by hand. Babbage was fascinated by Ada's intellect and abilities. She visited frequently and became his confidant. Babbage eventually revealed to Ada his new idea - the Analytic Engine, a general purpose version of his Difference Engine capable of accepting a sequence of instructions and a set of data. This would be a programmable mechanical calculator, the first design to meet our modern definition of a computer. Babbage, however, was a poor communicator, and with the complexity of the subject, few people knew what the heck he was talking about.
But Ada got it.She took on the task of translating a detailed description of the proposed machine written by a fellow mathematician in French. Topping that, she also wrote her own set of even more detailed usage notes, which included a detailed implementation of an algorithm to calculate a sequence of Bernoulli numbers using the Engine. As the Analytic Engine is now recognized as the first computer design, Ada's set of instructions is considered the first computer program. This chick was the real deal. Not to mention that she was considered incredibly charming, seemed to have a rather exciting social life, and died at the young age of 37. (Neither of Babbage's machines were completed in his lifetime, but both designs were validated in later years.)
Amazing Grace
Fast forward to the 20th century, and we meet Grace Hopper. Born in NYC, Grace graduated from Vassar, got a Ph.D. in mathematics from Yale, and returned to Vassar to teach. (Clearly a slacker.) During WWII, she choose to serve her country through the WAVES program (Women Accepted for Voluntary Emergency Service) of the US Navy Reserve. After Midshipmen school, she was assigned to the Navy's Computation Program to work with the Harvard Mark I, a custom designed electro-mechanical computer. This sucker was as big as a truck and you programmed it with hole-punched paper tape using numeric codes to represent operations and instructions.
One of the first people to actually work at programming a computer, Grace knew they could do better. She felt it would be easier and more effective if programmers could use words as instructions rather than machine codes; this was not the majority opinion at the time. She proved the viability by writing the first compiler to covert the symbolic instructions into machine readable codes. Later, she helped design COBOL, one of the first programming languages, which dominated business programming for decades. She advocated shared libraries, and the standardization and validation of compilers, which became foundations of the discipline.
All the while she retained her association with the US Navy. Despite being told she was too small. (She had to obtain an exemption for being 15 pounds under the 120 lb minimum for enlistment.) Or too old. (Rejected by the regular Navy after the war due to her advanced age of 38, she stuck with the Reserves. She was forced to retire a couple of times after her 60th birthday, only to be brought back. At her final retirement at the age of 79 she was the oldest active-duty commissioned officer in the US Navy.) She retired at the rank of Rear Admiral.
Grace Hopper was a ball of fire, successful in teaching, computer science, industry, and the Navy - all at the same time. People who knew her claimed one of her best qualities was the ability to evangelize ideas and inspire others.
The most important thing I've accomplished, other than building the compiler, is training young people. They come to me, you know, and say, "Do you think we can do this?" I say, "Try it." And I back 'em up. They need that. I keep track of them as they get older and I stir 'em up at intervals so they don't forget to take chances.
*Gilbert, Lynn (December 10, 2012). Particular Passions: Grace Murray Hopper. Women of Wisdom Series (1st ed.). New York City: Lynn Gilbert Inc. ISBN 978-1-61979-403-0.
Here's some final words of wisdom from Adm. Grace Hopper:
If it is a good idea, go ahead and do it. It is much easier to apologize than to get permission.