* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Chapter 3 - MSU Computer Science
Go (programming language) wikipedia , lookup
Abstraction (computer science) wikipedia , lookup
Programming language wikipedia , lookup
Software quality wikipedia , lookup
Object-oriented programming wikipedia , lookup
Program optimization wikipedia , lookup
C Sharp (programming language) wikipedia , lookup
Software bug wikipedia , lookup
Chapter 3 – 1952-1968 Early History of Software Software  What is software? Programming?  Extremes – Microcode vs. Interface  Read comments - Page 81  How did hw & sw fit together? Very Early Days  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 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  Programming Languages  One-to-one binary (machine) code  Macro instructions  Symbolic Addressing (variables)  Systems SHARE  1955 - IBM 701 users in L.A.  Compiled library of routines  Grew to 62 members  IBM responded to opinions  Helped 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 Backus  Still widely used  Key to success: generated code as efficient as written code  Fast; 704 had floating point hardware  Combination 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 resources  Soon became too complex  IBM - 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 busy NOTE: 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 Engineering  Stanford and Purdue – 1950’s  Stanford – George Forsythe  – – Mathematics 1961 Separate Dept. 1965 Study of computers vs. Study of Algorithms  ACM Curriculum ‘68 (2013)  Computer Science (cont.) – ACM – Curriculum - no h.w.  1964 -12 University degrees  1968 - 100  1980 - Most popular major in the US  1968 Donald Knuth- “The Art of Computer Programming” Published 1st volume of 7  1: Fundamental Algorithms  2: Semi numerical Algorithms  3: Searching and Sorting  1968 Knuth Cont.  TBA - in progress  4: Combinatorial Algorithms  5: Syntactic Algorithms  Maybe - “God Willing”  6: Theory of Context free languages  7: 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, 1968  Rockford 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 protection  Set 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 debated SE Certification in Texas Unbundling  Separate H.W. and S.W.  1968 - IBM – Government pressure – CICS (Customer Info. Control System)  Opened vendors door for commercial UNIX  1969– – – Bell labs in N.J. Ken Thompson, Dennis Ritchie PDP-7 Language “B” – “C” in 1973  Contrast to ALGOL68 & PL/1  Pascal- Nicholas Wirth, Sweden Chapter 3 – 1952-1968 Early History of Software
 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            