Rear Admiral Grace Hopper overseeing her team of programmers (Photo taken for Philadelphia Inquirer "Your Neighbors" article, August 13, 1957)
One winter Augusta Ada Byron King, Countess of Lovelace, became obsessed with a puzzle that had become popular in the circles of Victorian Aristocracy. Peg Solitaire starts with thirty-two pegs arranged on a board in the shape of a cross around a central, empty space. The goal is to jump over adjacent pegs, which are then removed, until only one peg remains.
Ada Lovelace was the only legitimate child of Lord Byron, the rock star poet of the Romantic Movement. But a bitter divorce meant that Ada had never met her father. As an eccentric antidote to what her mother, Annabella Millbank, baroness Wentworth, perceived as an insanity rooted in a talent for poetry, some of the era’s great mathematicians and scientists had tutored Ada from an early age.
At the age of seventeen, she met Charles Babbage, considered the inventor of the first computer prototype. From the questions she asked about what the Baroness dubbed his “Thinking Machine,” Babbage could tell Ada was a better mathematician than most of the university graduates he knew. Lovelace and Babbage developed a collaborative correspondence that would last the rest of their lives.
Ada’s winter of peg solitaire produced an inspiration and she wrote to Babbage: “I have done it by trying & observation & can now do it at any time, but I want to know if the problem admits of being put into a mathematical Formula, & solved in this manner …. There must be a definite principle, a compound I imagine of numerical & geometrical properties, on which the solution depends, & which can be put into symbolic language.”
From that point on she put her considerable talent and education towards creating what is now regarded in the history of computer science as the first recursive algorithm. Babbage saw his imaginary machine as an engine of numbers; Ada grafted her own vision and turned it into an engine of information:
“The Analytical Engine does not occupy common ground with mere 'calculating machines.' It holds a position wholly its own. . . A new, a vast, and a powerful language is developed . . . in which to wield its truths so that these may become of more speedy and accurate practical application for the purposes of mankind than the means hitherto in our possession have rendered possible. Thus not only the mental and the material, but the theoretical and the practical in the mathematical world, are brought into more intimate and effective connexion with each other…We may say most aptly, that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.”
This is why if you take Stanford’s online course Introduction To Computer Science: Programming Methodology you will learn from its charismatic professor Mehran Sahami that Ada Byron is considered the first computer programmer. If you signed up last week for Stanford’s five week Human Computer Interaction studio course, you would have learned from associate professor Scott Klemmer about Rear Admiral Grace Hopper, the inventor of the first compiler. Hopper not only invented the word “debugging”, after a moth was discovered in the lab, she conceptualized machine independent languages and oversaw the team that invented COBOL.
If you don’t have time to take a free Stanford course, at least read this digest of Stanford talk by CS historian Nathan Ensmenger. Talking about his book The Computer Boys Take Over: Computer Programmers and the Politics of Technical Expertise, Ensmenger explained how the world of computer programming was once so dominated by women, that it was stereotyped as a female profession.
When Cosmopolitan interviewed Hopper in 1967, she explained why it was such a particularly good career choice. In the early 1940s the University of Pennsylvania hired six women to work its ENIAC machine, generally considered one of the first computers. The “ENIAC girls” are considered the first computer programmers in the U.S. Programming she explained was “just like planning a dinner. You have to plan ahead and schedule everything so that it’s ready when you need it…. Women are ‘naturals’ at computer programming.”
What happened? A job shortage in the 60s resulted in the equivalent of an affirmative action program to make the profession more appealing to men. Newly created professional associations actively discouraged the hiring of women. Computer industry campaigns linked women to error. Programming aptitude tests, the results of which were widely available in fraternities and Elks lodges, were introduced to further advance the prospects of men and set barriers up for women. The ongoing job shortage, however, meant that women continued to be hired. By 1985, women still represented 37% of computer science graduates. That was the year that Radia Perlman invented the spanning-tree (STP) protocol. Because STP is so fundamental to building computer network bridges, Perlman has been called “The Mother Of The Internet.”
Currently women represent 18% of computer science graduates.
I knew none of this when I signed up for Codecademy’s Code Year challenge, in January. But by June 2, when the New York Times ran an article on a highly publicized sexual harassment case in Silicon Valley, I knew enough to balk at the lede:
“MEN invented the Internet. And not just any men. Men with pocket protectors. Men who idolized Mr. Spock and cried when Steve Jobs died. Nerds. Geeks. Give them their due. Without men, we would never know what our friends were doing five minutes ago.”
Fortunately, Xeni Jardin did more than balk: “What a steaming turd of an opening line in David Streitfeld's otherwise serviceable New York Times piece about the Ellen Pao/Kleiner Perkins sexual harassment lawsuit, and gender discrimination in Silicon Valley” she blogged at Boing, Boing.
When she tweeted her post she was greeted with enough Hell, Yeah’s that her storification of Twitter responses reads like an instant oral history. A history written not only by women, but by men who had learned programming from their mothers and who proudly traced their programming lineage back to grandmothers who were pioneers in the profession.
Much, perhaps too much is made, about the need to find ways to “attract” women to the field of computer science. How about we re-frame this as a restoration of the place of women in computer science? Let’s go a step further. Let’s restore it as a place that is welcoming to the average citizen.
Nothing against geeks, I consider myself one, and have no shame about that. But it’s time for computer science to stop pretending this is a skill that can only be learned by boy geniuses. There will always be a place for boy geniuses, and a need for programmers, both men and women, with advanced math skills. But more natural, user-friendly languages and tools are being invented every year to make basic programming skills more accessible to children and adults of any age: from MIT’s ingenious Scratch to last week's release of Blockly, Google’s first visual programming language.
The time has come for everyone to occupy the world of computer science. It doesn’t matter whether people choose that world as a career, a leisure time obsession, for one month, one year, one winter, or hopefully, this summer. It doesn’t matter whether people start it at Stanford, Codecademy, or Code Hero (a role playing video game that aims to teach code literacy under the mentorship of Babbage, Lovelace and Alan Turing.) It doesn’t matter when or why we learn to code. What matters is that a critical mass of people start somewhere so that we can reverse, or at least buffer this exponentially growing trend towards techno-elitism.
To use the three important words that have been used by mother programmers since the dawn of time, before the invention of computers, and if all goes well, for millennia to come.
Just try it.