TY - BOOK AU - Tracy, Kim W. TI - Software / : A Technical History / T2 - ACM books, SN - 3477339 PY - 2021///] CY - [New York, NY, USA] PB - Association for Computing Machinery KW - Software (Computer Science) KW - Electronic books N1 - List of Figures; List of Tables; Preface; 1 Introduction to Software History -- 1.1 What is "Software"? -- 1.2 Challenges of Software History -- 1.3 Modeling Software Technology Evolution -- 1.4 Computer Hardware History -- 1.5 Computer Hardware Trends and "Laws" -- 1.6 Lessons Learned from Hardware Evolution Affecting Software -- 1.7 Summary -- 1.8 Exercises and Projects -- 1.9 Further Readings and Online Resources; 2 Software History Fundamentals -- 2.1 Overview of Software History -- 2.2 Types of Software -- 2.3 Cultures and Communities of Software -- 2.4 Environment -- 2.5 Influences on Software History -- 2.6 Summary -- 2.7 Exercises and Projects -- 2.8 Further Readings and Online Resources; 3 Operating Systems -- 3.1 Operating Systems and Their Evolution -- 3.2 Operating Systems Scope -- 3.3 Operating Systems Case Study: Pipes in the UNIX System -- 3.4 Lessons Learned from Operating System Software -- 3.5 Summary -- 3.6 Exercises and Projects -- 3.7 Further Readings and Online Resources; 4 Programming Languages -- 4.1 Definitions -- 4.2 Types of Programming Languages -- 4.3 Prehistory of Programming Languages and Compilers -- 4.4 Influences on Programming Language Change -- 4.5 Case Study: APL -- 4.6 Lessons Learned from Programming Languages -- 4.7 Exercises and Projects -- 4.8 Further Readings and Online Resources; 5 Programming Environments, Tools, and Methodologies -- 5.1 Early Programming Environments and Tools -- 5.2 Evolution of Programmer Tools Over Time -- 5.3 Large Projects and the Software "Crisis" -- 5.4 Reflections on Programming Tools and Environments -- 5.5 Case Study: SAGE -- 5.6 Case Study: GNU Emacs -- 5.7 Case Study: AUTOFLOW -- 5.8 Lessons Learned from Programming Tools and Environments -- 5.9 Exercises and Projects -- 5.10 Further Readings and Online Resources; 6 Networking Software -- 6.1 Overview of the Evolution of Data Networking -- 6.2 Networking Protocols -- 6.3 Getting to TCP/IP -- 6.4 Network Software and Applications -- 6.5 Case Study: Minitel -- 6.6 NCSA httpd and Apache Web Server -- 6.7 Networking Influences -- 6.8 Lessons Learned from Networking Software -- 6.9 Exercises and Projects -- 6.10 Further Readings and Online Resources; 7 Database Management Systems -- 7.1 Overview of Database Systems and Their Evolution -- 7.2 Early Database History -- 7.3 Types and Evolution of Database Systems -- 7.4 Relational DBMSs -- 7.5 System R: Sample Code -- 7.6 Factors Affecting Change of Database Software -- 7.7 Lessons Learned from Database Software -- 7.8 Exercises and Projects -- 7.9 Further Readings and Online Resources; 8 Software Futures and Overall Trends -- 8.1 Overview of Software History -- 8.2 Trends -- 8.3 Perpetual Challenges of Software Development -- 8.4 Emerging Software Trends -- 8.5 Other Areas of Software -- 8.6 Software History's Relevance -- 8.7 Exercises and Projects -- 8.8 Further Readings and Online Resources; 9 Appendix A Appendix-Source Code -- A.1 UNIX Pipe.c -- A.2 System R Where Clause Code; Bibliography; Author's Biography; Index; Abstract freely available; full-text restricted to subscribers or individual document purchasers; Also available in print UR - https://doi.org/10.1145/3477339 ER -