Exhaustive History of Computing: From Early Precursors to Modern Stored-Program Architecture
Foundational Principles and Definition of Computing
Definition of a Computer:
- A computer can be described with deceptive simplicity as an apparatus that performs routine calculations automatically.
- The deceptiveness of this definition stems from a narrow, naive view of calculation as a strictly mathematical process.
- In reality, calculation underlies numerous subconscious, non-mathematical activities; for example, walking across a room requires executing many complex, subconscious calculations.
- Modern computers are capable of solving a wide spectrum of problems, ranging from basic financial tasks like balancing a checkbook to complex tasks like guiding robots across a room.
Societal and Historical Significance:
- The electronic computer represents one of the most critical developments of the twentieth century.
- Much like the Industrial Revolution of the nineteenth century, the computer—and the broader information and communication technology built upon it—has drastically transformed business, science, government, and culture, touching nearly every aspect of human life.
Computer Precursors: Early Mechanical and Digital Calculators
The Abacus:
- Recognized as the earliest known calculating device, dating back to at least and remaining in active use, particularly across Asia.
- Physical Design: Consists of a rectangular frame containing thin, parallel rods strung with movable beads.
- Positional Weighting: Long before systematic positional notation was established for written numbers, the abacus assigned specific units or weights to each individual rod.
- Influence on Number Systems: This weighting system allowed a wide numerical range to be represented with very few beads. Combined with the invention of zero in India, it may have inspired the development of the Hindu-Arabic number system.
- Functional Utility: Beads are easily manipulated to execute core arithmetical operations—addition, subtraction, multiplication, and division—making it highly useful for commercial trade and bookkeeping.
Wilhelm Schickard's Calculating Clock ():
- Developed in by German astronomer and mathematician Wilhelm Schickard.
- Documented in letters to his friend, astronomer Johannes Kepler. In , Schickard wrote to Kepler explaining that a machine commissioned for Kepler, alongside the original prototype, had been destroyed in a fire.
- The device was dubbed the Calculating Clock. Knowledge of its existence was temporarily lost after Schickard and his entire family perished during the Thirty Years' War, but modern engineers successfully reconstructed it using descriptions in his letters.
- Mechanism: Utilized internal gears and wheels to assist in basic arithmetic operations, primarily addition and subtraction. It is categorized as one of the earliest mechanical calculators.
Blaise Pascal's Pascaline / Arithmetic Machine ():
- Invented in by French mathematician Blaise Pascal to assist his father with numerical calculations required for his job.
- Mechanism: Employed numbered wheels and internal gears to automate calculations, specifically addition and subtraction.
Gottfried Wilhelm von Leibniz's Step Reckoner ( / ):
- Designed in and constructed in by German mathematician-philosopher Gottfried Wilhelm von Leibniz.
- Functional Upgrades: Expanded upon Pascal's concepts by implementing multiplication executed via automated repeated addition and positional shifting.
- Binary Preference: Leibniz advocated for binary representation over decimal digits.
Nineteenth-Century Business Machines and Commercial Automation
Commercial Adoption of Office Technology:
- Throughout the century, specialized mechanical business tools entered widespread commercial use.
- Calculators became standardized tools of trade by .
- By the , mechanical calculators had evolved to automatically accumulate partial results, store past calculation results, and print outputs.
- In , the Remington Arms Company, Inc. commercialized and sold the first commercially viable typewriter.
Burroughs Adding Machine Company:
- In , William Seward Burroughs, along with two fellow St. Louis, Missouri businessmen, established the American Arithmometer Company to manufacture adding machines.
- In , Burroughs obtained a patent for one of the first practical, commercially successful mechanical calculators.
- Following Burroughs' death in , the firm was reorganized in as the Burroughs Adding Machine Company in Detroit, Michigan.
Characteristics of the Early Business Machine Industry:
- Devices sold during this era were intended exclusively for commercial transaction processing and office automation, rather than scientific academic research.
- By the turn of the century, general calculators and niche business machines (such as specialized devices built to generate serial numbers for banknotes) were in widespread use.
- Commercial demand allowed business machine vendors to flourish, including Herman Hollerith's Tabulating Machine Company.
- While these individual devices were not general-purpose computers, they significantly advanced practical mechanical engineering knowledge that was later incorporated into computer design.
Charles Babbage and Lady Ada Lovelace: The Analytical Engine and First Program
Charles Babbage's Background and Context:
- Charles Babbage was an English mathematician and inventor who developed the locomotive cowcatcher, reformed the British postal system, and pioneered operations research and actuarial science.
- He was the first scholar to propose that historic weather patterns could be deduced by analyzing tree rings.
- He held a lifelong intellectual fascination with ciphers, keys, and mechanical dolls.
- Historical Environment of the : By the second decade of the century, several prerequisite ideas for computer creation were emerging:
- Recognition of the immense economic and scientific benefits of automating routine calculation.
- Practical mathematical techniques to streamline automation, including multiplication via logarithms or repeated addition.
- Practical design experience with both digital and analog mechanisms.
- Technical concepts from the Jacquard loom, which demonstrated how a multipurpose system could be directed via coded instructions and how punched cards allowed instructions to be modified rapidly and flexibly.
The Difference Engine:
- Designed by Babbage as a digital calculating device operating on discrete decimal digits () represented by positions on toothed wheels.
- Carry Mechanism: When a toothed wheel completed a rotation from to , it triggered the adjacent wheel to advance one position, mirroring the carry mechanism of Leibniz's Step Reckoner.
The Analytical Engine:
- Completed by Charles Babbage in , the Analytical Engine was designed as a general-purpose, fully program-controlled, automatic mechanical digital computer capable of executing any calculation.
- Four Primary Components:
- The Mill: The execution unit that performs arithmetic computations.
- The Store: The memory repository where numbers are retained.
- The Reader: The input mechanism for reading coded instructions on punched cards.
- The Printer: The output mechanism for displaying results.
- These four components represent the essential structural building blocks found in modern computer architecture.
Augusta Ada King, Countess of Lovelace (The First Computer Programmer):
- Background & Education: Daughter of the poet Lord Byron and mathematically inclined Anne Millbanke. Tutored by famous mathematician and logician Augustus De Morgan.
- Maternal Guidance: Due to Lord Byron's involvement in a public scandal around the time of her birth, Ada's mother intentionally encouraged her mathematical and scientific studies to suppress any inherited temperament.
- Conceptual Insights: Lovelace understood the core distinction between a simple calculator and a general-purpose computer, recognizing that the Analytical Engine was an original concept that had never been built or previously conceived.
- Pioneering Achievement: Lovelace became the leading expert on sequencing instruction sets on the punched cards utilized by the Analytical Engine, making her the world's first computer programmer.
Pre-WWII Advances in Analog and Digital Computing
Vannevar Bush's Differential Analyzer ():
- Built in by engineer Vannevar Bush at the Massachusetts Institute of Technology (MIT), representing the first modern analog computer.
- Target Applications: Engineered as an analog calculator to solve complex differential equations common in physics and engineering.
- Operational Mechanism: Mathematical variables were represented by continuous physical shaft motions, while basic arithmetic (addition and multiplication) was performed by feeding values through mechanical gear assemblies.
Howard Aiken's Digital Calculators ():
- Developed by Harvard professor Howard Aiken, who sought to construct physical hardware implementing the theoretical capabilities of Babbage's Analytical Engine.
- Beginning in , Aiken detailed plans for four distinct calculating machines of progressive technological sophistication, ranging from the mechanical Mark I to the fully electronic Mark IV.
Herman Hollerith's Census Tabulator:
- Driven by the United States Constitution's mandate requiring a full population census every .
- Initial Mechanization (): Transcribed raw statistical data onto a rolling paper tape displayed behind a small slotted window.
- Punched-Card Automation: Surging century population growth and an expanding list of census questions necessitated automated card-tabulating machinery, leading Hollerith to found the Tabulating Machine Company.
The Atanasoff-Berry Computer (ABC):
- Built between and by physicist/mathematician John Vincent Atanasoff and graduate assistant Clifford E. Berry at Iowa State College (now Iowa State University).
- Terminology Claim: Atanasoff claimed to have coined the term analog computer to describe machines like Bush's Differential Analyzer.
- Prototype: Successfully demonstrated two fundamental architectural concepts:
- Capacitors used to store numerical data in binary form.
- Electronic logic circuits designed to perform addition and subtraction.
- Historical Distinction: The resulting Atanasoff-Berry Computer (ABC) was designed as a special-purpose electronic computer, preceding full-scale systems like Colossus () and ENIAC ().
First Computer Network (Bell Laboratories, ):
- Designed and built by George Stibitz and his team at Bell Laboratories using electromechanical telephone relays.
- Innovations: Represented the first computing systems to support multiple simultaneous users and operate remotely over standard telephone lines.
- Obsolescence: Relied on slow mechanical relay switches, rendering them obsolete soon after construction due to the emergence of faster electronic switches.
Theoretical Computer Science: The Turing Machine
Alan Turing's Inspiration:
- Developed by Alan Turing while studying mathematics at the University of Cambridge.
- Inspired by German mathematician David Hilbert's formalist program, which sought to prove that every mathematical problem could theoretically be solved using an algorithm (a purely mechanical process).
Paper and Theoretical Breakthrough ():
- Turing conceptualized an algorithmic machine capable of solving mathematical problems, publishing his findings in the seminal paper "On Computable Numbers, with an Application to the Halting Problem" ().
- The Halting Problem Proof: Rather than designing a universal mathematical problem solver, Turing mathematically proved that no universal solver machine could ever exist.
World War II Innovations: Colossus and ENIAC
The Colossus Code-Breaking Computers:
- Project Context: WWII military needs accelerated computing research funding. In Britain, efforts focused on breaking enemy military ciphers under the highly secret Ultra project.
- Target Ciphers: Designed to decrypt complex codes generated by German electromechanical devices, specifically the Enigma and the Geheimschreiber ("Secret Writer").
- Development & Deployment: The initial machine, Colossus Mark I, was built under the leadership of Sir Thomas Flowers and delivered in December to the Bletchley Park government research station north of London.
- Hardware Specifications: Incorporated approximately to handle high-speed digital computation.
- Military Impact: Successfully decoded vital German battle orders, supply metrics, and personnel distributions. It also confirmed that the Allied military deception strategy, Operation Fortitude, was deceiving German command.
- Post-War History: Colossus machines were dismantled after the war, and their technical specs remained classified until the . In , a fully functional basic Colossus was rebuilt and turned on at Bletchley Park.
The ENIAC (Electronic Numerical Integrator and Computer):
- Project Context: In the United States, government research funding supported an all-electronic computing initiative at the Moore School of Electrical Engineering at the University of Pennsylvania.
- Leadership: Led by John Mauchly, J. Presper Eckert, and project director Herman Goldstine under a contract with the U.S. Army.
- Timeline: Construction of ENIAC began in early .
- John von Neumann's Involvement: In , mathematician John von Neumann—on leave from the Institute for Advanced Study (IAS) in Princeton, New Jersey, for government work including the Manhattan Project—began consulting regularly with the ENIAC engineering team.
Post-War Transition to Classical Stored-Program Computers
The Manchester Baby ():
- Built at the University of Manchester by Frederic C. Williams and Tom Kilburn in , beating American teams to construct the world's first operational stored-program digital computer.
- Memory Innovation: Developed to test cathode-ray tube storage (the Williams-Kilburn tube), which allowed direct access to stored data, in contrast to the sequential access required by mercury delay lines.
- Impact: Although somewhat unreliable compared to mercury delay lines, cathode-ray tube storage became the preferred memory system for early digital computers globally.
Manchester Mark I and the Ferranti Mark I ():
- Expanded by Williams and Kilburn in into a full-scale digital computer known as the Manchester Mark I.
- Architectural Innovations:
- Two-Level Store: Integrated primary memory with secondary storage.
- Instruction Modification Registers: Evolved directly into modern index registers.
- Secondary Storage: Added a magnetic drum as a random-access secondary memory unit.
- Importance of Index Registers: Before index registers were introduced, any computer instruction referencing a variable memory address (such as an array element) required preceding instructions to explicitly modify the address to the target value.
- Commercialization: Four months after the Baby machine ran successfully, the British government contracted the electronics firm Ferranti to build a commercial version of the Mark I. The resulting Ferranti Mark I became the world's first commercial computer, selling .
EDSAC (Electronic Delay Storage Automatic Calculator, ):
- Constructed at the University of Cambridge by Maurice Wilkes and his colleagues, becoming operational in .
- Built using stored-program architecture principles synthesized by John von Neumann.
- Historical Significance: Recognized as the first full-size, fully electronic stored-program computer to provide a formal, practical computing service for regular users.
- Focus on Software: Wilkes deliberately built EDSAC to investigate software and programming design, recognizing that software methods would prove just as critical as hardware engineering.
MIT's Whirlwind Real-Time Computer:
- Memory Innovation: Developed by Jay Forrester at MIT and Jan Aleksander Rajchman at the Radio Corporation of America (RCA), who created high-speed magnetic core memory.
- Real-Time Processing: Core memory provided processing speeds that allowed MIT to complete Whirlwind, the world's first real-time computer.
- System Capability: A real-time computer responds almost instantly to incoming control instructions, enabling interactive operation while the computer is actively running.
BINAC and UNIVAC:
- Eckert-Mauchly Venture: After leaving the Moore School, J. Presper Eckert and John Mauchly formed a company to build the Universal Automatic Computer (UNIVAC).
- BINAC (): To secure short-term working capital, they contracted with Northrop Corporation to build the Binary Automatic Computer (BINAC). Completed in , BINAC was the first American stored-program computer.
- Remington Rand Acquisition: In , Remington Rand, Inc. acquired Eckert and Mauchly's company, patents, and technical team.
- UNIVAC I Delivery: Delivered the first UNIVAC I unit to the U.S. Bureau of the Census in March .
- UNIVAC I Technical Specifications and Significance:
- Commercial Design: Built specifically for enterprise data processing to replace traditional punched-card accounting machines.
- Processing Speed: Capable of reading , operating natively on decimal rather than binary numbers, making it the fastest business machine of its time.
- Component Efficiency: Implemented mercury delay lines designed by J. Presper Eckert, reducing the required number of vacuum tubes to .
- Physical Footprint: Main processor dimensions measured (approximately ).
- Industry Shift: Marked the convergence of academic computer research with early century office automation, launching the era of enterprise "Big Iron" mass-produced computing equipment.