01 — From Mechanical Gears to Glowing Tubes: The Birth of the Electronic Computer
Technical Overview
The journey from mechanical calculation to electronic computation spans roughly 150 years and represents one of the most consequential technological transitions in human history. This file traces the arc from Babbage's gear-driven dreams in 1837 through the invention of the transistor in 1947, ending with the early commercial transistor machines that set the stage for the modern era. The central themes are: how humanity progressively offloaded arithmetic from human minds to machines, how the stored-program concept collapsed the boundary between data and instruction, and how vacuum tube reliability problems made the transistor not merely useful but inevitable.
Prerequisites
- Basic understanding of binary arithmetic (bits, bytes)
- Familiarity with the concept of a CPU executing instructions
- Awareness that hardware and software co-evolved
Historical Context
Babbage and the Mechanical Era (1820–1890)
Charles Babbage, a British mathematician, spent his life tormented by the unreliability of human computers — people paid to perform repetitive calculations for navigation tables, insurance actuarial tables, and artillery range tables. Even diligent human computers made errors at an unacceptable rate. Babbage's response was engineering: build a machine that cannot make arithmetic errors.
The Difference Engine (1822, designed; partially built 1832): Babbage's first serious project used the method of finite differences to evaluate polynomial functions purely through addition — avoiding multiplication entirely. A column of toothed wheels, each representing one decimal digit, would carry results up through a cascade of interlocking columns. He received government funding in 1823 but the project collapsed over funding disputes and machining tolerances (the precision required exceeded contemporary manufacturing). A complete Difference Engine No. 2, built from Babbage's original plans to 1991 tolerances, was completed by the Science Museum in London in 1991 and works perfectly — vindicating Babbage posthumously.
The Analytical Engine (1837, never built): More visionary still, Babbage designed a general-purpose mechanical computer. It had:
- A Mill (equivalent to a CPU) for arithmetic operations
- A Store (equivalent to memory) — 1,000 decimal number registers, each 50 digits wide
- Input via punched cards (inspired by Jacquard's loom)
- Conditional branching (loops and if-statements in mechanical form)
- A printer for output
Ada Lovelace, who corresponded extensively with Babbage, wrote what is recognized as the first computer program — an algorithm for computing Bernoulli numbers on the Analytical Engine — in 1843. She also articulated, with astonishing prescience, both the machine's limitations (it could only do what it was programmed to do) and its potential.
The Analytical Engine was never built. The concepts it embodied — separate processing and storage, conditional control flow, input/output — would not be physically realized for another century.
Hollerith and Punched Cards (1890)
Herman Hollerith, working for the US Census Bureau, developed an electromechanical tabulating machine for the 1890 census. The 1880 census had taken seven years to tabulate by hand; the 1890 census, with a larger population, threatened to exceed ten years — meaning the results would be obsolete before publication.
Hollerith's system encoded census data on cards using hole positions (each card represented one person). An electrical sensing mechanism detected holes by completing circuits through mercury-filled cups. Counters accumulated totals. The 1890 census was tabulated in six weeks.
The Hollerith tabulating machine company eventually merged with others to form Computing-Tabulating-Recording Company in 1911, which was renamed International Business Machines (IBM) in 1924. The 80-column punched card remained the dominant data entry medium for mainframe computing until the 1970s — a direct lineage from 1890 to the Apollo program.
Technology Evolution Timeline
1822 Babbage Difference Engine (prototype)
|
1837 Babbage Analytical Engine (designed, never built)
|
1843 Ada Lovelace writes first algorithm
|
1890 Hollerith tabulating machine — 1890 US Census
|
1924 IBM founded (from Hollerith's company)
|
1936 Alan Turing — "On Computable Numbers" — theoretical Turing Machine
|
1939 Atanasoff-Berry Computer (ABC) — first electronic calculator (Iowa)
|
1941 Konrad Zuse Z3 — electromechanical, first programmable (Germany)
|
1943 Colossus Mk 1 — Bletchley Park, Turing's team, vacuum tubes, codebreaking
|
1944 Harvard Mark I (IBM ASCC) — electromechanical relay computer
|
1945 ENIAC — 18,000 vacuum tubes, first general-purpose electronic computer
|
1945 von Neumann "First Draft of a Report on the EDVAC" — stored-program concept
|
1947 Transistor invented — Shockley, Bardeen, Brattain at Bell Labs
|
1949 EDSAC — first stored-program computer to execute a program
|
1951 UNIVAC I — first commercial computer delivered to US Census Bureau
|
1953 IBM 701 — IBM's first scientific computer
|
1959 IBM 7090 — transistor-based, replaced vacuum tube IBM 709
|
1960 Transistor computers dominate; vacuum tubes obsolete
Relay Computers and the Harvard Mark I (1944)
Electromechanical relay computers represent an important intermediate step. Unlike vacuum tubes, relays are mechanical switches activated by electromagnets — they are slow (milliseconds vs microseconds) but reliable and relatively simple.
Harvard Mark I (IBM Automatic Sequence Controlled Calculator, 1944): Designed by Howard Aiken and built by IBM, the Mark I was 51 feet long, 8 feet tall, weighed 5 tons, and contained 765,000 components including 3,304 electromechanical relays and 1,464 rotary switches. It performed three additions per second. Programs were fed via paper tape; constants were set by dial switches. It ran 24 hours a day from 1944 through 1959 at Harvard, computing ballistics tables for the US Navy. Grace Hopper programmed it and later coined the term "debugging" after a literal moth was found jamming a relay in 1947.
The Mark I demonstrated that automatic sequential computation was practical, but its 3 additions/second throughput against ENIAC's 5,000 additions/second illustrated starkly why electronic computing, not electromechanical, was the future.
ENIAC and the Vacuum Tube Era (1945)
ENIAC (Electronic Numerical Integrator and Computer) was built at the University of Pennsylvania by J. Presper Eckert and John Mauchly, funded by the US Army Ballistic Research Laboratory.
| Specification | Value |
|---|---|
| Vacuum tubes | 17,468 (commonly cited as ~18,000) |
| Weight | 30 tons |
| Floor space | 1,800 square feet |
| Power consumption | 150 kilowatts |
| Addition speed | 5,000 additions/second |
| Multiplication speed | 357 multiplications/second |
| Cost | ~$500,000 (1945 dollars) |
| Operational | February 1946 – October 1955 |
ENIAC was not a stored-program computer. Programming it meant physically rewiring plug boards and setting 3,000 switches — a reconfiguration that took days. Programs were literally encoded in the machine's wiring topology. The machine was "programmed" by setting up data pathways between its 20 accumulators, not by loading instructions into memory.
The critical reliability problem: with 18,000 vacuum tubes each running hot, a tube failed on average every two days. Technicians learned to let the machine warm up fully and to run tubes at below-rated voltages to extend lifetimes.
ASCII Diagram — ENIAC Conceptual Structure:
INPUT PROCESSING OUTPUT
------ ---------- ------
Punched +----------+ Punched
Cards -------> | 20 x | -------> Cards
| Accumu- | +Printer
Function | lators |
Tables -------> | (each |
| 10-dig) |
Constant | |
Trans- -------> | Master |
mitters | Prog. |
| (via |
| cables) |
+----------+
Physical rewiring required to change programs
Alan Turing and the Theoretical Foundations
Alan Turing (1912–1954) made contributions at two levels: the purely theoretical and the urgently practical.
Turing Machine (1936): In his paper "On Computable Numbers, with an Application to the Entscheidungsproblem," Turing defined a theoretical model of computation — an abstract machine with a tape of infinite length, a read/write head, and a finite set of states. The machine reads a symbol, optionally writes a new symbol, moves left or right, and transitions to a new state. Simple as it sounds, a Turing Machine can compute anything that is computable — a result known as the Church-Turing thesis. This paper, written before any electronic computer existed, defined the limits of what any computer could ever compute and introduced the concept of a universal machine (a Turing Machine that simulates any other Turing Machine — the conceptual precursor to the stored-program computer).
Bletchley Park and Colossus (1943–1945): During World War II, Turing led work at the Government Code and Cypher School at Bletchley Park. He designed the Bombe, an electromechanical device for breaking Enigma-encrypted German naval messages. Separately, engineer Tommy Flowers built Colossus (1943) — the world's first programmable electronic computer — to break the Lorenz cipher used for high-level German command communications. Colossus used 1,500–2,400 vacuum tubes and was programmable via switches and plug panels (not stored-program). Ten Colossus machines were operational by the end of the war. All were destroyed for secrecy; Turing's role remained classified until the 1970s.
Turing Test (1950): In his paper "Computing Machinery and Intelligence," Turing proposed what he called "the imitation game" — if a human interrogator, communicating via text, cannot reliably distinguish a machine's responses from a human's, we should consider the machine to be thinking. This remains the most famous benchmark in artificial intelligence, still debated and tested 75 years later.
The Stored-Program Concept and von Neumann Architecture (1945)
The pivotal intellectual breakthrough that made modern computing possible: treating instructions as data that could be stored in and manipulated by memory.
In 1945, John von Neumann drafted a report on the EDVAC computer (Electronic Discrete Variable Automatic Computer) that described the stored-program architecture. Whether von Neumann deserves sole credit is contested — Eckert and Mauchly had similar ideas, as did J. Presper Eckert — but the "First Draft" became the canonical reference document.
Von Neumann Architecture Components:
+---------------------------+
| Central Processing |
| Unit |
| +--------+ +--------+ |
| | ALU | |Control | |
| |(arith/ | | Unit | |
| | logic) | |(fetch/ | |
| +--------+ |decode/ | |
| |execute)| |
| +--------+ |
+---------------------------+
|
Memory Bus
|
+---------------------------+
| Memory |
| (Programs AND Data |
| stored together in |
| same address space) |
+---------------------------+
|
I/O Bus
|
+---------------------------+
| Input/Output Devices |
+---------------------------+
The Fetch-Decode-Execute Cycle:
+--------+ +--------+ +---------+
| FETCH | --> | DECODE | --> | EXECUTE |
| | | | | |
| Load | | Parse | | ALU op |
| inst. | | opcode | | or mem |
| from | | and | | access |
| memory | | operan.| | or jump |
| at PC | | | | |
+--------+ +--------+ +---------+
^ |
| PC = PC + 1 |
+------------------------------+
(or jump target)
The Von Neumann Bottleneck: The same bus carries both instructions and data between CPU and memory. At any given moment, the CPU is either fetching an instruction or fetching/storing data — never both simultaneously. This bottleneck was recognized immediately and has driven five decades of cache hierarchy design, prefetching, and superscalar execution to work around it.
EDSAC: First Stored-Program Execution (1949)
EDSAC (Electronic Delay Storage Automatic Calculator), built at Cambridge University by Maurice Wilkes, ran its first program on May 6, 1949. It used mercury delay lines for memory — tubes of mercury through which acoustic pulses traveled, with the arrival of each pulse triggering a re-entry at the far end, creating a recirculating memory. EDSAC had 512 words of memory, each 18 bits wide. Programs were loaded via paper tape.
EDSAC is significant for being the first stored-program computer to actually run a program (EDVAC and ENIAC predate it in concept or construction but did not run stored programs first). Maurice Wilkes also invented microprogramming — the idea that complex machine instructions could be implemented as sequences of simpler micro-operations stored in a read-only control store. IBM would later use microprogramming throughout the System/360.
The Transistor: Making Electronics Reliable (1947)
The fundamental problem with vacuum tubes was entropy: they were hot, fragile, and finite-lifetime devices. The average ENIAC tube lasted about 2,500 hours. Computers with tens of thousands of tubes failed constantly.
On December 23, 1947, William Shockley, John Bardeen, and Walter Brattain at Bell Telephone Laboratories demonstrated the point-contact transistor. The transistor — a semiconductor device that could amplify signals or act as a switch — was solid-state: no filament to burn out, no vacuum to maintain, no glass envelope to shatter. It consumed a fraction of the power and generated a fraction of the heat.
The three inventors received the Nobel Prize in Physics in 1956. Their Bell Labs supervisor, William Shockley, later founded Shockley Semiconductor Laboratory in Silicon Valley — and his management style drove away eight brilliant engineers (the "Traitorous Eight") who founded Fairchild Semiconductor, from which Intel, AMD, and dozens of other companies eventually descended. The geography of Silicon Valley is a direct consequence of Shockley moving to the San Francisco Bay Area to be near his mother.
Vacuum Tube vs Transistor:
Property Vacuum Tube Transistor
--------- ----------- ----------
Size Light bulb Grain of rice
Power ~1-5 watts Milliwatts
Heat Substantial Minimal
Lifetime 2,000-10,000 hr Decades
Failure mode Burnout ESD, overvoltage
Cost (1950) ~$1 ~$20 (initially)
Speed ~1 MHz Similar initially
Density 1 per device Millions per chip
IBM 7090 (1959): Transistors Arrive for Business
The IBM 7090 replaced the vacuum tube IBM 709. It was the first transistorized scientific computer from IBM, using discrete germanium transistors. Performance: 229,000 multiplications per second — 6x faster than the 709 it replaced, with far greater reliability. The 7090 ran NASA's Mercury and Gemini space program computations and the SAGE air defense network. It established transistor computers as unambiguously superior and began the rapid obsolescence of vacuum tube machines.
Production Relevance
These events are not merely historical curiosities:
- Von Neumann architecture is what every processor you use runs on. The fetch-decode-execute cycle, the shared memory bus, the separation of CPU and memory — these are the structure of every x86, ARM, and RISC-V processor.
- The transistor is the fundamental unit of every chip. An Apple M4 contains approximately 28 billion transistors. Understanding transistor scaling underpins Moore's Law and the trajectory of all modern hardware.
- Stored-program computing means firmware, BIOS/UEFI, and operating systems are possible. A system that required rewiring to change its program could not run an OS.
- Punched card thinking still surfaces: fixed-field formatted data, column-aligned records, batch job submission — traces remain in COBOL and legacy banking systems actively running today.
Key Figures Summary
| Person | Dates | Core Contribution |
|---|---|---|
| Charles Babbage | 1791–1871 | Difference Engine, Analytical Engine — mechanical computation concept |
| Ada Lovelace | 1815–1852 | First algorithm, recognized machine limits and potential |
| Herman Hollerith | 1860–1929 | Punched card tabulator, founded IBM predecessor |
| Alan Turing | 1912–1954 | Computability theory, Colossus, Turing test |
| J. Presper Eckert | 1919–1995 | ENIAC co-builder, memory drum |
| John Mauchly | 1907–1980 | ENIAC co-designer, UNIVAC |
| John von Neumann | 1903–1957 | Stored-program architecture, EDVAC report |
| Maurice Wilkes | 1913–2010 | EDSAC, microprogramming |
| Shockley/Bardeen/Brattain | 1910–1989 etc. | Transistor invention |
Lessons Learned
-
Reliability drives architecture. The shift from relays to tubes to transistors was entirely reliability-motivated. Every major hardware transition (transistors → ICs → VLSI → FinFETs) repeated this pattern: reliability and density improvements forcing architectural rethinking.
-
Theory precedes practice by decades. Turing's 1936 theoretical machine preceded actual computers by nearly a decade. Church and Turing's work defined computability limits before any computer existed to test them.
-
War accelerates computing. ENIAC, Colossus, and the Harvard Mark I were all funded by military needs. The Cold War funded early computer science broadly. Understanding this context explains why the US government invested so heavily in computing research.
-
The stored-program idea was genuinely revolutionary. Before it, each computation required custom hardware or wiring. After it, a single piece of hardware could become any computation — the entire software industry flows from this insight.
-
Credit is complicated. Von Neumann's name stuck to an architecture that Eckert, Mauchly, and others contributed to. Shockley won the Nobel but his colleagues did more of the transistor work. History simplifies attribution; real advances are collaborative.
Exercises
- Implement a Turing Machine simulator in Python. Feed it a simple binary increment program and verify the output.
- Calculate the ENIAC tube failure rate problem: with 18,000 tubes each having a mean time to failure of 2,500 hours, what is the expected mean time between system failures? What tube MTTF would be required for 100-hour MTBF?
- Draw the fetch-decode-execute cycle for the instruction
ADD R1, R2on a simple 3-register machine. Show what happens at each bus cycle. - Research the "von Neumann bottleneck" — what specific techniques does a modern CPU use to mitigate it? (Hint: examine cache hierarchies, prefetchers, and out-of-order execution.)
- Compare Babbage's Analytical Engine to the von Neumann architecture point by point. What was Babbage missing conceptually?
References
- Turing, A.M. (1936). "On Computable Numbers, with an Application to the Entscheidungsproblem." Proceedings of the London Mathematical Society.
- von Neumann, J. (1945). First Draft of a Report on the EDVAC. Moore School of Electrical Engineering.
- Goldstine, H.H. (1972). The Computer from Pascal to von Neumann. Princeton University Press.
- Ceruzzi, P.E. (2003). A History of Modern Computing. MIT Press.
- Shurkin, J. (1984). Engines of the Mind. W.W. Norton.
- Copeland, B.J. (2012). Turing: Pioneer of the Information Age. Oxford University Press.
- Hodges, A. (1983). Alan Turing: The Enigma. Simon & Schuster.
- Wilkes, M.V. (1985). Memoirs of a Computer Pioneer. MIT Press.