Oral History of Robert L. Patrick / First Person Essay

Total Page:16

File Type:pdf, Size:1020Kb

Oral History of Robert L. Patrick / First Person Essay Oral History of Robert L. Patrick / First Person Essay Interviewed by: Thomas Haigh Recorded: February 16, 2006 Mountain View, California CHM Reference number: X3804.2007 © 2006 Computer History Museum Table of Contents BACKGROUND AND EDUCATION.............................................................................................. 4 USING THE IBM CARD PROGRAMMED CALCULATOR (CPC) ................................................ 6 WORKING FOR CONVAIR......................................................................................................... 10 USING THE IBM 701 .................................................................................................................. 11 CONSTRUCTING A PRODUCTION MONITORING SYSTEM................................................... 15 MOVING TO GENERAL MOTORS............................................................................................. 18 MORE ABOUT PRODUCTION MONITORING .......................................................................... 21 USE OF FORTRAN .................................................................................................................... 24 SHARE AND THE SHARE OPERATING SYSTEM.................................................................... 26 ASSOCIATION FOR COMPUTING MACHINERY (ACM) .......................................................... 29 MOVING ON TO C-E-I-R............................................................................................................ 32 STARTING COMPUTER SCIENCES CORPORATION ............................................................. 36 DECIDING TO START A CONSULTING PRACTICE................................................................. 39 DPMA AND THE CERTIFICATE OF DATA PROCESSING PROGRAM ................................... 39 DATAMATION ............................................................................................................................ 43 DATAMATION ADVISORS......................................................................................................... 47 AIR FORCE OFFICER CLASSIFICATION ................................................................................. 50 THE RAND CORPORATION...................................................................................................... 54 IMS DATABASE MANAGEMENT SYSTEM ............................................................................... 56 DATA CENTER AUDIT............................................................................................................... 62 BEING AN INDEPENDENT CONSULTANT............................................................................... 65 CONCLUSIONS.......................................................................................................................... 66 ADDITIONAL MATERIALS PROVIDED ..................................................................................... 69 List of Datamation Articles ......................................................................................................70 Oral History Citations ..............................................................................................................72 Consulting Adventures: An autobiography by a Computer Specialist,....................................73 Author Blurb ........................................................................................................................73 Prologue..............................................................................................................................73 Early Years..........................................................................................................................77 Corporate Life .....................................................................................................................78 Consulting Adventures........................................................................................................89 And into the Sunset...........................................................................................................104 Robert's Reminiscences: A Semi-serious Look at a Curious Life .........................................105 The Roots of OS/360 ............................................................................................................113 Three Vignettes.....................................................................................................................119 Early SHARE.....................................................................................................................119 Operating Systems............................................................................................................120 Commercial Compiler........................................................................................................121 Milestones in Computing.......................................................................................................122 Disclaimer .........................................................................................................................122 Milestones in Computing...................................................................................................125 Introduction ...................................................................................................................125 1. Card Programmed Calculator .................................................................................125 2. Service Bureaus......................................................................................................126 3. 701 SpeedCode ......................................................................................................127 4. Bank Paper .............................................................................................................128 5. Tool Control.............................................................................................................128 6. Formula Translator (FORTRAN) .............................................................................128 7. Operating Systems..................................................................................................129 8. Programming Houses .............................................................................................130 9. Medical Systems .....................................................................................................130 10. Single-Site Networks...............................................................................................131 11. Geographically Dispersed Systems with Central Processing .................................131 12. Dispersed Systems with Dispersed Processing......................................................132 13. OS/360 ....................................................................................................................132 14. Point of Sale............................................................................................................133 15. Graphics..................................................................................................................134 16. Photocomposing .....................................................................................................134 17. Flexible Communications ........................................................................................135 18. Local Area Networks ...............................................................................................136 19. Personal Computers ...............................................................................................136 20. Games.....................................................................................................................137 21. Animation and Entertainment..................................................................................137 22. Networks and the Internet .......................................................................................138 23. Portables .................................................................................................................139 Robert L. Patrick Conducted by Software Business History Committee – Oral History Project Abstract: Robert Patrick has written significant autobiographical material and has commented on events in the evolution of the computer software and services (and hardware) industry. Some of these materials have been appended to the transcript of this interview along with references to a number of the articles and papers which he has published. Thomas Haigh has therefore focused during this oral history interview on Bob Patrick’s knowledge of many of the people and organizations and his insights as to how the use of computers has developed from its beginnings with the Card Programmed Calculator through the early 1990s when he retired as an active consultant. In the interview Bob talks about his work in the US Air Force, his joining Convair and using the IBM 701, and its Speedcode software, working for General Motors and developing a data center operations management system and then going to work for C-E-I-R. He discusses being an active participant in SHARE (including its system software development efforts) and an active member of the Digital Computer Association and then becoming an active member of ACM and comments on some of the industry pioneers with whom he worked. He describes his role in the founding of Computer Sciences Corporation (CSC) and then becoming what he believes was the
Recommended publications
  • On-Line Computing with a Hierarchy of Processors
    University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science December 1968 On-Line Computing With a Hierarchy of Processors Richard P. Morton University of Pennsylvania Follow this and additional works at: https://repository.upenn.edu/cis_reports Recommended Citation Richard P. Morton, "On-Line Computing With a Hierarchy of Processors", . December 1968. University of Pennsylvania Department of Computer and Information Science Technical Report No. MS-CIS-69-13. This paper is posted at ScholarlyCommons. https://repository.upenn.edu/cis_reports/804 For more information, please contact [email protected]. On-Line Computing With a Hierarchy of Processors Abstract Time shared computer systems have been based upon the two techniques of multiprogramming and swapping. Multiprogramming is based on restricting each program to a portion of the total computer memory. Swapping requires considerable overhead time for loading and unloading programs. To alleviate the size restriction due to multiprogramming, segmentation is employed, resulting in fact in vastly increased swapping. A new system architecture is proposed for time shared computing that alleviates the high overhead or program size restriction. It utilizes a hierarchy of processors, where each processor is assigned tasks on the basis of four factors: interactive requirements, frequency of use, execution time, and program length. In order to study the hierarchical approach to system architecture, the Moore School Problem Solving Facility (MSPSF) was built and used. The study of the manner of operation and the reactions of the users clarified and defined the Hierarchy of Processors system architecture. The Moore School Problem Solving Facility was implemented on second generation equipment, the IBM 7040, and therefore it is not possible to adequately compare the efficiency with third generation computers operating in a swapping mode.
    [Show full text]
  • The Evolution of Econometric Software Design: a Developer's View
    Journal of Economic and Social Measurement 29 (2004) 205–259 205 IOS Press The evolution of econometric software design: A developer’s view Houston H. Stokes Department of Economics, College of Business Administration, University of Illinois at Chicago, 601 South Morgan Street, Room 2103, Chicago, IL 60607-7121, USA E-mail: [email protected] In the last 30 years, changes in operating systems, computer hardware, compiler technology and the needs of research in applied econometrics have all influenced econometric software development and the environment of statistical computing. The evolution of various representative software systems, including B34S developed by the author, are used to illustrate differences in software design and the interrelation of a number of factors that influenced these choices. A list of desired econometric software features, software design goals and econometric programming language characteristics are suggested. It is stressed that there is no one “ideal” software system that will work effectively in all situations. System integration of statistical software provides a means by which capability can be leveraged. 1. Introduction 1.1. Overview The development of modern econometric software has been influenced by the changing needs of applied econometric research, the expanding capability of com- puter hardware (CPU speed, disk storage and memory), changes in the design and capability of compilers, and the availability of high-quality subroutine libraries. Soft- ware design in turn has itself impacted applied econometric research, which has seen its horizons expand rapidly in the last 30 years as new techniques of analysis became computationally possible. How some of these interrelationships have evolved over time is illustrated by a discussion of the evolution of the design and capability of the B34S Software system [55] which is contrasted to a selection of other software systems.
    [Show full text]
  • The History of Computer Language Selection
    The History of Computer Language Selection Kevin R. Parker College of Business, Idaho State University, Pocatello, Idaho USA [email protected] Bill Davey School of Business Information Technology, RMIT University, Melbourne, Australia [email protected] Abstract: This examines the history of computer language choice for both industry use and university programming courses. The study considers events in two developed countries and reveals themes that may be common in the language selection history of other developed nations. History shows a set of recurring problems for those involved in choosing languages. This study shows that those involved in the selection process can be informed by history when making those decisions. Keywords: selection of programming languages, pragmatic approach to selection, pedagogical approach to selection. 1. Introduction The history of computing is often expressed in terms of significant hardware developments. Both the United States and Australia made early contributions in computing. Many trace the dawn of the history of programmable computers to Eckert and Mauchly’s departure from the ENIAC project to start the Eckert-Mauchly Computer Corporation. In Australia, the history of programmable computers starts with CSIRAC, the fourth programmable computer in the world that ran its first test program in 1949. This computer, manufactured by the government science organization (CSIRO), was used into the 1960s as a working machine at the University of Melbourne and still exists as a complete unit at the Museum of Victoria in Melbourne. Australia’s early entry into computing makes a comparison with the United States interesting. These early computers needed programmers, that is, people with the expertise to convert a problem into a mathematical representation directly executable by the computer.
    [Show full text]
  • CSC 272 - Software II: Principles of Programming Languages
    CSC 272 - Software II: Principles of Programming Languages Lecture 1 - An Introduction What is a Programming Language? • A programming language is a notational system for describing computation in machine-readable and human-readable form. • Most of these forms are high-level languages , which is the subject of the course. • Assembly languages and other languages that are designed to more closely resemble the computer’s instruction set than anything that is human- readable are low-level languages . Why Study Programming Languages? • In 1969, Sammet listed 120 programming languages in common use – now there are many more! • Most programmers never use more than a few. – Some limit their career’s to just one or two. • The gain is in learning about their underlying design concepts and how this affects their implementation. The Six Primary Reasons • Increased ability to express ideas • Improved background for choosing appropriate languages • Increased ability to learn new languages • Better understanding of significance of implementation • Better use of languages that are already known • Overall advancement of computing Reason #1 - Increased ability to express ideas • The depth at which people can think is heavily influenced by the expressive power of their language. • It is difficult for people to conceptualize structures that they cannot describe, verbally or in writing. Expressing Ideas as Algorithms • This includes a programmer’s to develop effective algorithms • Many languages provide features that can waste computer time or lead programmers to logic errors if used improperly – E. g., recursion in Pascal, C, etc. – E. g., GoTos in FORTRAN, etc. Reason #2 - Improved background for choosing appropriate languages • Many professional programmers have a limited formal education in computer science, limited to a small number of programming languages.
    [Show full text]
  • Evolution of the Major Programming Languages
    COS 301 Programming Languages Evolution of the Major Programming Languages UMaine School of Computing and Information Science COS 301 - 2018 Topics Zuse’s Plankalkül Minimal Hardware Programming: Pseudocodes The IBM 704 and Fortran Functional Programming: LISP ALGOL 60 COBOL BASIC PL/I APL and SNOBOL SIMULA 67 Orthogonal Design: ALGOL 68 UMaine School of Computing and Information Science COS 301 - 2018 Topics (continued) Some Early Descendants of the ALGOLs Prolog Ada Object-Oriented Programming: Smalltalk Combining Imperative and Object-Oriented Features: C++ Imperative-Based Object-Oriented Language: Java Scripting Languages A C-Based Language for the New Millennium: C# Markup/Programming Hybrid Languages UMaine School of Computing and Information Science COS 301 - 2018 Genealogy of Common Languages UMaine School of Computing and Information Science COS 301 - 2018 Alternate View UMaine School of Computing and Information Science COS 301 - 2018 Zuse’s Plankalkül • Designed in 1945 • For computers based on electromechanical relays • Not published until 1972, implemented in 2000 [Rojas et al.] • Advanced data structures: – Two’s complement integers, floating point with hidden bit, arrays, records – Basic data type: arrays, tuples of arrays • Included algorithms for playing chess • Odd: 2D language • Functions, but no recursion • Loops (“while”) and guarded conditionals [Dijkstra, 1975] UMaine School of Computing and Information Science COS 301 - 2018 Plankalkül Syntax • 3 lines for a statement: – Operation – Subscripts – Types • An assignment
    [Show full text]
  • CS406: Compilers Spring 2020
    CS406: Compilers Spring 2020 Week1: Overview, Structure of a compiler 1 1 Intro to Compilers • Way to implement programming languages • Programming languages are notations for specifying computations to machines Program Compiler Target • Target can be an assembly code, executable, another source program etc. 2 2 What is a Compiler? Traditionally: Program that analyzes and translates from a high-level language (e.g. C++) to low-level assembly language that can be executed by the hardware var a var b int a, b; mov 3 a a = 3; mov 4 r1 if (a < 4) { cmpi a r1 b = 2; jge l_e } else { mov 2 b b = 3; jmp l_d } l_e:mov 3 b l_d:;done 3 slide courtesy: Milind Kulkarni 3 Compilers are translators •Fortran •C ▪Machine code •C++ ▪Virtual machine code •Java ▪Transformed source •Text processing translate code language ▪Augmented source •HTML/XML code •Command & ▪Low-level commands Scripting ▪Semantic components Languages ▪Another language •Natural Language •Domain Specific Language 4 slide courtesy: Milind Kulkarni 4 Compilers are optimizers • Can perform optimizations to make a program more efficient var a var b var a int a, b, c; var c var b b = a + 3; mov a r1 var c c = a + 3; addi 3 r1 mov a r1 mov r1 b addi 3 r1 mov a r2 mov r1 b addi 3 r2 mov r1 c mov r2 c 5 slide courtesy: Milind Kulkarni 5 Why do we need compilers? • Compilers provide portability • Old days: whenever a new machine was built, programs had to be rewritten to support new instruction sets • IBM System/360 (1964): Common Instruction Set Architecture (ISA) --- programs could be run
    [Show full text]
  • UBC Information Technology (IT) Fonds
    UBC Information Technology (IT) fonds Compiled by Vincent Ouellette (1986) Revised by Tahra Fung (1999), Elissa How (2013), Erwin Wodarczak (2015, 2018), Syr Reifsteck (2017), and Manfred Nissley (2019). Last revised January 2019 *** Institutional records -- researcher access subject to review *** University of British Columbia Archives Table of Contents • Fonds Description o Title / Dates of Creation / Physical Description o Administrative History o Scope and Content o Notes • Sous fonds description o Canadian Information Processing Society (CIPS) Sous-fonds • Series Descriptions o Early Computing Centre Series o Pre-1969 Series o 1969-1978 Series o Systems Hardware Operations Committee (SHOC) Series o Software Committee Series o Manuals and Technical Information Series o UBC Computing Centre Newsletter Series o 1979-1989 Alphabetical Series o 1973-1996 Chronological Series o UBC Computing Centre Documentation Series o Miscellaneous Series o Jim Tom’s Office Chronological Series o Photographs Series • File List • Catalogue entry (UBC Library catalogue) Fonds Description UBC Information Technology (IT) fonds. - 1954-1996. 8.59m of textual records. 70 photographs. Cartographic material. Administrative History In the autumn of 1955, President Norman Mackenzie appointed a Committee on Automation to investigate "the University's total interest in computers and automation in general". The Committee consisted of approximately 20 members representing most of the research interests on campus and was chaired by E.D. McPhee. At the Committee's first meeting on November 16, 1955, four sub-committees were formed: Departmental Interests and Specifications; Training and Curriculum: Type Equipment; and Library Needs and Resources. The Committee held several meetings and prepared a number of reports on various facets of computerization.
    [Show full text]
  • John Backus (1924–2007) Inventor of Science’S Most Widespread Programming Language, Fortran
    NEWS & VIEWS NATURE|Vol 446|26 April 2007 OBITUARY John Backus (1924–2007) Inventor of science’s most widespread programming language, Fortran. John Backus, who died on 17 March, was developed elsewhere around the same time, a pioneer in the early development of however, Speedcoding produced programs IBM/AP computer programming languages, and was that were uneconomically slow. subsequently a leading researcher in so- Backus proposed to his manager the called functional programming. He spent his development of a system he called the entire career with IBM. Formula Translator — later contracted to Backus was born on 3 December 1924 in Fortran — in autumn 1953 for the model Philadelphia, and was raised in Wilmington, 704 computer, which was soon to be Delaware. His father had been trained as a launched. The unique feature of Fortran was chemist, but changed careers to become a that it would produce programs that were partner in a brokerage house, and the family 90% as good as those written by a human became wealthy and socially prominent. As a programmer. Backus got the go-ahead, and child, Backus enjoyed mechanical tinkering was allocated a team of ten programmers and loved his chemistry set, but showed for six months. Designing a translator that little scholastic interest or aptitude. He was produced efficient programs turned out to be sent to The Hill School, an exclusive private a huge challenge, and, by the time the system high school in Pottstown, Pennsylvania. was launched in April 1957, six months had His academic performance was so poor that become three years.
    [Show full text]
  • Object Orientation Through the Lens of Computer Science Education with Some New Implications from Other Subjects Like the Humanities
    Technische Universität München Fakultät für Informatik Fachgebiet Didaktik der Informatik Object-Oriented Programming through the Lens of Computer Science Education Marc-Pascal Berges Vollständiger Abdruck der von der Fakultät für Informatik der Technischen Universität München zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. Johann Schlichter Prüfer der Dissertation: 1. Univ.-Prof. Dr. Peter Hubwieser 2. Univ.-Prof. Dr. Torsten Brinda, Universität Duisburg-Essen Die Dissertation wurde am 07. April 2015 bei der Technischen Universität München eingereicht und durch die Fakultät für Informatik am 02. Juli 2015 angenommen. Abstract In recent years, the importance of the object-oriented paradigm has changed signifi- cantly. Initially it was mainly used in software engineering, but it is now being used more and more in education. This thesis applies methods of educational assessment and statistics to object-oriented programming and in doing so provides a broad overview of concepts, teaching methods, and the current state of research in this field of computer science. Recently, there have been various trends in introductory courses for object-oriented programming including objects-first and objects-later. Using current pedagogical concepts such as cognitive load theory, conceptual change, and self-directed learning in the context of this work, a teaching approach that dispenses almost entirely of instruction by teachers was developed. These minimally invasive programming courses (MIPC) were carried out in several passes in preliminary courses in the Department of Computer Science at the TU München. The students were confronted with a small programming task just before the first lecture.
    [Show full text]
  • Programming Languages: Lecture 2
    1 Programming Languages: Lecture 2 Chapter 2: Evolution of the Major Programming Languages Jinwoo Kim [email protected] 2 Chapter 2 Topics • History of Computers • Zuse’s Plankalkul • Minimal Hardware Programming: Pseudocodes • The IBM 704 and Fortran • Functional Programming: LISP • The First Step Toward Sophistication: ALGOL 60 • Computerizing Business Records: COBOL • The Beginnings of Timesharing: BASIC 3 Chapter 2 Topics (continued) • Everything for Everybody: PL/I • Two Early Dynamic Languages: APL and SNOBOL • The Beginnings of Data Abstraction: SIMULA 67 • Orthogonal Design: ALGOL 68 • Some Early Descendants of the ALGOLs • Programming Based on Logic: Prolog • History's Largest Design Effort: Ada 4 Chapter 2 Topics (continued) • Object-Oriented Programming: Smalltalk • Combining Imperative ad Object-Oriented Features: C++ • An Imperative-Based Object-Oriented Language: Java • Scripting Languages: JavaScript, PHP, Python, and Ruby • A C-Based Language for the New Millennium: C# • Markup/Programming Hybrid Languages 5 History of Computers • Who invented computers? – Contribution from many inventors – A computer is a complex piece of machinery made up of many parts, each of which can be considered a separate invention. • In 1936, Konrad Zuse made a mechanical calculator using three basic elements: a control, a memory, and a calculator for the arithmetic and called it Z1, the first binary computer – First freely programmable computer – Konrad Zuse wrote the first algorithmic programming language called 'Plankalkül' in 1946, which
    [Show full text]
  • Evolution of the Major Programming Languages
    Chapter 2 1. Plankalkül - 1945 - Never implemented - Advanced data structures - floating point, arrays, records - Invariants - Notation: A(7) := 5 * B(6) | 5 * B => A V | 6 7 (subscripts) S | 1.n 1.n (data types) 2. Pseudocodes - 1949 What was wrong with using machine code? a. Poor readability b. Poor modifiability c. Expression coding was tedious d. Machine deficiencies--no indexing or fl. pt. - Short code; 1949; BINAC; Mauchly - Expressions were coded, left to right - Some operations: 1n => (n+2)nd power 2n => (n+2)nd root 07 => addition Copyright © 1998 by Addison Wesley Longman, Inc.1 Chapter 2 2. Pseudocodes (continued) - Speedcoding; 1954; IBM 701, Backus - Pseudo ops for arithmetic and math functions - Conditional and unconditional branching - Autoincrement registers for array access - Slow! - Only 700 words left for user program 3. 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 4. FORTRAN I - 1957 (FORTRAN 0 - 1954 - not implemented) - Designed for the new IBM 704, which had index registers and floating point hardware - Environment of development: 1. Computers were small and unreliable 2. Applications were scientific 3. No programming methodology or tools 4. Machine efficiency was most important Copyright © 1998 by Addison Wesley Longman, Inc.2 Chapter 2 4. FORTRAN I (continued) - Impact of environment on design 1. No need for dynamic storage 2. Need good array handling
    [Show full text]
  • Systems Reference Library IBM 7090-7040 Direct
    File No. 7090-36 Form C28-6383-2 Systems Reference Library IBM 7090-7040 Direct Couple Operating System Systems Programmer's Guide This publication contains information useful to programmers who require a thorough understanding of the IBM 7090-7040 Direct Couple Operating System (DCOS), #7090-PR-161. This system consists of the following parts: 7090/7094 Operating System (IBSYS) 7040/7044 Control Program (DCMUP) The publication provides descriptions of general DCOS program logic, the format of the DCOS System Library, the Operating System Monitor (DC-IBSYS), and the lnput/Output Executor (DC-IOEX). It also includes instructions for system library preparation and maintenance. Separate publications contain descriptions of the compo­ nents of the 7090/7094 Operating System (IBSYS). Other related publications contain information needed by applica­ tions programmers and instructions for machine operators. Form C28-6383-2 Page Revised 6/11/65 By TNL N28-0158-0 PREFACE This publication is primarily intended IBM 7040/7044 Principles of Operation, for systems programmers who are responsible Form A22-6649 for the maintenance of the 7090-7040 Direct Couple Operating System (DCOS} and any modifications to it at the installation. IBM 7090 Principles of Operation, Form It may also be of interest to individuals A22-6528 who desire a more thorough understanding of the system. IBM 7094 principles of Operation, Form A22-6703 The reader of this publication is Directly Coupled Processing Units--7040 assumed to be familiar with the contents of to 7090/7094; 7040 to 7094/7094 II, Form the publication IBM 7090-7040 Direct Couple A22-6803 Operating System: Programmer's Guide, Form C28-6382.
    [Show full text]