The Technical and Social History of Software Engineering This Page Intentionally Left Blank the Technical and Social History of Software Engineering
Total Page:16
File Type:pdf, Size:1020Kb
The Technical and Social History of Software Engineering This page intentionally left blank The Technical and Social History of Software Engineering Capers Jones Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact: U.S. Corporate and Government Sales (800) 382-3419 [email protected] For sales outside the United States, please contact: International Sales [email protected] Visit us on the Web: informit.com/aw Library of Congress Cataloging-in-Publication Data: Jones, Capers. The technical and social history of software engineering / Capers Jones. pages cm Includes bibliographical references and index. ISBN 978-0-321-90342-6 (alk. paper)—ISBN 0-321-90342-0 (alk. paper) 1. Software engineering—History. 2. Computer software—Development—Social aspects. 3. Computer software industry—History. 4. Computer software industry—Social aspects. I. Title. QA76.758.J644 201 005.1--dc23 2013036017 Copyright © 2014 Pearson Education, Inc. All rights reserved. Printed in the United States of America. This publication is protected by copy- right, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. To obtain permission to use material from this work, please submit a written request to Pearson Education, Inc., Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to (201) 236-3290. Cover design by Chuti Prasertsith Cover images © Jim Richardson/National Geographic Image Collection/Alamy; © Graeme Dawes/ShutterStock; © Tim Jenner/ShutterStock; © Franck Boston/ShutterStock; © iFong/ ShutterStock; © Hintau Aliaksei/ShutterStock; © dvande/ShutterStock; © Everett Collection/ ShutterStock; © anaken2012/ShutterStock; © Peshkova/ShutterStock ISBN-13: 978-0-321-90342-6 ISBN-10: 0-321-90342-0 Text printed in the United States on recycled paper at RR Donnelley in Crawfordsville, Indiana. First printing, November 2013 Contents Foreword by Walker Royce . .vii Foreword by Tony Salvaggio . ix Preface . xix Acknowledgments . .xxvii About the Author . xxix Chapter 1: Prelude: Computing from Ancient Times to the Modern Era . 1 The Human Need to Compute . 1 Early Sequence of Numerical Knowledge . 3 Inventions for Improved Mathematics . 8 Mathematics and Calculating . 10 Recording Information . 14 Communicating Information . 15 Storing Information . 17 Enabling Computers and Software . 18 Key Inventions Relevant to Software . 21 Alphabetic Languages. 21 Binary and Decimal Numbers and Zero . 21 Digital Computers . 22 Higher-Level Programming Languages . 22 Random-Access Storage . 23 The Impact of Software on People and Society . 23 Beneficial Tools and Applications . 23 Harmful Inventions . 32 Weighing the Risks . 34 Summary . 35 Chapter 2: 1930 to 1939: The Foundations of Digital Computing . 37 The First Innovators of Modern Computing . 37 Small Mathematical Applications . 40 Summary . 42 v vi Contents Chapter 3: 1940 to 1949: Computing During World War II and the Postwar Era . 43 Global Conflict and Computing . 43 Wartime Innovations . 45 Analog Computers During World War II . 46 Computers in Germany During World War II . 47 Computers in Japan During World War II . 50 Computers in Poland During World War II . 51 Computers in France During World War II . 52 Computers in Australia During World War II . 52 Computers in Russia During World War II . 53 Computers in Great Britain During World War II . 54 Computers in the United States During World War II . 59 Computers in the Postwar Era . 68 The Cold War Begins . 69 Postwar Computer Development . 69 Historical Contributions of the Decade . 73 Building Software in 1945. 75 Summary . 76 Chapter 4: 1950 to 1959: Starting the Ascent of Digital Computers and Software . 77 Military and Defense Computers in the 1950s . 77 SAGE . 78 BOMARC . 80 Innovators of the 1950s . 81 Programming Languages of the 1950s . 84 The First Commercial Computers . 85 LEO . 85 IBM . 86 Other Computer Business Implementations . 88 Software Applications in the 1950s . 89 Function Points in 1955 . 90 Summary . 91 Chapter 5: 1960 to 1969: The Rise of Business Computers and Business Software . 93 An Evolving Workforce . 93 Contents vii Early Specialized Outsourcing . 95 Computer Programmers in the 1960s . 96 Becoming a Programmer . 96 A High Demand for Programmers . 100 Emergence of the Software Engineer . 103 IBM System/360 . 104 The Turing Award . 106 The Invention of the Credit Card . 109 Automation and New Professions . 110 The DEC PDP-1 . 111 Programming Languages of the 1960s . 112 The Computer Business of the 1960s . 115 Litigation Changes the Computer World Forever . 118 Computers and Software in Space . 119 Computer and Software Growth in the 1960s . 120 Function Points Backfired for 1965 . 122 Summary . 123 Chapter 6: 1970 to 1979: Computers and Software Begin Creating Wealth . 125 Software Evolution in the 1970s . 125 Trends in Software . 126 Political Failures . 127 Rapid Rise of Computer Companies . 128 Major Companies Formed During the 1970s . 129 FedEx . 129 NASDAQ . 129 Southwest Airlines . 130 Computer and Software Companies Formed During the 1970s . 130 Altair Computers . 131 Apple Computer . 132 Baan . 132 Computer Associates (CA) . 132 Cray Computers . 134 Cullinane . 134 Digital Research . 135 Galorath Incorporated . 136 vii.