If you are someone who wants to learn how to code, you’ve probably been online looking at the vast amount of articles covering topics like Why you should learn Python first, or another language of the post author’s choice. “What language should I learn first?” is one of the most common questions new coders ask, and is regularly debated by experienced coders. To be fair, it’s not an easy question to answer. Every programming language is different. And there is no one language every programmer should learn first.
But what if you didn’t have a choice? What if there was no such thing as Python, Ruby, Swift, or even C?
If you go back far enough in history, this was the case. The ENIAC (Electronic Numerical Integrator and Computer), introduced to the world in 1946, is considered the first general-purpose electronic digital computer. It wasn’t so much a machine as an 8-foot room filled with separate electronic panels connected and powered by over 17,000 vacuum tubes. The Army developed the ENIAC in hopes that it would calculate ballistic tables for their men in combat. The machine’s construction wasn’t completely finished until after the war was over, but the ENIAC went on to be used for other purposes.
The problem the Army faced with the ENIAC was that no one had created anything like it before. It was not simple to find programmers in the early 1940s—They didn’t exist. It was also hard to find traditional workers to train because so many men had been drafted. So they looked to college-educated women for expertise. They specifically hired six—Betty Holberton, Kay McNulty, Marlyn Wescoff, Ruth Lichterman, Betty Jean Jennings, and Fran Bilas.
These women were handed blueprints of the ENIAC. They were told that they couldn’t touch the machine, but were to use it to calculate ballistic trajectories. The math for those calculations looks something like this:
How do you get a machine that you can’t touch to do this kind of math? That’s where this programming adventure begins.
The ENIAC was programmed through physical adjustment of switches and cables. A new program would first be sketched out on paper, as shown above. (A better view of the document can be seen here: http://eniacinaction.com/docs/PX-1-82.pdf) Every panel shown above is called an accumulator. The accumulator’s main job was to hold the numbers and pass them to the next panel. Some panels had other specific tasks, like the reader.
The ENIAC took input from the reader. A piece of IBM equipment read eight 10-digit numbers from a card into relay switches, called the constant transmitter. The numbers transmitted remained in the constant transmitter until a new card was read.
The multiplier unit controlled four accumulators, to complete up to 385 multiplication operations/second. The divider and square rooter unit controlled five accumulators to complete 40 division problems per second, or three square root problems per second. By connecting the accumulators, they were able to make the machine faster, because it could do more operations at once. The ENIAC’s other types of accumulators included three function tables. The three function tables each contained a portable bank of switches for 200 six-digit numbers or 100 12-digit numbers, and a switch to determine the number of times the function was transmitted. The function tables provided the memory for orders as well as numbers. The last type of accumulator was the master programmer, which was designed to permit repeating a sequence of operations a fixed number of times, and then do another sequence of operations.
The ENIAC was used until 1955 for various operations, with the same incredible team of six at the helm. After the ENIAC, they all went on to do more amazing work. The women didn’t receive appropriate credit and recognition at the time for their efforts, but their legacy lives on in ways many couldn’t foresee. Today, Betty Holberton has a school named after her—with the goal of teaching the next generation of full stack software engineers. The school includes students from all backgrounds, and nearly half the students are women.
Take some time to look up Betty Holberton, Kay McNulty, Marlyn Wescoff Meltzer, Ruth Lichterman, Betty Jean Jennings, and Fran Bilas. The next time you’re wondering what to learn first, think about what these six talented women were able to accomplish.