history - stfxpeople.stfx.ca/igondra/csci140/lectures/part1-2.pdf · • ancient history ... the...
TRANSCRIPT
1
History
• Ancient history
Earliest computing device consisted of the five fingers
of each hand
After a few million years of human evolution, someone
had the idea that pebbles could be used just as well
as fingers to count things
• Ancient man (30,000 BC. to 20,000 BC.) collected pebbles to represent the number of items he possessed
• In other cultures, the stones were replaces by
– Notches in a stick
– Knots tied in a cord
– Marks on a clay tablet
The form the pebble container should take for handy
calculations kept many of the best minds busy for
centuries
• First “computer”?
The first actual calculating mechanism known to us is
the abacus, which was invented about 2000 years
ago
Video
Unclear whether the Roman abacus influences the
Chinese abacus or vice-versa
• Rome and China were in contact via trade at the time
The Roman abacus was far slower than the Chinese
but much faster than hand calculations with Roman
numerals
The Chinese abacus was first mentioned around 190
AD. They became widely used around 1200 AD. Note
the two rows of “count 5” beads
• Numbers
The familiar way to write numbers using just the ten
numerals (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) and do arithmetic
(adding, subtracting, multiplying, dividing) by the
procedures we are all taught in elementary school is
known as the Hindu-Arabic system
• Major advantage of this system is that it is positional - the position of each numeral matters. This allows for a straightforward set of rules for doing arithmetic, i.e., manipulation symbols
• Long before this system, the Babylonians had a positional number system, based on 60
– Vestiges of this system remain
» 60 seconds in a minute
» 60 minutes in an hour
» Etc..
Prior to 13th century, only Europeans who were aware
of this system were scholars who used it solely to do
mathematics
• Traders, etc.. used Roman numerals and performed calculations by complicated finger procedures or with the aid of a mechanical abacus
• Roman system
(class discussion and examples)
• More recent history
Many references cite the French mathematician,
physicist, and theologian Blaise Pascal as being the
inventor of the first mechanical calculator in 1642,
the Arithmetic Machine
However, it now appears that the first mechanical
calculator may have been conceived by someone
else almost 150 years earlier than Pascal's machine.
Can you guess who?
• Leonardo Da Vinci
Gottfried Leibniz (1646-1716), philosopher, inventor of
calculus, pioneer of symbolic logic, was also
interested in the idea of mechanical calculation
[...] it is beneath the dignity of excellent men to waste
their time in calculation when any peasant could do
the work just as accurately with the aid of a machine
—Gottfried Leibniz
Leibniz learned about Pascal’s machine and
concentrated on expanding its mechanism so that it
could multiply and divide
In 1671, he started working on a machine, the Stepped
Reckoner, that could perform the four basic
arithmetical operations. He gradually improved it over
the years
A number of versions of the machine were constructed
in Leibniz’s lifetime. However, his ideas pushed the
technology of the time to its limits and the machine
was prone to jamming and malfunctioning
The idea of computing over domains other than
numbers was also in the air
Between 1770-1854, the Turk, a mechanical chess
player, took on all comers
• Victims include Napolean Bonaparte and Benjamin Franklin
• The Turk was destroyed by fire in 1854
• Sadly, there years later, it was revealed to have been a fake; a human being concealed inside operated it
Video
In the early 1800s, a French silk weaver called Joseph-
Marie Jacquard invented a way of automatically
controlling the warp and weft threads on a silk loom
by recording patterns of holes in a string of cards
The first device that might be considered to be a computer in the modern sense of the word was the Difference Engine to automatically calculate mathematical tables conceived in 1822 by the British mathematician and inventor Charles Babbage
Only partially completed when he conceived the idea of
a more sophisticated machine, the Analytical Engine
• The Analytical Engine was intended to use loops of Jacquard's punched cards to control an automatic calculator, which could make decisions based on the results of previous computations
• The “mill”, which did the four basic arithmetic operations, comparisons and square roots is the only part which was ever built
Working with Babbage was Augusta Ada Lovelace, the
daughter of the English poet Lord Byron. Ada, who
was a splendid mathematician and one of the few
people who fully understood Babbage's vision,
created a program for the Analytical Engine
• She is now credited as being the first computer programmer and, in 1979, a modern programming language was named ADA in her honor
(handout)
In 1939, a German engineer, Konrad Zuse built the first
programmable, general-purpose digital computer.
His computer was built from electric relays to
automate engineering calculations
• “I was too lazy to calculate and so I invented
the computer.”
John Atanasoff invented the Atanasoff-Berry Computer
(ABC) —the first electronic digital computer. Built in
1939, this computer used vacuum tubes and was
based on binary arithmetic. It was never a fully
operational product
In 1944, Howard Aiken completed the Mark I, the
largest electromechanical calculator ever built. It
was built with electromechanical relays and followed
instructions punched in paper tape
• The first computer “bug”
In 1945, Mauchly and Eckert built the ENIAC (Electronic
Numerical Integrator and Computer). The ENIAC
was built with 18,000 vacuum tubes that failed on an
average of once every seven minutes
After the war, they created the UNIVAC I - the first
general-purpose commercial computer
• First-Generation Computers
1930s – 1940s
Vacuum tubes used as switches
Large computers
Extremely slow by today’s standards
Prone to frequent failure
Includes the ABC, Mark I, ENIAC, UNIVAC,
and others of similar design
• Second-Generation Computers
1950s – mid-1960s
Transistors used as switches
Smaller than vacuum-tube-built computers
As much as a thousand times faster than
first-generation computers
More reliable and less expensive
• Third-Generation Computers
Late 1960s
Hundreds of transistors packed into a single integrated
circuit on a silicon chip
Dramatic reduction in size and cost
Significant increases in reliability, speed, and efficiency
Mass production techniques to manufacture chips
inexpensively
• Fourth-Generation Computers
1970s to present
Complete computer on a chip
Radical change in the appearance, capability and
availability of computers
• Technology Trends: Microprocessor Complexity
2X Transistors / ChipEvery 1.5 years
Called “Moore’s Law”
Gordon MooreIntel Cofounder
Year
# o
f tr
an
sis
tors
on
an
IC
2713
Machine LanguageComputer programs written in binary (1s and 0s)
Assembly Languages and TranslatorsPrograms written using mnemonics, which were
translated into machine language
Evolution of Software
28
Assembly/Machine
Systems programmers
write the assembler(translator)
Applications programmers
use assembly language to solve problems
2914
High-level LanguagesEnglish-like statements made programming easier:
Fortran, COBOL, Lisp
Evolution of Software
Systems
programmerswrite translators for
high-level languages
Application
programmers
use high-levellanguages to
solve problems