Weronika Wiesiołek recounts Grace Hopper’s story behind accessible programming.
It is 1951. The world is occupied with tension arising from the Cold War. The race for technological superiority has given rise to the first computers, and scientists of all countries are preoccupied with utilising their computational power. To write a program, people have to input machine code manually – the devices do not understand anything beyond a lengthy sequence of binary or hexadecimal numbers.
It is 1952. Grace Hopper, an American mathematician, computer scientist, and a Navy member, dreams of ending the era of brainless repetition in coding. She develops a program which she calls a compiler. Gone is the need to rewrite thousands of digits to perform calculations; now the computer understands basic English terms. Instead of writing strings like “A2 44 E7 0B” programmers use words such as move, if, or, and many others. The number of new programs rockets, accelerating technological advancement and scientific discoveries. Nevertheless, the public still does not believe her when she talks about her discoveries, some people even refuse to use her software. “Computers don’t understand English,” Grace Hopper is told.
Going against the current was an inevitable part of Hopper’s career, all the way from childhood to later professional life. She was on the verge of rejection from any kind of education; the unforgiving criteria of 30’s academia required women to have exceptional scores in every subject in order to enrol in a good college. Hopper failed Latin, but decided to try again the following year. Having finally been accepted to the prestigious Vassar College, she eventually obtained a PhD degree. Ironically enough, she later ended up as a professor in the same college, where she taught mathematics to new generations of female scientists.
Her enrolment in the US Navy was a similar case. After two refusals for health and age reasons, she took a year-long leave of absence from Vassar College and dedicated that time to training. In 1943, Hopper was given an exemption and joined the Navy despite her relatively advanced age of 34. A year later she graduated from a Navy school, from which she was immediately assigned to a Harvard computer laboratory, governed by the Bureau of Ships. After all, her main motivation to become an army official was her will to work on state-of-the-art machines, available only to a handful of military researchers. Again, irony had its share in the story. Hopper, at first rejected for being too old, was also the oldest active-duty commissioned officer at the time of her retirement (79 years, eight months and five days).
With her laboratory team and access to Mark-I, one of the earliest functioning computers, she started her research on early programming. She co-authored three papers on Mark-I, and became particularly interested in the topic of automatisation. If computers can memorise thousands of numbers, why could they not memorise words? Would it not be easier to talk to them with simple English? And, finally, why can a computer not write its own programs, or at least join existing ones together? These questions bothered Hopper throughout her work on Mark-I and eventually resulted in her greatest inventions.
After switching to UNIVAC (Universal Automatic Computer), a more computationally competitive device, which was later introduced to the commercial market, Hopper developed her first compiler. It translated mathematical notation and words into machine code, and allowed division of programs into routines, which could be used multiple times. This prevented dull repetition of symbols, while making programming simpler and pleasing to the human eye. Despite Hopper’s program being fully operational in 1952, it took another three years for researchers to dispel their doubts and use her tool in their work. Later, she would say: “I had a running compiler and nobody would touch it because, they carefully told me, computers could only do arithmetic, they could not write programs.” Grace, as always, continued pursuing her plans. COBOL (Common Business Oriented Language) was released in 1959, which laid the foundations of various data structures in modern programming. During her work, Hopper coined the term “debugging” (fixing errors in computer programs), inspired by removing an actual moth plunging into the wires.
It is 2020 and we cannot live without our PCs, laptops, smartphones or tablets. Computational power has been increasing exponentially since the time of Mark-I, as has device memory. Thousands of programs run in parallel in each of our gadgets, and new updates come every couple of weeks. Maintaining all the code would be impossible without a convenient way to communicate with the machines. Modern programmers do not even bother learning how to “speak” the machine language fluently. All in all, it is not that important anymore – thousands of compilers complement the software, translating one system of symbols into another with impeccable speed.
Grace Hopper’s name is sometimes mentioned during technology-related conferences and outreach events. More and more initiatives, projects and places take her name. Sadly, her achievements are still far from common knowledge, even though people use them every day. If it were not for her, we would still be memorizing endless sequences of digits, hoping for the computer to understand. Computer science aside, what is probably the most astonishing in the story is Hopper’s resilience. Many of her judgments about human attitudes are accurate up to the present time. Despite society’s progress, people still need visionaries like her to initiate advancement. As Hopper would say: “Humans are allergic to change. They love to say, 'We've always done it this way.' I try to fight that. That's why I have a clock on my wall that runs counter-clockwise.”
From Issue 20
Comments