The six women who programmed the world's first computer
In 1946, the ENIAC, the world's first general-purpose electronic computer, was unveiled. While male engineers received the credit, six women—Kay McNulty, Betty Jennings, Marlyn Wescoff, Ruth Lichterman, Frances Bilas, and Jean Bartik—did the actual programming. With no programming languages or manuals in existence, they had to map out programs using paper blueprints and physically configure the machine's 3,000 switches and hundreds of cables.
Calculating Trajectories in Wartime
During the Second World War, military ballistics required an unprecedented volume of complex mathematical computation. Firing artillery accurately required detailed ballistic firing tables that accounted for variables such as wind speed, air temperature, shell weight, angle of elevation, and propellant charge. Each table required calculating hundreds of distinct trajectories, with every trajectory demanding thousands of individual arithmetic steps. At the Ballistic Research Laboratory and the University of Pennsylvania's Moore School of Electrical Engineering, rooms full of human workers—predominantly women with backgrounds in mathematics—worked painstakingly with mechanical desk calculators and differential analyzers to produce these tables by hand.
The sheer volume of calculations created a severe bottleneck for military deployments. A single trajectory could take a human computer several days or even weeks to compute manually. As weapon systems evolved rapidly, the backlog of firing tables grew. To solve this problem, physicist John Mauchly and engineer J. Presper Eckert proposed the construction of an electronic computing machine capable of performing these arithmetic operations at electronic speeds. The resulting project was the Electronic Numerical Integrator and Computer, or ENIAC, funded by the United States Army.
The Scale and Architecture of ENIAC
ENIAC was designed as the world's first general-purpose electronic digital computer. Unlike modern digital computers that execute instructions stored in electronic memory, ENIAC was a massive modular installation consisting of dozens of individual panels arranged along the perimeter of a large room. The machine contained nearly twenty thousand vacuum tubes, thousands of crystal diodes, relays, resistors, capacitors, and thousands of manual switches. It occupied significant floor space and consumed immense amounts of electrical power, generating substantial heat during continuous operation.
The machine's modular units were specialized for distinct functions. It included twenty accumulators capable of addition and subtraction, a high-speed multiplier, a divider and square-rooter, and constant transmitters for entering numerical data from punched cards. Coordination across these units was governed by a master programmer unit and high-speed electronic pulsing circuits. Because calculations occurred at electronic speeds rather than mechanical speeds, ENIAC could calculate a trajectory in less time than it took the physical shell to travel to its target.
The Challenge of Physical Programming
Building the electronic hardware solved only half of the computational problem; the machine still needed to be directed to perform specific sequences of mathematical operations. Six women who had worked as human computers—Kathleen McNulty, Frances Bilas, Betty Jean Jennings, Ruth Lichterman, Elizabeth Snyder, and Marlyn Wescoff—were selected to develop the methods for operating and programming ENIAC. At the time of their assignment, no programming languages, compilers, operating systems, or programming manuals existed.
Before they were granted physical access to the classified machine itself, the programmers worked extensively from circuit diagrams, block schematics, and blueprints. They had to learn the inner workings of every accumulator, gate, and transmitter to understand how electrical signals and numerical pulses traveled through the hardware. Translating a differential equation into an ENIAC routine required breaking the mathematics down into elementary operations, allocating hardware units for specific variables, and plotting the exact timing of parallel electronic pulses across the entire system.
Cables, Switches, and Debugging
Executing a program on ENIAC was a demanding physical and mental task. The programmers configured the machine by manually running thick patch cords between program trays and accumulators, and setting thousands of multiposition rotary switches across the panels. A program was not a stored list of text commands, but a physical routing of electronic pathways that dictated when one unit finished an operation, transmitted its result along a data bus, and triggered the next unit to begin its calculation.
Because ENIAC operated in parallel and processed numbers simultaneously across multiple units, synchronization was essential. A single incorrect switch setting or loose patch cable could cause an entire run to fail or produce garbage data. Debugging required tracing electrical signals through hundreds of vacuum tubes to determine whether an error stemmed from a logical flaw in the program sequence or a hardware malfunction, such as a burnt-out tube. Through rigorous tracking, the programmers developed structured debugging routines and modular programming techniques that prefigured modern software design.
The Public Debut and Initial Erasure
In February 1946, ENIAC was formally dedicated and demonstrated to the public and the press. During the demonstrations, the machine calculated a complex ballistics trajectory in a matter of seconds, astonishing observers who had only known mechanical computing. The successful demonstrations relied entirely on the programs prepared, wired, and verified by the six women, who ensured that the machine ran flawlessly under public observation.
Despite their indispensable contribution to the machine's operation, the programmers received virtually no public recognition at the time. Contemporary press accounts and official photographs focused on the male engineers and military officers who had supervised the hardware design and project administration. In many promotional photographs, the women seen adjusting cables or setting switches were treated as anonymous demonstrators or models rather than the mathematicians who had formulated the logical instructions making the hardware function.
Rediscovery and Historical Recognition
For decades, early computing histories primarily documented the physical engineering of ENIAC's electronic circuitry while overlooking the operational labor that enabled it to compute. The prevailing assumption in early military engineering culture had categorized hardware construction as technical engineering and programming as routine clerical work, obscuring the complex logical innovations the programmers had achieved.
Beginning in the late twentieth century, computing historians and archival researchers began systematically re-examining the surviving records, blueprints, and interviews with the original team. This historical work documented how the ENIAC programmers had independently invented fundamental software concepts, including subroutine structuring, loop control, and diagnostic routines. Today, their contributions are recognized as foundational milestones in the history of computer science and software development.
Key takeaways
•ENIAC was programmed physically by routing hundreds of patch cables and setting thousands of switches, rather than writing stored code.
•Six women—Kathleen McNulty, Frances Bilas, Betty Jean Jennings, Ruth Lichterman, Elizabeth Snyder, and Marlyn Wescoff—developed the methods to translate differential equations into hardware configurations without existing manuals or languages.
•Despite developing foundational concepts in software logic and debugging, the programmers were largely omitted from contemporary press coverage, which focused almost exclusively on hardware engineering.