Thursday, January 17, 2008

Hacking the ENIAC

On the way home today I heard a piece on Jean Bartik, nee Jennings, one of the original programmers of the ENIAC (along with Kay McNulty, Betty Snyder, Marlyn Wescoff, Fran Bilas and Ruth Lichterman).

In those days, they called programmers "computers". Before computers could use computers, they had to use calculators, slide rules and good old-fashioned pencil and paper. From that point of view the ENIAC was a major advance. Working by hand with a desk calculator, a computer needed about 40 hours for a single trajectory. Here's how Bartik describes the demonstration she and Snyder put together at the expense of much midnight oil
The trajectory ran faster than it took the missle to trace the trajectory. We printed out the trajectory and gave copies to the attendees. It was fabulous. Everyone couldn't believe their eyes. They turned off the lights in the computer room and the attendees could see the accumulators computing the numbers (the tips of the tubes were visible through holes in the front panels of the ENIAC). It set the standard for years to come when a computer was working. Hollywood used the front panels of the ENIAC as the model.
(The full transcript of the chat this is taken from, part of Nasa's Female Frontiers program for elementary school girls, can be found here).

The ENIAC was a bear to program.
It was a parallel machine where we had to essentially build a central processor using program trays, digit trays, accumulators, multiplier, divider/square rooter, function tables, master programmer and I/O devices.
Bartik and her co-workers did this by flipping switches and fiddling with cables. A facility for executing (very short) stored programs was cut from the original design but later retrofitted. This was well before the first work on assembler language. Think about that next time you complain about your IDE!

Getting the thing to do anything at all, much less perform complex computations orders of magnitude faster than previously possible, is an impressive accomplishment and definitely a neat hack.

Note: Wikipedia's article on ENIAC lists the programmers by the names they used at the time. Their individual articles are listed under the names they use (or used) later in life. I've tagged this post under those names. The full list is:
  • Jean Bartik, nee Betty Jean Jennings ("Jean")
  • Kathleen Antonelli, nee Kathleen Rita McNulty ("Kay")
  • Betty Holberton, nee Frances Elizabeth Snyder ("Betty")
  • Marlyn Meltzer, nee Marlyn Wescoff
  • Frances Spence, nee Frances Bilas ("Fran")
  • Ruth Teitelbaum, nee Ruth Lichterman

No comments: