Chapter 3 – 1952-1968 Early History of Software. Software What is software? Programming? Extremes – Microcode vs. Interface Read comments - Page 81 How.

Slides:



Advertisements
Similar presentations
Introduction to Computer Programming
Advertisements

History of Information Technology Georgia CTAE Resource Network Curriculum Office, June 2009 To accompany curriculum for the Georgia Peach State Career.
EC-111 Algorithms & Computing Lecture #1 Instructor: Jahan Zeb Department of Computer Engineering (DCE) College of E&ME NUST.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
Mr Manesh T Dept. of CSE College of Arts and Science Chapter 3 Types of Softwares Code: 1400 Tech.
A long time ago, in a galaxy far, far away…. 1-1.
History of Computing -- Soujanya. Contents Definition Abacus(600 B.C) Cardboard Calculator First Calculator Difference Engine(1822) Well-Known Early Computers.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Is this true? Nothing has really changed in computer design since Von Neumann Nothing has really changed in computer design since Von Neumann.
6/27/2015G. Levine1 PROGRAMMING LANGUAGES Text: Programming Languages, Design and Implementation Pratt and Zelkowitz 4 th ed. Prentice-Hall.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
Programming languages Prepared by : Jyrald Aquino.
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
CHAPTER 1: INTORDUCTION TO C LANGUAGE
Computing in the Modern World Ms. Stewart
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
CS102 Introduction to Computer Programming
Chapter 01 Nell Dale & John Lewis.
BIT Presentation 6. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
Programming Languages: Telling the Computers What to Do Chapter 16.
Chapter 17 Programming Tools The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
Chapter Lead Black Slide Powered by DeSiaMore Powered by DeSiaMore.
Prog Lang & Alg Programming Languages & Algorithms Lecture 02 - Aspects of Programming Languages - Part 1 (Figures from Bal & Grune)
University of Utah 1 IBM Dominates the industry Critics complain that IBM doesn't innovate -Sound familiar?
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
The four generations of digital Computer
University of Utah 1 Fortran Assignment Questions?
Using KDF9 Fortran to implement APT IV in Miles Ellis.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
1 History of compiler development 1953 IBM develops the 701 EDPM (Electronic Data Processing Machine), the first general purpose computer, built as a “defense.
Chapter 1 The Big Picture.
History 398 Fall 2004 George H. Bindon History 398Lecture 21 IN OUR OWN IMAGE: CREATING THE COMPUTER.
History of C 1950 – FORTRAN (Formula Translator) 1959 – COBOL (Common Business Oriented Language) 1971 – Pascal Between Ada.
COMP 268 Computer Organization and Assembly Language A Brief History of Computing Architecture.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview Part 2: History (continued)
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
A language which is acceptable to a computer system is called a computer language or programming language and the process of writing instructions in such.
C Language: Introduction
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
Agenda Computer Languages How to Write a Simple C Program
CIS250 OPERATING SYSTEMS Chapter One Introduction.
FORTRAN History. FORTRAN - Interesting Facts n FORTRAN is the oldest Language actively in use today. n FORTRAN is still used for new software development.
The four generations of digital Computer 1. The first generation computers 2. The second generation computers 3. The third generation computers 4. The.
Introduction to C Programming Language. History of C  C was evolved by Dennis Ritchie at AT&T Bell Laboratories in early of 1970s  Successor of: ALGOL.
Generations of Computing. The Computer Era Begins: The First Generation  1950s: First Generation for hardware and software Vacuum tubes worked as memory.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
CSC141 Introduction to Computer Programming Programming Language.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
Operating System Concepts with Java – 7 th Edition, Nov 15, 2006 Silberschatz, Galvin and Gagne ©2007 Chapter 0: Historical Overview.
CSCI 161: Introduction to Programming
Zuse’s Plankalkül – 1945 Never implemented Problems Zuse Solved
Computer Programming (BCT 1113)
Operating System Interface between a user and the computer hardware
CSCI-235 Micro-Computer Applications
Evolution of Operating Systems
Programming Languages and Translators
Computer Science I CSC 135.
Chapter 1 Introduction(1.1)
Programming What?! How?!.
Introduction to Computer Programming
Von Neumann Architecture
What is Programming?.
Presentation transcript:

Chapter 3 – Early History of Software

Software What is software? Programming? Extremes – Microcode vs. Interface Read comments - Page 81 How did hw & sw fit together?

Summer – 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

MIT J.H. Laning & N. Zierler “A program for translation of mathematical equations for Whirlwind I” – 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) code Macro instructions Symbolic Addressing (variables)

SHARE 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 % compute time – sorting People “used” printed reports, not computer Betty UNIVAC-1952 – Sorted small groups and merged with master file – Knuth – “1 st major software routine ever developed for automatic programming Later disks & linked lists - plus

FORTRAN 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 1 st standardized Grave UNIVAC – Flow-matic - Use long character names Year 2000 bug – Not really self documenting

Other Early Languages ALGOL- Europe, – 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/ – OS/360- business + scientific - Failure Mini-computers-1960’s – OS development started over – Small memories – VMS for VAX (DEC) 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 Study of computers vs. Study of Algorithms ACM Curriculum ‘68 (2013)

Computer Science (cont.) 1968 – ACM – Curriculum - no h.w University degrees Most popular major in the US

Donald Knuth- “The Art of Computer Programming” 1968 Published 1 st volume of 7 1: Fundamental Algorithms 2: Semi numerical Algorithms 3: Searching and Sorting

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 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 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 IBM – Government pressure – CICS (Customer Info. Control System ) Opened door for commercial vendors

UNIX 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 – Early History of Software