Hacker News new | ask | show | jobs
by Animats 1738 days ago
This has changed over time. In early computing, the people mentioned were Eckert and Mauchley, who designed the ENIAC, and von Neumann, who figured out how a practical CPU should be organized. Also Shannon, who figured out that relays basically did Boolean algebra and could be analyzed formally.

Bletchley Park work was still classified in those days, so not much was known about that. Much to the annoyance of Tony Flowers, who built the Colossus code-breaking machine but couldn't mention it in post-war job-hunting. (Incidentally, Colossus was not a general-purpose computer. It was a key-tester, like a Bitcoin miner ASIC.)

As I've pointed out before, the big problem was memory. IBM had electronic addition and multiplication, with tubes, in test before WWII. But the memory situation was really bad. Two tubes per bit. Or electromagnetic relays. Or electromechanical counter wheels, IBM's mainstay in the tabulator era. To store N bits, you had to build at least N somethings. Babbage's Analytical Engine called for a memory of a ring of rows of counter wheels, a mechanism the size of a locomotive. Access time would have been seconds.

Much of early computing was about kludges to get some kind of memory. The "Manchester Baby" had a CRT-based memory, the Williams tube. That was the first computer to actually run a program stored in memory. Frederic C. Williams, Tom Kilburn, and Geoff Tootill, 1948.

After that, everybody got in on the act. Mercury tanks and long metal rods were built. Really slow, and the whole memory has to go past for each read, so twice the memory means twice the access time. Then there were magnetic drum machines. Magnetic tape. Finally, magnetic cores. At last, random access, but a million dollars a megabyte as late as 1970. Memory was a choice between really expensive and really slow well into the 1980s.

Turing was involved with one of the early machines, Pilot ACE/ACE. But he quit before it was finished.