Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use...
-
Upload
trever-turney -
Category
Documents
-
view
219 -
download
0
Transcript of Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use...
![Page 1: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/1.jpg)
Introduction to the History of Computing
![Page 2: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/2.jpg)
Mechanical “Computers”Generation 0
• 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
![Page 3: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/3.jpg)
Abacus (cont.)
Modern: 1200 A.D to present
Middle Ages 5 A.D to c1400 A.D
Ancient times: 300 B.C. to c500A.D.
![Page 4: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/4.jpg)
Da Vinci’s Mechanical Calculator
Notebook sketches c1500
Working model
![Page 5: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/5.jpg)
Napier’s Bones• Early 1600s• Multiplication tables inscribed
on strips of wood and bones
![Page 6: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/6.jpg)
Oughtred’s Slide Rule• Rev. William Oughtred
1621• Use logs to perform
multiplication and division by using addition and subtraction
![Page 7: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/7.jpg)
Pascal’s arithmetic engine• Blaise Pascal (1623-1662)• Mechanical calculator for addition
and subtraction
![Page 8: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/8.jpg)
Leibnez’s Step Reckoner• Gottfried von Leibnez
1670• Add, subtract, multiply,
divide, square roots
![Page 9: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/9.jpg)
Jacquard’s punch card• Joseph Marie Jacquard• 1805 punch cards used to
operator loom• Could reprogram loom by
changing cards
![Page 10: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/10.jpg)
Babbage’s Engines
•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
Charles Babbage
(1791-1871)
![Page 11: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/11.jpg)
The World’s First Programmer• Lady Ada Byron, Countess of
Lovelace (1815-1952) • Understood Babbage’s
Analytical Engine• saw it as what we would call a
general-purpose computer. • Her notes anticipate future
developments, including computer-generated music.
![Page 12: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/12.jpg)
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
![Page 13: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/13.jpg)
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
![Page 14: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/14.jpg)
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)
![Page 15: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/15.jpg)
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
![Page 16: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/16.jpg)
Vacuum TubesGeneration 1
• 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
![Page 17: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/17.jpg)
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
![Page 18: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/18.jpg)
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.
![Page 19: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/19.jpg)
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
![Page 20: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/20.jpg)
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
![Page 21: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/21.jpg)
TransistorsGeneration 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
![Page 22: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/22.jpg)
Integrated CircuitsGeneration 3
• Integrated circuits contain many transistors on one chip
• 1971 Intel produces 4004 chip with all circuitry for a calculator
![Page 23: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/23.jpg)
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
![Page 24: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/24.jpg)
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
![Page 25: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/25.jpg)
Programming Language HistoryGeneration 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
01111111010001010100110001000110000000010000001000000001000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000100000
00000000010000000000000000000000000000000010000000000000000000000000000000
00000000000000000000000000000000000000000000000000000001010000100000000000
00000000000000000000000000000000011010000000000000000000000000000000000000
00000001010000000000000001000000000000000000100000000001011100111001101101
00001110011011101000111001001110100011000010110001000000000001011100111010
00110010101111000011101000000000000101110011100100110111101100100011000010
11101000110000100000000001011100111001101111001011011010111010001100001011
00010000000000010111001110011011101000111001001110100011000010110001000000
00000101110011100100110010101101100011000010010111001110100011001010111100
00111010000000000001011100110001101101111011011010110110101100101011011100
11101000000000000000000000000000000000010011101111000111011111110010000000
10011000000000000000000000000100100000001001001100000000000000001010100000
00000000000000000001001001000010010101000000000000001000000000000000000000
00000000000000001000000000000000000000000101000000001000000000000000010001
00100000001000000000000000100000001010100000000000000000000000010010010000
10010101000000000000001000000000000000000000000000000000000010000000000000
00000000000101100000001000000000000000100001000000000000000000000100000000
10000000000000000000000001000000111000111111000000000100010000001111010000
00000000000000000000000000000000000000000000000010010000110010101101100011
01100011011110111011101101111011100100110110001100100001000010000000000000
00000000000000000000000000000000000000000000000000100000000000000000000000
00000000000000000000000000000000000000000000001000000000011111111111100010
00000000000000000000000000000010000000000000000000000000000000000000000000
00000000000000000000000000100000000001111111111110001000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000001100000000000000000000001100000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00100000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000110000000000000000000000100000000000000000
![Page 26: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/26.jpg)
Programming Language HistoryGeneration 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 & machine-specific, 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"
![Page 27: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/27.jpg)
Programming Language HistoryGeneration 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
![Page 28: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/28.jpg)
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
![Page 29: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/29.jpg)
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.
![Page 30: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/30.jpg)
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
![Page 31: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/31.jpg)
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.
![Page 32: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/32.jpg)
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.
![Page 33: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/33.jpg)
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.
![Page 34: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/34.jpg)
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
![Page 35: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/35.jpg)
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.
![Page 36: Introduction to the History of Computing. Mechanical “Computers” Generation 0 Didn’t use electricity, some used gears, wires, beads Abacus 1000-500 BC.](https://reader035.fdocuments.net/reader035/viewer/2022062404/551b3df3550346dd1a8b551a/html5/thumbnails/36.jpg)
Programming Language HistoryGeneration 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"