It’s the 1930s.
Within the sprawling campus of Yale University, a young woman works away in a classroom. Scribbling equations and numbers, her every movement on the page is swift and deliberate. The pen obeys her every command. The ink presses onto the pages, searing its own distinct mark. Her eyes follow every line, and the lines follow every number, strung together, in a series of digits with enigmatic meanings and possibilities. It’s 1934: less than twenty years since women around the country secured the right to vote and hold elected office. Her field consists of male engineers, mathematicians, scientists, and researchers. She is relatively alone, but there she is – still scribbling away at those numbers. With every written digit, she climbs closer and closer to finishing her work. Amazing Grace Hopper was bound to change the world.
Just after Hopper earns her Ph.D. from Yale in mathematics, World War II ignites. America is locked in a pivotal battle against the Axis powers, and against the might of the Pacific front. Cutting-edge technology is needed now, more than ever, and Hopper is eager to serve her country. Already an assistant professor at Vassar College, she chooses to work as a research fellow at Harvard University on a Navy contract. Her job? Working on the advanced Mark I computer.
Unlike today’s machines, the Mark I was a massive device, held together by hundreds of miles of wire, a plethora of switches, and dozens of electromechanical components. A general purpose instrument, the Mark I is quintessential to the war effort, later being used by the Manhattan Project to defeat Japan. But even after the conflict had ended in victory, Hopper intended to continue on her studies and change the face of code as we know it.
Hopper seemed to ask herself why couldn't anyone, just anyone, learn how to code? And more importantly, why should we limit ourselves to outdated machine-speak when we can be developing better things faster and easier? So she has a sort of lightbulb moment, and she asks, what can I do to push the limits of computerization? And brilliantly, she dreams the idea of a compiler.
Now, when you program a computer program today, you type in code (whether it be in Java, Python, C++, or any other language) and you run it through a compiler. This compiler takes the code you have written and acts as a translator. For example, if I only know English, and I travel to Japan, I have a distinct language barrier with many of the people there. As a result, my abilities to complete a task are greatly undermined. However, if I have a translator that could translate my English into Japanese, and Japanese back to English, whatever I say and hear would be understood. Similarly, when we look to compilers, we are allowed to have a sort of middle ground where both sides can understand each other. This mutual sharing of knowledge is what allows so many people to start coding immediately. One of the most simple commands in the Python language is the print command. It does exactly what it sounds like – it prints a word onto your screen! And what do you need to type? To say hello, all you need to type is:
Google an online Python compiler and give it a try!
But in Hopper’s time, it was not nearly as easy. Computers were programmed in archaic machine-level code. Even in today’s devices, all computers are powered by something called binary code. Coming from the Latin root (binary meaning two), the idea of two forms is essential when understanding how this cipher works. In a computer, every single action is controlled by binary code, and this code only has two digits: 1 and 0! That’s right — every action a computer processes or carries out is dictated by a simple combination of 1s and 0s.
Similarly, instead of typing English words, scientists spent years learning the intricacies of manual programming and machine-level code. For example, when one wanted to type a command to a computer, it would appear as a random selection of letters and numbers strung together. It made no sense, and was definitely not as easy to understand as Python is today. As a result, not many were able to acquire the skill of programming, and few were able to learn it incredibly well.
Hopper decided that she would attempt to change the face of computing by creating a compiler. This was unheard of, revolutionary, and had never been done before. Moreover, countless of her peers, colleagues, and friends advised her that computers solely existed for arithmetic, and that programming had its limits in everyday usages. Don’t fix something that isn’t broken, they said. Computers can’t understand English, they pressured. But that didn’t stop Grace, because she had a dream: and she had every intention of making it reality.
And as it turns out, in 1952, Hopper produces a fully working compiler, translating mathematical notation into actual machine code. She names it the A compiler, with its first version being A-0. She has done the impossible — and it’s groundbreaking. She has now pioneered the field of high-level language: specifically, using English words in programming commands. Hopper expressed that “[that] was the beginning of COBOL, a computer language for data processors. I could say, ‘Subtract income tax from pay’ instead of trying to write that in octal code or using all kinds of symbols.” In later years, Hopper would aid the United States government by implementing principles of COBOL and FORTRAN (used in scientific programming) by testing and examining computer components. Hopper would later develop and implement more software for the Navy and was promoted to the rank of rear admiral by her retirement. At the time, she belonged to a small group of female admirals in the organization.
Hopper goes on the win the Man of the Year award in 1969 from the Data Processing Management Association. It’s an ironic win, but well-deserved given the plethora of contributions she had bestowed upon the world of code. After her death in 1992, she is mourned by many and is posthumously given the Presidential Medal of Freedom in 2016 by President Barack Obama. Thousands upon thousands in the world of tech owe many of their discoveries to her, from artificial intelligence to app design. From Snapchat to cybersecurity — users and developers of anything tech related can thank Hopper. Even Anita Borg, a notable female computer scientist, designated the official annual women’s event in computing to be the Grace Hopper Celebration.
Although she’s regarded as the Queen of Code now, Hopper faced large, systemic discrimination when alive. After all, she lived in a tumultuous America with its Jim Crow segregation and widely misogynistic culture. Winning the right to vote in 1920, women were just starting to climb up the socioeconomic ladder during her studies in the ’30s. Traditional gender norms permeated all facets of life, and it was much more normal for a woman to lead her life as a homemaker and caretaker than pursue graduate studies in mathematics and science. Women choosing to earn degrees in engineering and applying them were virtually unheard of in a time where the chief duty of a woman was to maintain the household. But Hopper was neither normal nor ordinary. A visionary and pioneer, she broke these barriers for herself and the women around her, contributing to American society in lasting ways. Without her, coding would still be an archaic process inaccessible to many, and we might not have built the incredible applications and devices we see now.
Today, with a Wi-Fi connection and a laptop, anyone can learn to program — yes, even you! I’ve learned many of my skills from websites all over the internet, and the reputable ones are very reliable and expertly taught. I like to believe that software development, and nearly all types of coding, are the perfect intersection between the arts and the sciences, as you need both to create a successful model or prototype. But contrary to popular belief, coding isn’t just limited to hacking or cyber security — you can create games, build robots, and even animate with coding! Modern organizations such as Codecademy, Udacity, and Khan Academy pride themselves on being able to teach others how to program on a global scale. But none of these websites could exist if Hopper had not taken the first step to create the world’s first compiler.
As to be expected, Hopper’s journey was not without obstacles; namely, a lack of like-minded female peers. But what are we saying to the young Grace Hopper of today who is pressured away from STEM (Science, Technology, Engineering and Math) due to gender discrimination?
*this piece is an excerpt from my upcoming novel "Girls With Dreams" (est. December 2017)