highlights of the history of computationmercer/ista130/presentations/history... · highlights of...

30
Topic 1: Highlights of the History of Computation History of Computation – ISTA 130 v1.0 (McCann) – p. 1

Upload: dokhue

Post on 10-Apr-2018

219 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Topic 1:

Highlights of the History of Computation

History of Computation – ISTA 130 v1.0 (McCann) – p. 1

Page 2: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

What is a “Computer”?

• Originally, a “computer” was an occupation

◦ In 1500s France, a computeur was a person who performed

calculations, such as a surveyor or an astronomer

• Today, a computer is a machine that performs

calculations. But . . .

◦ How do we define ‘machine?’ ‘Calculations?’

◦ Which of these are “computers?”

· iPhone?

· graphing calculator?

· MP3 player?

· microwave oven?

· LCD wristwatch?

History of Computation – ISTA 130 v1.0 (McCann) – p. 2

Page 3: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (1 / 16): The AbacusImage Credit: Wikimedia Commons

• Dates to at least 1000 B.C.

• Often faster than a calculator for basic math!

History of Computation – ISTA 130 v1.0 (McCann) – p. 3

Page 4: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (2 / 16): PascalineImage Credit: Wikimedia Commons

• Invented by French mathematician Blaise Pascal in

1642 at age 19

• Could add and subtract in decimal

• Pascal claimed to have build 50 and sold a dozen

History of Computation – ISTA 130 v1.0 (McCann) – p. 4

Page 5: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (3 / 16): The Difference Engine

Image Credit: Jitze Couperus

• Designed by Charles Babbage in the early 1800s• Meant to create tables of logarithms• Finally built in 1991 – and it worked!

History of Computation – ISTA 130 v1.0 (McCann) – p. 5

Page 6: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (4 / 16): The Analytical Engine

Image Credit: Douglas Eichenberg

• Also designed by Babbage, in 1837, but never built• Programmable via punched cards• Its first program is credited to Ada, Countess of Lovelace

History of Computation – ISTA 130 v1.0 (McCann) – p. 6

Page 7: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (5 / 16): Hollerith’s Tabulating Machine

Image Credit: Computer History Museum, San Jose, CA

• Cut US census time from 7.5 (1880) to <3 (1890) years• Popularized punched cards for data storage• Hollerith’s company became IBM in 1924

History of Computation – ISTA 130 v1.0 (McCann) – p. 7

Page 8: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (6 / 16): The ABCImage Credit: kerryr.net

• ABC == (John) Atanasoff - (Clifford) Berry Computer (1937)• The first electronic digital computer• Stored values in binary (base 2)• Not general-purpose; solved systems of ≤ 28 linear equations

History of Computation – ISTA 130 v1.0 (McCann) – p. 8

Page 9: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (7 / 16): Konrad Zuse’s Z3Image Credit: Wikimedia Commons

• The first programmable, automatic computer (1941)• Electromechanical (2,000 relays)• Used by Germany to study performance of airplane wings• Destroyed by Allied bombs in 1943

History of Computation – ISTA 130 v1.0 (McCann) – p. 9

Page 10: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (8 / 16): ColossusImage Credit: Wikimedia Commons

• First electronic, digital, programmable computers (1944)• Used by Britain to decrypt German communications during WWII• Kept classified until the late 1970s

History of Computation – ISTA 130 v1.0 (McCann) – p. 10

Page 11: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (9 / 16): Harvard Mark IImage Credit: www2.wu-wien.ac.at

• Designed by Howard Aiken, built by IBM• Installed at Harvard in 1944• Electromechanical (3,500 relays)• Speed: 3 additions/second, 10 multiplications/minute

History of Computation – ISTA 130 v1.0 (McCann) – p. 11

Page 12: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (10 / 16): ENIACImage Credit: U.S. Army

• ENIAC == Electronic Numerical Integrator And Calculator• Designed by John Mauchly and J. Presper Eckert• The first general-purpose, electronic computer (1946)• 17,468 vacuum tubes; 300 multiplications/second• 1000x faster than electomechanical computers• Programmed via switches and cables

History of Computation – ISTA 130 v1.0 (McCann) – p. 12

Page 13: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (11 / 16): UNIVAC IImage Credit: computermuseum.li

• UNIVAC == UNIVersal Automatic Computer• The first commercial computer in the US (1951)

◦ First buyer: The US Census Bureau

• Used by CBS to forecast 1952 presidential election

History of Computation – ISTA 130 v1.0 (McCann) – p. 13

Page 14: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (12 / 16): CDC 6600Image Credit: Wikimedia Commons

• The first ‘successful’ supercomputer (1964); over 100 sold• Designed by Seymour Cray, the ‘father of supercomputing’• Used transistor-based memory• Clock speed: 10 MHz (Apple iPhone 4: 800 MHz)

History of Computation – ISTA 130 v1.0 (McCann) – p. 14

Page 15: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (13 / 16): Micral NImage Credit: feb-patrimoine.com

• First pre-assembled commercial microcomputer (1973)

• Used the Intel 8008 microprocessor (clock: 500 KHz)

• Keyboard and screen became available in 1974

History of Computation – ISTA 130 v1.0 (McCann) – p. 15

Page 16: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (14 / 16): Xerox AltoImage Credit: Saschapohflepp

• Developed at Xerox’s Palo Alto

Research Center (PARC) in 1973

• The Alto was remarkable for its

similarities to modern computers:

◦ Graphical user interface (GUI)◦ Mouse◦ Ethernet networking◦ WYSIWYG word processing◦ Networked multiplayer games

• Not sold; about 2,000 were built for

universities and internal use at a cost of $10,000 each

• Steve Jobs ‘borrowed’ some of these ideas for the Apple Lisa (and,

a year later, Macintosh) History of Computation – ISTA 130 v1.0 (McCann) – p. 16

Page 17: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (15 / 16): Apple IImage Credit: swtpc.com

• The first product of

Apple Computer (1976)

• Created by Steve Wozniak

and Steve Jobs

• Just a circuit board;

user supplied the rest

• CPU: MOS 6502 (1.02 MHz,

∼ 4,000 transistors)

• Memory: 4KB standard (expandable to 48KB)

• For $75, could add cassette tape storage (came with Integer

BASIC)

History of Computation – ISTA 130 v1.0 (McCann) – p. 17

Page 18: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Computers of Yore (16 / 16): IBM PCImage Credit: Wikimedia Commons

• Introduced August 12, 1981

• CPU: Intel 8088 (4.77 MHz,

∼ 27,000 transistors)

• Came with “IBM Cassette

BASIC” in ROM

• Cost $3,005 with monitor,

64 KB of memory, and

a 5.25-inch floppy drive

History of Computation – ISTA 130 v1.0 (McCann) – p. 18

Page 19: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Transistor Counts in CPUsImage Credit: Wikimedia Commons

• Moore’s Law: Transistor counts

double every two years

◦ Has been pretty accurate

since 1971 for CPUs

• Sample CPUs:

Year CPU # of Transistors

1979 Intel 8088 29,0001993 Pentium 3,100,0002000 Pentium IV 42,000,0002006 Core 2 Duo 291,000,0002010 Core i7 (6 cores) 1,170,000,000

History of Computation – ISTA 130 v1.0 (McCann) – p. 19

Page 20: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

People of Yore (1 / 4): Ada Lovelace (1815-52)Artist: Margaret Carpenter

• Daughter of the poet Lord Byron

• Met Charles Babbage in 1833

• Translated an Italian document

on the Analytical Engine

• Added “Notes” (A–G) which included

instructions for computing Bernoulli

Numbers

• Considered the first computer

programmer

History of Computation – ISTA 130 v1.0 (McCann) – p. 20

Page 21: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

People of Yore (2 / 4): Alan Turing (1912-54)Image Credit: Jon Callas

• English mathematician and

cryptanalyst

• Created a model of

computation known as

the Turing machine

• Proved that his machine

could compute anything

computable

• Today, we say that a programming language is ‘Turing complete’ if

and only if it can simulate a Turing machine.

• See also: Church-Turing Thesis, Turing Test, Turing Award

History of Computation – ISTA 130 v1.0 (McCann) – p. 21

Page 22: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

People of Yore (3 / 4): John Backus (1924-2007)

Image Credit: IBM

• Hired in 1950 to be a programmer at IBM

• Led team that created FORTRAN,

the first high-level programming

language, from 1954-7

• Created Backus-Naur Form (BNF)

to describe language grammars

• Won the Turing Award in 1977

History of Computation – ISTA 130 v1.0 (McCann) – p. 22

Page 23: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

People of Yore (4 / 4): Grace Hopper (1906-92)Image Credit: gracehopper.org

• Earned a PhD in Math from Yale in 1934

• Worked as a programmer of the

Harvard Mark I

◦ Popularized “debugging” after a moth

was removed from a relay

• Designed the language FLOW-MATIC

that inspired the development of COBOL

• Retired as Rear Admiral in 1986

• Liked to hand out 30cm wires representing one nanosecond

History of Computation – ISTA 130 v1.0 (McCann) – p. 23

Page 24: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

Progression of Programming Languages

• Programming Languages are the intermediaries

between humans and computers

◦ We express our intentions in a programming

language, and those statements are translated to

instructions that the computer can understand

• Languages are sometimes grouped into ‘generations,’

based on their distance from the computer’s native set

of operations

History of Computation – ISTA 130 v1.0 (McCann) – p. 24

Page 25: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

1st Generation: Machine Language (ML)

• Direct representations of the computer’s instructions

• Each CPU design has its own machine language

• Example: Generate the ‘99 Bottles of Beer’ lyrics in Apple II (MOS

6502) machine language:

1000:A9 63 85 FE A9 14 20 2B 10 A2 23 A0 02 20 4F 101010:A9 08 20 2B 10 A2 00 A0 45 C6 FE 30 32 A2 46 A01020:24 20 4F 10 A9 17 20 2B 10 F0 D9 48 A6 FE D0 091030:A2 6A A0 07 20 4F 10 F0 05 A9 00 20 24 ED A0 081040:A6 FE CA D0 01 88 A2 27 20 4F 10 A2 2F 68 A8 BD1050:5A 10 20 ED FD E8 88 D0 F6 60 AE 8D C7 CF A0 D41060:CF A0 D4 C8 C5 A0 D3 D4 CF D2 C5 A0 C1 CE C4 A01070:C2 D5 D9 A0 D3 CF CD C5 A0 CD CF D2 C5 AC 8D B91080:B9 A0 C2 CF D4 D4 CC C5 D3 A0 CF C6 A0 C2 C5 C51090:D2 A0 CF CE A0 D4 C8 C5 A0 D7 C1 CC CC AE 8D 8D10A0:AE 8D D4 C1 CB C5 A0 CF CE C5 A0 C4 CF D7 CE A010B0:C1 CE C4 A0 D0 C1 D3 D3 A0 C9 D4 A0 C1 D2 CF D510C0:CE C4 AC 8D CE CF A0 CD CF D2 C5

Credit: 99-bottles-of-beer.net

History of Computation – ISTA 130 v1.0 (McCann) – p. 25

Page 26: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

2nd Generation: Assembly Language (AL)

• Computer instructions are represented by mnemonics

• A program called an assembler translates the mnemonics into

machine language

• Example: A 80386 assembly language fragment:

cmp eax, 0

jz thenblock

mov ebx, 2

jmp next

thenblock:

mov ebx, 1

next:

Credit: drpaulcarter.com/pcasm

History of Computation – ISTA 130 v1.0 (McCann) – p. 26

Page 27: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

3rd Generation: High-Level Languages (HLLs)

• Closer to English than is assembly language

• One HLL statement may represent several machine language

commands

• HLLs include FORTRAN, COBOL, C, and Java

• Example: Python (another HLL):

for i in range(1,11,1):

if i % 2 == 0:

print(i, "is even.")

else:

print(i, "is odd.")

History of Computation – ISTA 130 v1.0 (McCann) – p. 27

Page 28: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

4th Generation: ‘What, not How’ Languages (4GLs)

• All prior generations require the programmer to tell the computer

exactly what to do and how to do it

• 4GLs allow the programmer to state only what they want the

computer to do; the computer will figure out the how by itself

• Example: SQL (the standard relational database language):

SELECT name, salary, manager_name

FROM employee, supervisor

WHERE boss_id = manager_id

AND salary < 35000;

• Possible because of the restricted problem domain!

History of Computation – ISTA 130 v1.0 (McCann) – p. 28

Page 29: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

A Brief History of Python ( 1 / 2 )Image Credit: Jason E. Kaplan

• Python was created in the late 1980s

by Guido van Rossum, while working

as a programmer in Amsterdam

• Named after “Monty Python’s Flying

Circus”

• Features:

◦ Interpreted (vs. Compiled)◦ Object-Oriented (as are C++ and Java)◦ Portability (available for many operating systems)◦ Easy-to-learn syntax

• Used by Google, Industrial Light and Magic, Rackspace, NYSE,

YouTube, NASA, reddit, . . .

History of Computation – ISTA 130 v1.0 (McCann) – p. 29

Page 30: Highlights of the History of Computationmercer/ista130/Presentations/history... · Highlights of the History of Computation ... The Abacus Image Credit: ... • Invented by French

A Brief History of Python ( 2 / 2 )

• Timeline of Python’s Development:

◦ Dec 1989 – Project started

◦ Feb 1991 – First release (v. 0.9)

◦ Jan 1994 – Version 1.0

◦ Oct 2000 – Version 2.0

◦ Dec 2009 – Version 3.0

· Note: 3.0 is not backward-compatible

• Current (August 2011) versions are:

◦ 2.7 (last of the 2.* line)

◦ 3.2

• In this class, we’ll be using Python 3.

History of Computation – ISTA 130 v1.0 (McCann) – p. 30