1 Why and How Were Programming Languages Developed? Software evolved with hardware –Machine...

Post on 26-Dec-2015

220 views 2 download

Tags:

Transcript of 1 Why and How Were Programming Languages Developed? Software evolved with hardware –Machine...

1Why and How WereProgramming Languages Developed?

• Software evolved with hardware– Machine language

• 000 001 010 011 100 101 110 111

– Assembly languages• ADD R1 R2, SUB R1 001

– Higher-level languages• ForTran, Lisp, COBOL

– Graphical interfaces• mouse, window systems, Mac, MS windows …

– Specialized languages• SQL, KQML, …

2History of Computing –Hardware and Software

• http://www.computerhistory.org/exhibits.html

– http://www.computerhistory.org/timeline/

• http://www.cbi.umn.edu/resources/vintage.html

• http://www.computinghistorymuseum.org/museum/index2.htm

• http://www.obsoletecomputermuseum.org/

3

G

e

n

e

a

I

o

g

y

o

f

C

o

m

m

o

n

L

a

n

g

u

a

g

e

s

4Hardware Evolution

• Analog vs. digital• Mechanical vs. electronic• Switch, vacuum tube, transistor, integrated

circuit, LSI, VLSI, VVLSI• Precursors – mechanical devices• First generation – vacuum tubes• Second generation – transistors• Third generation – integrated circuits

5First: Mechanical Analog Devices

• slide rule: an instrument consisting of a ruler with a central sliding piece, both being marked with logarithmic scales; used in making rapid mathematical calculations. (Webster's, op. cit.)

• clock, n., [ME clock], an instrument for the measurement of time by the motion of its parts, indicating hours, minutes, and often seconds, by hands which move upon a dial plate. It usually consists of a frame containing a train of toothed wheels operated by springs and weights and regulated by a pendulum or balance wheel. (ibid.)

6Abacus 7Earliest Forms Circa 3000 BC

7Slide Rule - Circa 1600

8Joseph Marie Jacquard (1752-1834)

• Born in Lyons, France• Son of silk weavers• Father died and he inherited a small 1772 house

and a hand loom, which he started improving.• Existing technology:

– M. Bouchon (1725) pierced paper– M. Falcon (1728) chain of cards– Jacques deVancason (1754) automaton

9

10

11Another revolution....

• Finished his "machine" 1804• Invention? First person to obtain a practical

arrangement which could be generally adapted to a wide range of problems

• Consiel de Prudhomes broke up his machines 1810

• sabotage: 1. malicious injury to work, tools, machinery, etc. (sabot, Fr. wooden shoe)

• died, August 7, 1834 in Quillons at age 82• 30,000 machines in use in Lyons alone!

12Charles Babbage (1791-1871)

13

• Mechanical device• NOT electrical• user program control

using punched cards– operations cards– variable cards– number cards

• Separation of storage and calculation:

• (V) store mill:• (A) are accumulators• Control by microprogram:• (B) control barrels

Babbage’s Analytical EngineA General Purpose Machine

14Difference Engine

• 1822 original design called for 6 decimal places with second-order difference

• 1830 redesigned difference engine with 20 decimal places and a sixth-order difference

15Science Museum’s Reconstruction

• Difference Engine Number 2 (1847 to 1849)• Science Museum Recreation 1991 (Doron Swade, Curator, below)

– constructed according to Babbage’s original drawings (minor modifications)

• 1991 Bicentenary Celebration• 7 feet high• 11 feet long• 18 inches deep• 4,000 parts• 500,000 pounds

16It’s all a matter of perspective....

• Johann Meuller, Universal Calculator 1784• Georg and Edvard Scheutz (after Lardner)

– Difference Engine #1 a prototype which 1843 produced the first tables calculated and printed by machinery

– Difference Engine #2 sold to Dudley Observatory, Albany, NY (in Smithsonian’s Info. Age) 1853

– Difference Engine #3 was a copy of #2,1859• sold to General Register Office in London; used to produce

the English Life Table, 1864

17Scheutz Difference Engine

18Ada Augusta Byron, 1815-1852

• Corresponded with Charles Babbage• L. F. Menebrea, at (Italian) Office of

Military Engineers wrote “Sketch of the Analytical Engine invented by Charles Babbage, Esq.," in Taylor’s Scientific Memoirs, Vol. III"

• Ada translated paper into English• Taylor’s: "The editorial notes are by

the translator, the Countess of Lovelace." Footnotes enhance the text and provide examples of how the Analytical Engine could be used, i.e., how it would be programmed to solve problems!

• World’s first programmer?

19Importance of the Difference Engine

1. First attempt to devise a computing machine that was automatic in action and well adapted, by its printing mechanism, to a mathematical task of considerable importance.

2. An example of government subsidization of innovation and technology development

3. Spin offs to the machine-tool "industry"

20

• 1834 basic plans formulated for an improved device, capable of calculating any mathematical function!

• Basic problem: how to feed the digits of the result wheels back into the calculation

• Portion of mill completed 1847

• Portion of printing mechanism

• 1834 to 1848 -- 30 sets of plans; seems to have given up on construction due to the problems with the difference engine

• Returned to work on design 1858

• 1871 substantial trial model being developed

• an anticipating carry mechanism; a system of rods for transfer of numbers to the printing mechanism

• Separation of storage and calculation:

• (V) store mill:

• (A) are accumulators

• Control by microprogram:

• (B) control barrels

• user program control using punched cards

– operations cards

– variable cards

– number cards

Babbage’s Analytical EngineA General Purpose Machine

21Analytical Engine

22Analytical Engine 1840

23Vacuum Tubes (Analog)

24Zuse’s Plankalkül - 1945

• Never implemented• Advanced data structures

– floating point, arrays, records

• Invariants

25Pseudocode – 1949-1953

• What was wrong with using machine code? 0100 1000 1100 0101 1001 …– Poor readability– Poor modifiability - generality– Expression coding was tedious poor writability– Machine deficiencies -- no indexing or floating point

• Laning and Zierler System - 1953– Implemented on the MIT Whirlwind computer– First "algebraic" compiler system– Subscripted variables, function calls, expression translation– Never ported to any other machine

261930s-1940s

• Atanasoff at Iowa State University, Ames– J.V. Atanasoff, "Computing Machine for the Solution of large

Systems of Linear Algebraic Equations," (August 1940) in Randell (Ed.), The Origins of Digital Computers, Selected Papers, Springer-Verlag, Berlin, 1973

– J.V. Atanasoff, "Advent of Electronic Digital Computing," Annals, Vol..6, No.3 (July 1984)

• Eckert & Mauchly at University of Pennsylvania– http://www.seas.upenn.edu/~museum/

27John Vincent Atanasoff (1903-1995)

• 1937 -1942, developed and built an automatic electronic digital computer for solving large systems of simultaneous equations.

• 1939, completed and reduced to practice his basic conceptions in an operating breadboard model of a computing machine.

• (1997-99) Reconstruction of Atanasoff Machine, below

28Electr(ical/onic) Analog Computers

• Flight Simulators, including Whirlwind at MIT• Weapons analysis and operation• Electrical engineering problems• Telephone engineering problems

29

• Mauchley – Physics instructor, Ursinus College

• Attends a wartime course on electronics at Moore School

• December 1940 Attends AAS meeting meets John V. Atanasoff

• Working on problems of weather prediction

• Visits Atanasoff in Iowa, June 1941

• Eckert - Met Mauchly while a graduate student supervising laboratory work for a war-time electronics class 1941

• Did wartime research on radar and delay line memories for radar devices

• Chief Engineer on ENIAC• Contract signed when he was

24 years old• First electronic digital engineer

John Mauchly (1907-1980)J. Presper Eckert (1919-1995)

30

• August 1942, John Mauchly writes “The Use of High Speed Vacuum Tube Devices for Calculating” which is ignored!

• 1943, Mauchly and Eckert prepare a proposal for the US Army to build an Electronic Numerical Integrator

• June 26, 1947 Eckert and Mauchly apply for patent on the ENIAC which "embodies our invention...."

Ideas

31Electronic Numerical Integrator andComputer (ENIAC)

• 1st large scale electronic digital computer• Designed and constructed by Eckert and Mauchly• Since 1920s, faculty had worked with Aberdeen Proving Ground’s• Ballistics Research Laboratory

32Vacuum Tubes in the ENIAC

33"Setting up the problem"

• ENIAC was NOT a "stored program" device

• For each problem, someone analyzed the arithmetic processing needed and prepared wiring diagrams to perform the calculations

• Process was time consuming and error prone

• Cleaning personnel knocked cables out and put them back somewhere else!