History Lecture Part 3

The Digital Electronic Computer Era

Technology Push in World War II

  • During World War II, there was a significant push for technological advancements as governments invested heavily to gain military advantages.

  • This era led to the development of the digital electronic computer.

  • Historically, major inventions often see several individuals working independently, yet arriving at similar conclusions and inventions concurrently, which was true for the digital electronic computer.

John Atanasoff and Clifford Berry (ABC Computer)

  • Independent Development: John Atanasoff and his graduate student Clifford Berry developed the Atanasoff-Berry Computer (ABC) independently of others.

  • First Digital Electronic Computer: The ABC is considered the first digital electronic computer in the United States.

  • Development: It was developed at Iowa State in 19391939. Clifford Berry, Atanasoff's graduate student, was instrumental in its construction.

  • Purpose: The system was specifically designed to solve linear equations.

  • Special Purpose: Like all systems of its time, it was a special-purpose computer, not a general-purpose machine capable of running various types of programs.

  • Technology: It was a semi-electric machine featuring 300300 vacuum tubes, which were the predominant circuitry technology of the era, developed by John Ambrose Fleming.

  • Innovations: The ABC incorporated several pioneering technologies that did not become mainstream until much later:

    • It was the first machine to store data as a charge on a capacitor, a method still used today.

    • It utilized the binary system of arithmetic, essential for electronic devices.

    • It featured parallel processing and regenerative memory.

  • Scale: Despite its impressive capabilities, it was relatively small compared to other computers being developed at the time, although significantly larger than modern personal computers.

  • Atanasoff's Philosophy: John Atanasoff believed in shared credit, famously stating, "I've always taken the position that there's enough credit for everyone in the invention and development of the electronic computer." This perspective notably contrasted with later disputes over credit.

Alan Turing: Father of Artificial Intelligence

  • Concurrent Work: Alan Turing also worked on a digital electronic computer independently, unaware of Atanasoff's work, arriving at similar ideas around the same time.

  • Broad Contributions: Turing is renowned as the father of artificial intelligence and contributed significantly to multiple fields beyond computer science, though computer science is the primary focus.

  • Quote: A notable quote attributed to him is, "Sometimes it is the people no one can imagine anything of who do the things that no one can imagine."

  • Personality: Contrary to the common portrayal as a stereotypical math geek (e.g., in the movie The Imitation Game), biographies confirm Turing was affable, gregarious, and popular.

  • Bletchley Park: During World War II, Turing worked at Bletchley Park in the UK, established primarily for decrypting German codes.

  • Universal Turing Machine (19361936):

    • Invented before the first digital electronic computers were built.

    • Described concepts like stored programs and self-modifying code.

    • Envisioned machines capable of thinking, laying the theoretical groundwork for Artificial Intelligence (AI). Many of his ideas are only now becoming fully realizable due to increased computing power.

  • Turing Complete: He introduced the term "Turing complete," describing a machine capable of performing anything that is calculable.

    • This contrasted sharply with the special-purpose machines prevalent at the time, such as the ABC, which were designed for specific tasks (e.g., linear equations).

    • Turing envisioned the general-purpose, programmable machines we use today.

  • The Bombe:

    • Context: Allied forces were losing World War II due to German U-boats, which disrupted supply lines to Europe. The Germans' communication was encrypted using the Enigma machine.

    • Enigma Challenge: The Enigma could encrypt and decrypt messages, but both machines needed identical settings. With millions of possible configurations, even intercepting messages and obtaining a physical Enigma machine did not allow decryption.

    • Turing's Solution: Recognizing that manual decryption was impossible, Turing designed the Bombe, an electromechanical machine.

    • Impact: The Bombe successfully broke the Enigma code, enabling the Allies to counter U-boat activity, facilitate the D-Day landings in Normandy, and ultimately win the war.

    • Historical Significance: Historians estimate that his invention shortened World War II by two years, saving hundreds of thousands of lives. Some argue that without it, the Allies might have lost.

  • The Colossus (19431943):

    • Development: As the Germans developed a new encryption (the Lorenz SC or Tunney code), Thomas Flowers and Max Newman, also at Bletchley Park, developed the Colossus based on many of Turing's theories.

    • Turing's Role: Turing was a key consultant on the Colossus project.

    • Significance: This was the first fully functioning digital electronic computer. However, it was not Turing complete; it was a special-purpose machine designed solely to break the Tunney code.

    • Technology: It did not use internally stored programs but relied on paper tape. It contained between 1,5001,500 and 1,6001,600 vacuum tubes.

  • Automatic Computing Engine (ACE):

    • Concept: In 19471947, Turing stated, "What we want is a machine that can learn from experience," foreshadowing modern machine learning.

    • Design: He designed the ACE, the first designed Turing complete (general-purpose) machine with electronically stored programs.

    • Challenges: The project faced funding issues and organizational politics post-WWII, leading Turing to eventually leave.

  • Broader Influence:

    • Turing was instrumental in cryptography, artificial intelligence, and computational biology.

    • He viewed the world mathematically, noting mathematical patterns (like the Fibonacci series in flower petals) and derivations (stripes on a tiger, spots on a leopard).

    • His work significantly contributed to morphogenesis, the biological study of how things take shape in nature.

  • Tragic End:

    • Turing died in 19541954 at the age of 4343.

    • He was homosexual, which was illegal in the UK in the 19501950s. Despite his brilliance and wartime contributions being known within his working circles, his private life became public after reporting a burglary.

    • Instead of investigating the burglary, police arrested Turing for gross indecency.

    • He was given a choice: prison or chemical castration. To continue his work, he chose chemical castration, which led to severe depression.

    • He committed suicide as a result, which is considered a profound loss of potential contributions to science.

    • The UK issued a formal apology to Alan Turing decades later. Winston Churchill notably credited Turing with the single most significant contribution to the war effort.

Mauchly and Eckert: ENIAC and UNIVAC

  • ENIAC (Electronic Numerical Integrator and Calculator):

    • Development: Developed in 19461946 by J. Presper Eckert and John Mauchly for the military.

    • Purpose: Its primary goal was to calculate firing tables for artillery, a process that was slow and done manually during WWII.

    • First Turing Complete Built: It is considered the first Turing complete (general-purpose) computer built, drawing heavily from Atanasoff and Berry's ABC.

    • Wartime Delay: Although proposed during WWII, it wasn't completed until 19461946, missing the war effort, but its general-purpose nature allowed it to solve other problems.

    • Scale: The ENIAC was enormous, occupying 1,8001,800 square feet of floor space.

    • Components: It was a beast of a machine, weighing 3030 tons and containing:

      • Over 17,00017,000 vacuum tubes (compared to the Colossus's ~1,5001,500 and ABC's 300300).

      • 70,00070,000 resistors.

      • 1,5001,500 relays.

      • 6,0006,000 manual switches.

      • 10,00010,000 capacitors.

    • Operation: Operating it was complex, requiring many personnel dedicated to constantly replacing unreliable vacuum tubes, which frequently burned out like light bulbs.

    • Credit Controversy: Mauchly and Eckert initially claimed the title of developing the first digital electronic computer. However, evidence, including photographs, showed they were aware of Atanasoff's work and incorporated many of his ideas without proper credit, leading to later legal challenges.

  • UNIVAC (Universal Automatic Computer):

    • Development: Mauchly and Eckert developed the UNIVAC in 19511951 for the U.S. Census Bureau.

    • Context: Post-WWII, the "baby boom" generation led to an explosion in birth rates, overwhelming the manual census process.

    • Public Awareness Challenge: After the war, much of the computer development was classified, leaving the public and businesses unaware of computers' potential utility due to the significant investment required (cost, specialized rooms, air conditioning, trained personnel).

    • Publicity Stunt: In 19521952, they partnered with CBS to predict the outcome of the Eisenhower-Stevenson presidential election.

      • Polls and newspapers incorrectly predicted Adlai Stevenson would win.

      • The UNIVAC correctly predicted Dwight Eisenhower's landslide victory within 1%1\% of the actual results.

      • This event dramatically demonstrated the power and utility of computers to the public and businesses.

    • Technology: UNIVAC used magnetic tape, offering faster processing and greater storage capacity than IBM's prevalent punch cards.

Grace Hopper: Compiler and High-Level Languages

  • First Compiler (19521952): Grace Hopper, an admiral (later commodore) in the Navy, developed the first compiler for high-level programming languages.

  • Background: She worked with Mauchly and Eckert on the UNIVAC.

  • Programming Challenge: Early computers were programmed using machine language (binary: zeros and ones) or terse assembly language. These low-level languages were challenging to code in, requiring many instructions for simple tasks, making complex programming difficult.

  • Hopper's Vision: Her radical idea was to simplify programming languages. She argued that humans have limited capacity for managing complexity; simpler languages would allow programmers to focus on solving complex problems rather than struggling with the language itself.

  • Initial Skepticism: Her ideas were initially met with skepticism, as the prevailing belief was that programmers would always code in zeros and ones.

  • FLOMATIC and COBOL: She developed FLOMATIC, which evolved into COBOL (COmmon Business-Oriented Language).

    • COBOL and FORTRAN (FORmula TRANslation, for engineers) were the primary languages of the 19501950s to 19801980s.

    • COBOL was used for business applications and data processing; FORTRAN for engineering and scientific applications.

    • These languages are still in use today due to vast amounts of legacy code.

  • High-Level Languages: Hopper's vision proved correct. Most modern languages are high-level and compiled, enabling the creation of far more complex software.

    • High-level languages are more human-understandable, resembling English (though not natural language to avoid vagueness) more closely than binary or assembly.

  • Compilers: A compiler is a program that translates high-level language code into machine language (binary), which is the native language processed by the Central Processing Unit (CPU).

  • Coining "Debugging": Her second significant contribution was coining the term "debugging."

    • She found a literal moth stuck on a relay panel of a paper tape reader, interfering with the computer's operation.

    • She taped the moth to her report, declaring she was "debugging" the system, and the term "debugging" (removing errors from code) entered the computer science lexicon.