Chapter 3 – 1952-1968 Early History of Software. Software What is software? Programming? Extremes...
-
Upload
candace-ramsey -
Category
Documents
-
view
219 -
download
1
Transcript of Chapter 3 – 1952-1968 Early History of Software. Software What is software? Programming? Extremes...
Software
What is software? Programming?Extremes
– Microcode vs. InterfaceRead comments - Page 81How did hw & sw fit together?
Summer 1944- – Grace Hopper to Harvard– Howard Aiken, MARK I –Pg. 82
“Thus began the process of computer programming in the U.S.”
Idea for multiple tapes - for code reuse
Very Early Days
Early Programming
Mark III – typed commands, stored on magnetic tape, executed – (p83 pix)
Zuse – “Plan Preparation Machine”– Commands on tape, check syntax, translated– *Rutishauser – Why separate device?
EDSAC- library of paper tape code– Wheeler Jump subroutine call
None stored in internal memory
Early Computers
UNIVAC 1952 Today translate to machine code Punch Cards: pre-punched + transitional = compile Grace Hopper: A-0 compiler at UNIVAC
– Automatic programming– To handle subroutines by copying them into main
Idea: “ Interchangeable parts” too inflexible– Realized were standardizing the wrong level of work
Whirlwind @ MIT
J.H. Laning & N. Zierler“A program for translation of mathematical
equations for Whirlwind I” - 1954– Behaved like modern compilers– Not general purpose - algebraic equations– Backus (FORTRAN) – Elegant but threatened the “priesthood”
– Knuth – too slow
Assemblers
Systems Programming Languages One-to-one binary (machine) codeMacro instructionsSymbolic Addressing (variables)
SHARE
1955 - IBM 701 users in L.A.Compiled library of routinesGrew to 62 membersIBM responded to opinionsHelped transition to 704
Sorting
Applications - Files on tape Up to 1973 - 25% compute time – sorting People “used” printed reports, not computer Betty Holberton @ UNIVAC-1952
– Sorted small groups and merged with master file– Knuth – “1st major software routine ever
developed for automatic programming Later disks & linked lists - plus
FORTRAN - 1957
Formula Transistor- scientific IBM for 704, John BackusStill widely usedKey to success: generated code as
efficient as written codeFast; 704 had floating point hardwareCombination of hiding and access
COBOL-1959
Common Business Oriented Language Dept. of Defense
– Produced language specifications– U.S. govt.: all h.w. must handle COBOL– Thus, one of 1st standardized
Grave Hopper @ UNIVAC– Flow-matic - Use long character names
Year 2000 bug– Not really self documenting
Other Early Languages
ALGOL- Europe, 1958-1960– Hardware independent– Specified in BNF
JOVIAL– Def. Dept. Variant of ALGOL for SAGE– Still used recently
LISP – AI - Lists SNOBOL - Strings RPG – IBM - still used – AS400
Early System Software
Operator scheduled all resourcesSoon became too complexIBM - Job Control Language (JCL)
– What compiler – data or code
1990’s Operating System
MAD: Michigan Algorithmic Decoder
University students needed “help” & needed efficient use of computers
1959: ALGOL Based*Fast Compile *Good Diagnostics
– Memory Dumps
Helped to keep computer busyNOTE: No applications software!
Evolution of Operation Systems
Grew in complexity, size, consumption– Monitor– Supervisor system– Operating system
DOS to Windows (GUI) IBM System/360-1966
– OS/360- business + scientific - Failure
Mini-computers-1960’s– OS development
started over– Small memories– VMS for VAX (DEC)-
1978 Personal Computers
– OS development started over Again!
Computer Science
With Mathematics & Electrical EngineeringStanford and Purdue – 1950’sStanford – George Forsythe
– Mathematics 1961– Separate Dept. 1965
Study of computers vs. Study of AlgorithmsACM Curriculum ‘68 (2013)
Computer Science (cont.)
1968 – ACM – Curriculum - no h.w.1964 -12 University degrees1968 - 1001980 - Most popular major in the US
Donald Knuth- “The Art of Computer Programming”
1968 Published 1st volume of 71: Fundamental Algorithms2: Semi numerical Algorithms3: Searching and Sorting
Knuth Cont.
TBA - in progress4: Combinatorial Algorithms5: Syntactic AlgorithmsMaybe - “God Willing”6: Theory of Context free languages7: Compiler Techniques www-cs-faculty.stanford.edu/~Knuth/taocp.html
Structured Programming
Edsger Dijkstra– Tech. Univ. of Eindhoren, Neth.– University of Texas– March 1968 - CACM – “For a number of years I have been familiar with the
observation that the quality of programmers is decreasing function of the frequency of GOTO statements in the programs they produce”
Much Debate, but slow change
Intellectual Property
Letters in CACM, 1968Rockford Inst., Calvin Mooers
– Sought legal protection for TRAC language– No alterations, changes, etc.
Bernard Galler, MAD, Michigan– MAD & others had been improved by users
TRAC failed - too early for protectionSet stage for future laws/ lawsuits
Software Engineering
1968- NATO conference “Software Engineering”– “Crisis”
Programmers lacked “ theoretic foundations & disciplines of daily practice” from traditional engineering
No certification nor chain of legal responsibility
Continues to be debatedSE Certification in Texas
Unbundling
Separate H.W. and S.W.1968 - IBM – Government pressure
– CICS (Customer Info. Control System)
Opened door for commercial vendors
UNIX
1969- Bell labs in N.J.– Ken Thompson, Dennis Ritchie– PDP-7– Language “B” – “C” in 1973
Contrast to ALGOL68 & PL/1Pascal- Nicholas Wirth, Sweden