Grace Hopper: pioneering computer programmer

Who is the most influential person in the history of computing? Tim Berners-Lee? Bill Gates? Steve Jobs? Before any of those guys were even born a woman called Grace Hopper learned how to use the world’s first programmable computer and pioneered a revolution in programming that would make computers accessible to everyone.

Screen Shot 2015-08-03 at 19.47.07

On 7th December 1941, Professor Grace Hopper was enjoying a successful career teaching mathematics at Vassar College. Then news of the attack on Pearl Harbour changed the course of Hopper’s life. At the age of 37, she left her comfortable job and joined the U.S. Navy, thinking only of helping in the war effort.

For her first assignment, Lt. Hopper was sent to Massachusetts to work on one of the first programmable computers in the world, the Automatic Sequence Controlled Calculator also known as the Harvard Mark I.

The Mark I was a monstrous machine! Over 50 feet long and 8 feet tall, it contained hundreds of miles of wire and over 700,000 components. This all added up to make the machine weigh in at 4500kg, about the same as an African elephant.

Hopper’s new boss, Officer Howard Aiken (Mark I’s designer), was wholly unimpressed that the Navy sent him a woman to join his small team, but Hopper quickly proved herself to be a gifted programmer. In fact, Hopper’s intellect, work ethic and jocular spirit soon made her a favourite of the over-bearing commander.

Wartime working conditions were taxing. The hours were long and funds were low. Sound familiar to some researchers out there? But has your lab ever been so cash-strapped that you were tempted to steal from the U.S. Army to support your research? The programmers of Mark I did just that. When taking stacks of paper from the office next door the accepted wisdom was to “leave at least one, [because] even the army boys can tell the difference between some and none”. And, on top of it all, wartime rations didn’t allow for chocolate muffins to keep morale up during early morning meetings.

The work itself was even more challenging than the conditions. Coding consisted of punching holes in long strips of paper to represent input data and instructions. Like a player piano (see my Hedy Lamarr post), the computer read each line in turn and followed the instructions. The programmers had to make sure their code was error-free and efficient, as every second of the computer’s time was valuable.

Using this rudimentary programming system, the computer was used to solve diverse mathematical problems. For example, with one set of instructions the Mark I calculated launching angles for projectiles, but using a different programme, the same machine integrated partial differential equations for the Manhattan Project. By modern standards this might not sound all that impressive, but this adaptability was a big deal.

first_bug

“First actual case of bug being found.”

The original computer bug. Hopper and the Mark II team popularised the terms bug and debugging in computer science (yep, “II”, technology moved on just as quickly back then too). One night the Mark II computer stopped working and, after a painstaking inspection, the crew found a large moth in the electrical relays. They pasted the moth into their log book and from then on they referred to fixing glitches as “debugging”.

After the war, several projects were declassified and a new spirit of collaboration emerged between previously unconnected computer research groups. This was fostered by Hopper who invited others to see the Harvard computers, organised conferences and published continually, helping to establish the open source culture that is still strong in computer science today.

In the 1950s, computer programming was not the male-dominated industry that we see in Silicon Valley today. Hopper started programming before any gender stereotypes had been formed and after the war she was inundated with job offers. She chose to work for the start-up Eckert-Mauchly Computer Corporation (later part of Remington Rand) to help to develop UNIVAC I, the first commercial computer. Check out this 1950s TV advert for the UNIVAC, I’ll bet all the kids wanted one.

Hopper had an unrivalled knowledge of computers and how they worked, but she was also good with people. She was able convince business leaders with little understanding of computing why they needed a computer. And so the orders came flying in, but Hopper foresaw a big problem.

Every computer that was sold required highly skilled programmers to operate it, and these were in short supply. Hopper imagined a future where computers were not just tools for elite scientists, but where computers could be used by almost anyone. In order to achieve this, she developed a computer programme that translated human instructions into machine code that the computer could interpret. This translation programme is known as a compiler, and in 1952 it was revolutionary.

Programmers of the day were extremely resistant to this new technology, which could be pre-installed into all computers. “But Grace, then anyone will be able to write programs!” they cried. That was precisely the point and it would elevate computers from mere arithmetic machines to essential administrative tools.

Hopper, ever the visionary, also saw that the different computer manufacturers needed to co-ordinate their efforts. In the late 1950s government departments and businesses now had computers made by a range of companies, but each used a different language, so programmers had to start from scratch every time they were assigned to a different machine. I find it difficult enough to switch between PCs and Macs, but in those days retraining took months. What a waste of time!

Hopper brought together seven government agencies and ten top computer manufacturers and convinced them to collaborate to make a common business language. She remarked “I don’t think ever before or ever since have I seen in one room so much power to commit men and monies as I saw that day.” And in such company she excelled, convincing the Department of Defense, a huge customer with over 200 computers, to sponsor the development of the new language. As a result of this effort, COBOL (COmmon Business-Oriented Language) became the first standard language. And guess what, it was mostly based on Hopper’s own text-based language FLOW-MATIC.

USS Hopper

USS Hopper

Hopper worked in the computer industry for the rest of her life, but she maintained her connection with the Navy too, eventually becoming a rear admiral. When she finally retired at the age of 79 she was the oldest active-duty commissioned officer in the United States Navy. In recognition of her service, they named this boat (right) the USS Hopper. Captain America, eat your heart out, this is what the real wartime heroes get!

“Amazing Grace” was a teacher, a businesswoman, an inventor, a leader and a visionary. And for those of you who are worried that you are over the hill, she was 37 years old before she even saw a computer for the first time. When you turn 40, instead of buying a sports car, why not take up computer programming? In fact, don’t wait, start now: https://www.codecademy.com

*Did you know that Tim Berners-Lee, Bill Gates and Steve Jobs were all born in the same year? They were born in 1955, which is the year Marty McFly travelled to in Back to the Future.


Grace Hopper and the Invention of the Information Age by Kurt W. Beyer (2009)

Here is the world’s first ever computer manual, written by Hopper. This incredible piece of computing history is available to view free online! Grace Hopper would be delighted.

This interview with Grace Hopper shows you that she never stopped teaching, and she’s quite a hoot too!