History - StFXpeople.stfx.ca/igondra/csci140/lectures/part1-2.pdf · • Ancient history ... the...

Preview:

Citation preview

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