Download ICS 1.1 Computer History

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Computer cluster wikipedia , lookup

Abstraction (computer science) wikipedia , lookup

Object-oriented programming wikipedia , lookup

BASIC wikipedia , lookup

Go (programming language) wikipedia , lookup

Programming language wikipedia , lookup

Structured programming wikipedia , lookup

History of compiler construction wikipedia , lookup

C Sharp (programming language) wikipedia , lookup

Transcript
History of the
Computer
Brief History of Computers
- Calculators are used to increase speed and accuracy of
numerical computations


The abacus has roots dating back over 5,000 years
Mechanical calculators have been relatively commonplace since late 19th
century
- What is a computer?




1-2
A mechanical or electronic device
Stores, retrieves, manipulates large amounts of information at high
speed, with great accuracy
Does not need human intervention
Carries out instructions from a program
The First Computers:
Mechanical “Computers”
 Didn’t use electricity, some used gears, wires, beads
 Abacus
 1000-500 BC (Babylonians): mechanical aid used for counting
The Salamis Tablet
(Greek, 300BC)
The Roman Hand
Abacus
Abacus (cont.)
Ancient times: 300 B.C. to
c500A.D.
Middle Ages 5 A.D to c1400
A.D
Modern: 1200 A.D to present
Da Vinci’s Mechanical Calculator
Notebook sketches c1500
Working model
Napier’s Bones
 Early 1600s
 Multiplication tables inscribed
on strips of wood and bones
Oughtred’s Slide Rule
Rev. William Oughtred 1621
Use logs to perform multiplication and
division by using addition and
subtraction
Pascal’s arithmetic engine
 Blaise Pascal (1623-1662)
 Mechanical calculator for addition
and subtraction
Leibnez’s Step Reckoner
Gottfried von Leibnez 1670
Add, subtract, multiply, divide,
square roots
Jacquard’s punch card
 Joseph Marie Jacquard
 1805 punch cards used to
operator loom
 Could reprogram loom by
changing cards
The Pioneers
- Mid-1800’s: Charles Babbage built the Analytical Engine

made from axles and gears that could store and process 40 digit
numbers
- 1940: Howard Aitken at Harvard, and Atanasoff and Berry
at Iowa State created Mark I, an electronic computer.

It could not act on intermediate results.
- 1945: Mauchly and Eckert at U. Pennsylvania built the
ENIAC (Electronic Numerical Integrator and Calculator)


1-11
Weighed 33 tons, 17,000 vacuum tubes
Performed up to 5000 additions per second
Babbage’s Engines
Charles Babbage
(1791-1871)
Same chair at Cambridge as Newton and Hawking
Designed the difference engine and later, the analytical
engine
Brass gears and strings of punch cards run by steam
Analytical Engine never built
The World’s First Programmer
 Lady Ada Byron, Countess of Lovelace (18151952)
 Daughter of Lord
 Understood Babbage’s Analytical Engine
 Her notes anticipate future developments,
including computer-generated music.
Hollerith’s Tabulating Machine
 Herman Hollerith (1860-1929)
 Invented a punched card device to
help analyse the 1890 US census
data
 Founded “Tabulating Machine
Company” 1896
 1924 – Tabulating Machine
Company merges with others to
form IBM
MIT Differential Analyzer
 Purpose: to solve differential
equations
 Mechanical computation with first
use of vacuum tubes for memory
 Programmed by aligning gears on
shafts
 1930s
Alan Turing (1912-1954)
 Develops theory of computability
and the “Turing Machine” model – a
simple but elegant mathematical
model of a general purpose
computer (~1936)
 Helped crack German codes in WWII
(1939-1945)
Konrad Zuse
 1936: Z1 first binary computer using
Erector Set parts, keyboard and lights
for output (relay memory)
 1938: Z2 – using punched tape and
relays
Z1
Vacuum Tubes
 1939 Atanasoff-Berry
Computer
 First electronic-digital
computer?
 Binary numbers, direct logic
for calculation, regenerative
memory
 Prototype 1939
 2 years then to build full
scale model
 One op per 15 secs, 300
vacuum tubes, 700 pounds,
mile of wire
ABC Prototype
The first computers (cont.)
 1943 British Colossus –
first all-electronic
computer? (2,400 vacuum
tubes)
 Decipher enigma coded
messages at 5,000 chars/sec
 At peak, 10 machines ran 24
hours a day
A German enigma coding
machine
The first computers (cont.)
 1943-44 Aiken at Harvard/IBM
“Mark 1” – first electromechanical
digital computer (electromagnetic
relays – magnets open and close
metal switches) (recreation of
Analytical Engine)
 8 ft tall, 50 ft long, 1 million parts
 323 decimal-digit additions per sec
 storage for 72 23-digit numbers.
ENIAC: the computer of the
1940’s!
The ENIAC computer
1-21
ENIAC (1946)
 18,000 tubes, 1500 sq ft
 Programmed by wire plugs into
panels
 5,000 decimal-digit additions/sec
 20 10-decimal digit “accumulators”
Von Neumann and
ENIAC
1941 Von Neumann proposes
EDVAC – Electronic
Discrete Variable
Computer
Computer should
– Use binary
– Have stored programs
– Be function-oriented
UNIVAC-1
 The world’s first commercially available
(non-military) computer
 “I think there is a world market for about
five computers”
 Thomas J. Watson, IBM Chairman
Early Computers: 1940’s – 1950’s
 1945 – 1950’s: First generation computers
- used vacuum tubes to do internal switching needed
for computations
- 1955: about 300 computers in the world built mostly
by IBM and Remington Rand, based on vacuum tubes
- Late 1950s: invention of the transistor was one of most
important inventions of 20th Century

1-24
computers based on the transistor are the first solid-state
computers
Transistors
Generation 2
 Transistors replace vacuum




tubes
Size and cost decreased, speed
increased
1960’s IBM sells large
mainframe computers to
businesses, called 700 series
Mainframes run operating
systems that allow many dumb
terminals to be attached
Typical business applications are
custom written and run in batch
mode
Early Computers: 1960’s
 Early 1960’s:
- DEC created the minicomputer – about the size of a file
cabinet
- Used small packages of transistors called integrated
circuits
 Mainframes such as the IBM 360 are prominent in
large companies and universities
1-26
Integrated Circuits
Generation 3
 Integrated circuits
contain many
transistors on one chip
 1971 Intel produces
4004 chip with all
circuitry for a
calculator
VLSI
Generation 4
 Mid 1970s
 Very large scale integration
 1977 Apple Corporation started by




Steve Jobs sells personal computer for
hobbyists
1980 IBM creates the PC to sell to
businesses
The PC is widely cloned and becomes
widely accepted as prices drop
PCs and clones use a text based
operating system called DOS to
programs
1984 Apple releases the MAC with a
graphical user interface
 Generations on How Webopedia
IBM PC c1982
Programming Language
History
 Programming languages instruct computers what to do
 Charles Babbage's difference engine could only be made
to execute tasks by changing the gears which executed
the calculations
 US Government ENIAC could only be "programmed" by
presetting switches and rewiring the entire system for
each new "program" or calculation
Programming Language History
Generation 1
 late 40’s / early 50’s:
programmers coded
directly in machine
language
 it allowed the
programmer to write its
statements in 0's and 1's
by hand
01111111010001010100110001000110000000010000001000000001000000000000
000000
00000000000000000000000000000000000000000000000000000000000000000000
100000
00000000010000000000000000000000000000000010000000000000000000000000
000000
00000000000000000000000000000000000000000000000000000001010000100000
000000
00000000000000000000000000000000011010000000000000000000000000000000
000000
00000001010000000000000001000000000000000000100000000001011100111001
101101
00001110011011101000111001001110100011000010110001000000000001011100
111010
00110010101111000011101000000000000101110011100100110111101100100011
000010
11101000110000100000000001011100111001101111001011011010111010001100
001011
00010000000000010111001110011011101000111001001110100011000010110001
000000
00000101110011100100110010101101100011000010010111001110100011001010
111100
00111010000000000001011100110001101101111011011010110110101100101011
011100
Programming Language History
Generation 2
 mid 1950’s: assembly languages





replaced numeric codes with
mnemonic names
an assembler is a program that
translates assembly code into
machine code
input: assembly language
program
output: machine language
program
still low-level & machinespecific, but easier to program
In 1951, Grace Hopper (US Rear
Admiral) wrote the first
compiler, A-0, which turned
English-like instructions into 0's
and 1's
gcc2_compiled.:
.global _Q_qtod
.section ".rodata"
.align 8
.LLC0: .asciz "Hello world!"
.section ".text"
.align 4
.global main
.type main,#function
.proc 04
main: !#PROLOGUE# 0
save %sp,-112,%sp
!#PROLOGUE# 1
sethi %hi(cout),%o1
or %o1,%lo(cout),%o0
sethi %hi(.LLC0),%o2
or %o2,%lo(.LLC0),%o1
call __ls__7ostreamPCc,0
nop
mov %o0,%l0
mov %l0,%o0
sethi %hi(endl__FR7ostream),%
or %o2,%lo(endl__FR7ostream),%
call
__ls__7ostreamPFR7ostream_R7ostream,0
nop
mov 0,%i0
b .LL230
nop
.LL230: ret
restore
.LLfe1: .size main,.LLfe1-main
.ident "GCC: (GNU) 2.7.2"
Programming Language History
Generation 3
 In 1957, IBM creates the first of the major languages
called FORTRAN.
 Its name stands for FORmula TRANslating system.
 The language was designed for scientific computing.
 Excellent language for scientific work, difficult
input/output operations
Programming Language
History
 In 1958, John McCarthy of MIT created the LISt
Processing (or LISP) language.
 It was designed for Artificial Intelligence (AI) research.
 Because it was designed for such a highly specialized
field, its syntax has rarely been seen before or since.
 Still in use today for AI research, offsprings include
Scheme
Programming Language
History
 1959 COBOL was developed for businesses.
 COBOL statements have a very English-like grammar,
making it quite easy to learn.
 Much better input/output than FORTRAN permitting
business applications
 Highly successful and used on most IBM mainframe
computers, even today.
Programming Language
History
 The BASIC language was developed in 1964 by John
Kemeny and Thomas Kurtz.
 BASIC is a very limited language and was designed for
non-computer science people.
 Many versions of BASIC were developed, Bill Gates and
his partner started business by writing a version of BASIC
for a hobby computer
 Bill Gates would later start Microsoft when he licenses
the DOS operating system to IBM
Programming Languages
History
 Pascal was begun in 1968 by Niklaus Wirth.
 Its development was mainly out of necessity for a good
teaching tool.
 Pascal was designed in a very orderly approach, it
combined many of the best features of the languages in
use at the time, COBOL, FORTRAN, and ALGOL.
Programming Language
History
 C was developed in 1972 by Dennis Ritchie while
working at Bell Labs in New Jersey.
 The transition in usage from the first major languages to
the major languages of today occurred with the
transition between Pascal and C.
 C was built to be fast and powerful at the expense of
being hard to read.
 Ritchie developed C for the new Unix system being
created at the same time.
 C is very commonly used to program operating systems
such as Unix, Windows, the MacOS, and Linux.
Programming Language
History
 In the late 1970's and early 1980's, a new programming
method was being developed called Object Oriented
Programming, or OOP.
 Bjarne Stroustroup liked this method and developed
extensions to C known as C++, which was released in
1983.
 C++ was designed to organize the raw power of C using
OOP, but maintain the speed of C and be able to run on
many different types of computers.
 C++ is most often used in simulations, such as games.
Programming Language
History
 Visual Basic 1 is released by Microsoft in 1991
 It includes a combination of QuickBasic (Microsoft’s
version of BASIC) and a graphical design tool for creating
the User Interface (originally developed by Alan Cooper)
 It includes an event-driven programming paradigm
Programming Language
History
 In the early 1990's, interactive TV was the technology of the





future.
Sun Microsystems decided that interactive TV needed a special,
portable (can run on many types of machines), language.
This language eventually became Java.
In 1994, the Java project team changed their focus to the web,
which was becoming "the cool thing" after interactive TV failed.
The next year, Netscape licensed Java for use in their internet
browser, Navigator.
At this point, Java became the language of the future.
Programming Language History
Generation 4
 Often abbreviated 4GL, fourth-generation languages are
programming languages closer to human languages than
typical 3rd generation languages.
 In 1969, a language called RAMIS was released
 Most 4GLs are used to access databases and do in a few
lines of code what would require hundreds of lines of
COBOL or C.
 For example, a typical 4GL command is FIND ALL
RECORDS WHERE NAME IS "SMITH"
The Personal Computer
 1970s: The personal computer becomes available
with invention of the microchip
 1974: The microchip, along with the invention of the
microprocessor led to creation of first personal
computer
 Bill Gates and Paul Allen founded Microsoft
Corporation
 Stephen Wozniak and Steven Jobs founded Apple
Computer, Inc.
1-42
The Personal Computer
 1970s: The personal computer becomes available
with invention of the microchip
 1974: The microchip, along with the invention of the
microprocessor led to creation of first personal
computer
 Bill Gates and Paul Allen founded Microsoft
Corporation
 Stephen Wozniak and Steven Jobs founded Apple
Computer, Inc.
1-43
Computers Today
Currently:
- PCs: 95% use Microsoft Windows operating system
with a huge array of available software
- Minicomputers are still popular with small business
and universities
- Mainframes are in use at large corporations
- Supercomputers are very powerful and specialized

1-44
Used for massive computing problems by big corporations and
government departments