May 19, 2014

Lovelace vs Hopper

Tags: General

Apologies for the fake conflict in the title. There is no actual fight. It is only that there is regularly talk of Ada Lovelace as a female role model for computer science, but very little mention of the more influential Grace Hopper.

Ada Lovelace and Grace Hopper

With very few women studying Computer Science and becoming programmers (or other computer specific professions), there is some discussion as to what can be done to remedy the situation. Part of this has been the promotion of female computing role models, and Ada Lovelace has been prominent suggestion. Ada was born during the early 19th century into the British aristocracy - both actual (her father was a baron and she became a countess) and cultural (her father was the poet Byron). Studying mathematics at a time when higher education was largely closed to women, she encountered Charles Babbage and his designs for a mechanical general purpose computer - the Analytical Engine.

The Analytical Engine was never built (unlike Babbage’s calculator-like Difference Engine). Still Ada Lovelace studied the designs and wrote some programs to run on it (calculating Bernoulli numbers). She also wrote notes displaying some foresight on how such machines could be used as more than mere calculators (like modern computers). For this Ada Lovelace is sometimes referred to as the first computer programmer. Although I think she is closer to the first computer scientist (as her code never ran - a trait in common with many lecturers I have known!). Ada cuts a romantic, tragic figure - never having the chance to see her work realised and dying at the age of 36. She has also been adopted by the Steampunk crowd. Ada Lovelace has cultural cachet.

I am not trying to diminish her achievements - they are notable given the time period. However, I do not think they are influential or important to modern computing as more than a point historical interest. I have the same opinion of the Analytical Engine itself - both were a technological dead-end.

Grace Hopper was born at the turn of the 20th century into a middle-class family in New York. By the 30’s she had become a mathematics Professor at Vassar College. During the war, Grace became part of the US Navy’s code breaking team - the less lauded US version of the UK’s Bletchly Park. After the war she stayed in the Navy and joined the team working on building the early UNIVAC computer. Then Grace wrote the first compiler. The compiler is an important part of the computer engineer’s toolbox - converting more understandable programming languages into the assembly/binary understood by the computer. This is work for which I am personally grateful, as I like to keep as far from the bare computer metal as possible when programming. She also created the first machine independent language. This became COBOL after some design by committee changes (Grace Hopper was part of that committee, but let’s not hold that against her). Nearly 55 years since it was first developed there is still COBOL running in production environments (I have seen it at some banks). Considering her work on the early COBOL compilers, it is possible that some of Grace Hopper’s code is still being used half a century after being written. That is impressive considering most of my code barely lasts a few years. She retired from the Navy as a Rear Admiral and had a ship named after her (perhaps not as cool as a programming language).

The first computer bug

Grace was clearly a person of great technical ability. Unfortunately she is most remembered for an anecdote. While tracing an error in a program, Grace discovered a moth had become stuck inside the computer resulting in the error causing fault. Thus was coined the term “bug” for errors in computer code and “debugging” for fixing these errors. I think this popular story masks her influence. It is hard to remember a woman who has had more impact on the practical side of the professional computer engineer. Grace Hopper would make an admirable role model for any coder, regardless of gender.