The history of computing is longer than the history of computing hardware and modern computing
technology and includes the history of methods intended for pen and paper or for chalk and
slate, with or without the aid of tables.
The timeline of computing presents a summary list of major developments in computing by
date.
Concrete devices Computing is intimately tied to the representation
of numbers.
But long before abstractions like the number arose, there were mathematical concepts to
serve the purposes of civilization.
These concepts are implicit in concrete practices such as :
one-to-one correspondence, a rule to count how many items, say on a tally stick, eventually
abstracted into numbers; comparison to a standard, a method for assuming
reproducibility in a measurement, for example, the number of coins;
the 3-4-5 right triangle was a device for assuring a right angle, using ropes with 12
evenly spaced knots, for example.
Numbers Eventually, the concept of numbers became
concrete and familiar enough for counting to arise, at times with sing-song mnemonics
to teach sequences to others.
All known languages have words for at least "one" and "two", and even some animals like
the blackbird can distinguish a surprising number of items.
Advances in the numeral system and mathematical notation eventually led to the discovery of
mathematical operations such as addition, subtraction, multiplication, division, squaring,
square root, and so forth.
Eventually the operations were formalized, and concepts about the operations became understood
well enough to be stated formally, and even proven.
See, for example, Euclid's algorithm for finding the greatest common divisor of two numbers.
By the High Middle Ages, the positional Hindu-Arabic numeral system had reached Europe, which allowed
for systematic computation of numbers.
During this period, the representation of a calculation on paper actually allowed calculation
of mathematical expressions, and the tabulation of mathematical functions such as the square
root and the common logarithm and the trigonometric functions.
By the time of Isaac Newton's research, paper or vellum was an important computing resource,
and even in our present time, researchers like Enrico Fermi would cover random scraps
of paper with calculation, to satisfy their curiosity about an equation.
Even into the period of programmable calculators, Richard Feynman would unhesitatingly compute
any steps which overflowed the memory of the calculators, by hand, just to learn the answer.
Early computation
The earliest known tool for use in computation was the abacus, and it was thought to have
been invented in Babylon circa 2400 BC.
Its original style of usage was by lines drawn in sand with pebbles.
Abaci, of a more modern design, are still used as calculation tools today.
This was the first known computer and most advanced system of calculation known to date
- preceding Greek methods by 2,000 years.
In 1110 BC, the south-pointing chariot was invented in ancient China.
It was the first known geared mechanism to use a differential gear, which was later used
in analog computers.
The Chinese also invented a more sophisticated abacus from around the 2nd century BC known
as the Chinese abacus).
In the 5th century BC in ancient India, the grammarian Pāṇini formulated the grammar
of Sanskrit in 3959 rules known as the Ashtadhyayi which was highly systematized and technical.
Panini used metarules, transformations and recursions.
In the 3rd century BC, Archimedes used the mechanical principle of balance to calculate
mathematical problems, such as the number of grains of sand in the universe, which also
required a recursive notation for numbers, the myriad myriad ... .
The Antikythera mechanism is believed to be the earliest known mechanical analog computer.
It was designed to calculate astronomical positions.
It was discovered in 1901 in the Antikythera wreck off the Greek island of Antikythera,
between Kythera and Crete, and has been dated to circa 100 BC.
Mechanical analog computer devices appeared again a thousand years later in the medieval
Islamic world and were developed by Muslim astronomers, such as the mechanical geared
astrolabe by Abū Rayhān al-Bīrūnī, and the torquetum by Jabir ibn Aflah.
According to Simon Singh, Muslim mathematicians also made important advances in cryptography,
such as the development of cryptanalysis and frequency analysis by Alkindus.
Programmable machines were also invented by Muslim engineers, such as the automatic flute
player by the Banū Mūsā brothers, and Al-Jazari's humanoid robots and castle clock, which is
considered to be the first programmable analog computer.
During the Middle Ages, several European philosophers made attempts to produce analog computer devices.
Influenced by the Arabs and Scholasticism, Majorcan philosopher Ramon Llull devoted a
great part of his life to defining and designing several logical machines that, by combining
simple and undeniable philosophical truths, could produce all possible knowledge.
These machines were never actually built, as they were more of a thought experiment
to produce new knowledge in systematic ways; although they could make simple logical operations,
they still needed a human being for the interpretation of results.
Moreover, they lacked a versatile architecture, each machine serving only very concrete purposes.
In spite of this, Llull's work had a strong influence on Gottfried Leibniz, who developed
his ideas further, and built several calculating tools using them.
Indeed, when John Napier discovered logarithms for computational purposes in the early 17th
century, there followed a period of considerable progress by inventors and scientists in making
calculating tools.
The apex of this early era of formal computing can be seen in the difference engine and its
successor the analytical engine, both by Charles Babbage.
The analytical engine combined concepts from his work and that of others to create a device
that if constructed as designed would have possessed many properties of a modern electronic
computer.
These properties include such features as an internal "scratch memory" equivalent to
RAM, multiple forms of output including a bell, a graph-plotter, and simple printer,
and a programmable input-output "hard" memory of punch cards which it could modify as well
as read.
The key advancement which Babbage's devices possessed beyond those created before his
was that each component of the device was independent of the rest of the machine, much
like the components of a modern electronic computer.
This was a fundamental shift in thought; previous computational devices served only a single
purpose, but had to be at best disassembled and reconfigured to solve a new problem.
Babbage's devices could be reprogramed to solve new problems by the entry of new data,
and act upon previous calculations within the same series of instructions.
Ada Lovelace took this concept one step further, by creating a program for the analytical engine
to calculate Bernoulli numbers, a complex calculation requiring a recursive algorithm.
This is considered to be the first example of a true computer program, a series of instructions
that act upon data not known in full until the program is run.
Several examples of analog computation survived into recent times.
A planimeter is a device which does integrals, using distance as the analog quantity.
Until the 1980s, HVAC systems used air both as the analog quantity and the controlling
element.
Unlike modern digital computers, analog computers are not very flexible, and need to be reconfigured
manually to switch them from working on one problem to another.
Analog computers had an advantage over early digital computers in that they could be used
to solve complex problems using behavioral analogues while the earliest attempts at digital
computers were quite limited.
Since computers were rare in this era, the solutions were often hard-coded into paper
forms such as nomograms, which could then produce analog solutions to these problems,
such as the distribution of pressures and temperatures in a heating system.
None of the early computational devices were really computers in the modern sense, and
it took considerable advancement in mathematics and theory before the first modern computers
could be designed.
The Z3 computer from 1941, by German inventor Konrad Zuse was the first working programmable,
fully automatic computing machine.
The ENIAC was the first electronic general-purpose computer, announced to the public in 1946.
It was Turing-complete, digital, and capable of being reprogrammed to solve a full range
of computing problems.
Navigation and astronomy Starting with known special cases, the calculation
of logarithms and trigonometric functions can be performed by looking up numbers in
a mathematical table, and interpolating between known cases.
For small enough differences, this linear operation was accurate enough for use in navigation
and astronomy in the Age of Exploration.
The uses of interpolation have thrived in the past 500 years: by the twentieth century
Leslie Comrie and W.J.
Eckert systematized the use of interpolation in tables of numbers for punch card calculation.
Weather prediction The numerical solution of differential equations,
notably the Navier-Stokes equations was an important stimulus to computing, with Lewis
Fry Richardson's numerical approach to solving differential equations.
To this day, some of the most powerful computer systems on Earth are used for weather forecasts.
Symbolic computations By the late 1960s, computer systems could
perform symbolic algebraic manipulations well enough to pass college-level calculus courses.
See also Algorithm
Charles Babbage Institute - research center for history of computing at University of
Minnesota Computing timelines category
History of software Index of history of computing articles
IT History Society List of mathematicians
Timeline of quantum computing References
External links The History of Computing by J.A.N. Lee
"Things that Count: the rise and fall of calculators" The History of Computing Project
SIG on Computers, Information and Society of the Society for the History of Technology
The Modern History of Computing Cringely's "Triumph of the Nerds"
Top 25 Days in Computing History A Chronology of Digital Computing Machines
by Mark Brader Bitsavers, an effort to capture, salvage,
and archive historical computer software and manuals from minicomputers and mainframes
of the 50s, 60s, 70s, and 80s Cyberhistory by Keith Falloon.
UWA digital thesis repository.
Arithmometre.org, The reference about Thomas de Colmar's arithmometers
Yahoo Computers and History "All-Magnetic Logic Computer".
Timeline of Innovations.
SRI International.
Developed at SRI International in 1961 Famous Names in the History of Computing.
Free source for history of computing biographies.
Stephen White's excellent computer history site
Soviet Calculators Collection - a big collection of Soviet calculators, computers, computer
mices and other devices Logarithmic timeline of greatest breakthroughs
since start of computing era in 1623 by Jürgen Schmidhuber, from "The New AI: General & Sound
& Relevant for Physics, In B. Goertzel and C. Pennachin, eds.: Artificial General Intelligence,
p. 175-198, 2006."
IEEE computer history timeline Konrad Zuse, inventor of first working programmable
digital computer by Jürgen Schmidhuber The Moore School Lectures and the British
Lead in Stored Program Computer Development, article from Virtual Travelog
Technology— and-SocietyCourseHome/index.htm MIT STS.035 — History of Computing from
MIT OpenCourseWare for undergraduate level Key Resources in the History of Computing
Italian computer database of brands Computer History - a collection of articles
by Bob Bemer [1]
YouTube video comparing 1980s home computers to 2010s technology
A visual timeline of the development of computers since COLOSSUS' inception in 1943
History of Computing Visualisation British history links
Resurrection Bulletin of the Computer Conservation Society 1990–2006
The story of the Manchester Mark I, 50th Anniversary website at the University of Manchester
Richmond Arabian History of Computing Group Linking the Gulf and Europe