Early Computers
INVENTOR YEAR DESCRIPTION
Thomas de Colmar 1820 Arithmometer, First digital
mechanical calculator, used
for multiplication, division,
addition, and subtraction.
Charles Babbage 1822 Difference Engine, used to
approximate polynomials,
logarithmic, and
trigonometric functions
(never completed).
Charles Babbage 1837 Analytical Engine, First
general-purpose
mechanical computer, had
memory and a printer
(never completed).
Augusta Ada Byron (Ada 1843 First programmer, made
Lovelace) algorithms for Babbage’s
Analytical Engine.
George Boole 1847 “The Mathematical Analysis
of Logic.”
George Boole 1854 “An Investigation of the
Laws of Thought.”
Lord Kelvin 1876 Tide-Predicting Machine,
one of the earliest
mechanical analog
computers.
Charles Sanders Peirce 1886 (published 1933) Showed that NOR logic
gates could be used to
reproduce other gates. NOT
gates > Peirce’s Arrow.
Herman Hollerith 1890 Tabulating Machine, used
punch cards for processing
the U.S. census; capable of
performing addition and
subtraction. Formed
Computing-Tabulating-
Recording company (CTR)
→ International Business
Machines (IBM) in 1927.
John Ambrose Fleming 1904 Thermionic valve/Fleming
valve, First diode vacuum
tube.
Lee de Forest 1907 Modified thermionic valve,
First triode vacuum tube.
Henry M. Sheffer 1913 Coined the term “Boolean.”
Showed that NAND gates
could be used to reproduce
other gates. NAND gates >
Sheffer’s stroke.
Vannevar Bush 1914 Differential Analyzer,
mechanical analog
computer for solving
complex equations.
Leonardo Torres Quevedo 1920 Electromechanical
Arithmometer controlled by
read-only program.
Floating-point arithmetic.
David Hilbert, Wilhelm 1928 Entscheidungsproblem
Ackermann (Decision problem), is a
challenge which asks for an
algorithm capable of
considering an inputted
statement and answering
“yes” or “no” according to
whether it is universally
valid.
Kurt Gödel 1931 Incompleteness theorem,
states that “no consistent
system of axioms whose
theorems can be listed by
an effective procedure (e.g.,
algorithm) is capable of
proving all truths about the
arithmetic of natural
numbers.”
Claude Shannon, Akira 1934 Switching circuit theory.
Nakashima, Victor
Shestakov
Alan Turing 1936 Universal Turing Machine,
theoretical model of
computation, capable of
computing any sequence,
described in “On
Computable Numbers, with
an Application to the
Entscheidungsproblem.”
Alonzo Church 1936 Lambda-calculus, a method
for defining functions.
Alan Turing, Alonzo Church 1936 Church-Turing thesis,
defines an algorithm by
stating that “a mathematical
model is effective if it could
be set out as a list of
instructions able to be
followed by a human clerk
with a paper and pencil, for
as long as necessary and
without ingenuity or
insight.”
Vannevar Bush 1936 Rapid Arithmetical Machine
project used to investigate
the problems of
constructing a digital
computer.
Konrad Zuse 1938 Z3, First programmable
digital computer.
Alan Turing 1941 The Bombe, First
programmable electronic
computer, used in WWII in
breaking German Enigma
codes.
John Atanasoff, Clifford 1942 Atanasoff-Berry Computer
Berry (ABC), First electronic
digital computer.
Tommy Flowers 1943 Colossus Mk I, used in WWII
in breaking German codes.
Howard Aiken 1944 IBM Automatic Sequence
Controlled Calculator
(ASCC)/Harvard Mk I, Large
electromechanical
computer used relays to
perform calculations. Used
to simulate Manhattan
project.
John von Neumann 1945 von Neumann architecture.
John Mauchly, John Presper 1946 ENIAC, First general-
Eckert purpose, programmable
computer.
Grace Hopper 1947 Coined the term “Bug” after
a dead moth was found in
MK I.
John Bardeen, Walter 1947 Transistor.
Brattain, William Shockley
Konrad Zuse, Frederic 1948 Manchester Baby, First
Calland Williams electronic stored-program
digital computer.
Claude Shannon 1948 “A Mathematical Theory of
Communication” laying the
foundation for digital circuit
design and information
theory.
National Physical 1950 Pilot Automatic Computing
Laboratory Engine (ACE), First
electronic stored-program
computer in UK.
Robert Patrick 1956 General Motors and North
American Aviation (GM-
NAA I/O), First operating
system; created for IBM 701
and IBM 704.