Software: A Technical History (Acm Books)
Original price was: €35.€27Current price is: €27.
Price: $34.95 - $26.59
(as of Sep 26, 2025 20:05:59 UTC – Details)
Software history has a deep impact on current software designers, computer scientists, and technologists. System constraints imposed in the past and the designs that responded to them are often unknown or poorly understood by students and practitioners, yet modern software systems often include “old” software and “historical” programming techniques. This work looks at software history through specific software areas to develop student-consumable practices, design principles, lessons learned, and trends useful in current and future software design. It also exposes key areas that are widely used in modern software, yet infrequently taught in computing programs. Written as a textbook, this book uses specific cases from the past and present to explore the impact of software trends and techniques.
Building on concepts from the history of science and technology, software history examines such areas as fundamentals, operating systems, programming languages, programming environments, networking, and databases. These topics are covered from their earliest beginnings to their modern variants. There are focused case studies on UNIX, APL, SAGE, GNU Emacs, Autoflow, internet protocols, System R, and others. Extensive problems and suggested projects enable readers to deeply delve into the history of software in areas that interest them most.
Publisher : ACM Books
Publication date : September 20, 2021
Edition : 1st
Language : English
Print length : 325 pages
ISBN-10 : 145038725X
ISBN-13 : 978-1450387255
Item Weight : 1.4 pounds
Dimensions : 7.25 x 1 x 9 inches
Best Sellers Rank: #1,360,523 in Books (See Top 100 in Books) #254 in Computing Industry History #428 in Software Design & Engineering #1,568 in Software Development (Books)
Customer Reviews: 3.9 3.9 out of 5 stars 7 ratings var dpAcrHasRegisteredArcLinkClickAction; P.when(‘A’, ‘ready’).execute(function(A) { if (dpAcrHasRegisteredArcLinkClickAction !== true) { dpAcrHasRegisteredArcLinkClickAction = true; A.declarative( ‘acrLink-click-metrics’, ‘click’, { “allowLinkDefault”: true }, function (event) { if (window.ue) { ue.count(“acrLinkClickCount”, (ue.count(“acrLinkClickCount”) || 0) + 1); } } ); } }); P.when(‘A’, ‘cf’).execute(function(A) { A.declarative(‘acrStarsLink-click-metrics’, ‘click’, { “allowLinkDefault” : true }, function(event){ if(window.ue) { ue.count(“acrStarsLinkWithPopoverClickCount”, (ue.count(“acrStarsLinkWithPopoverClickCount”) || 0) + 1); } }); });
1 review for Software: A Technical History (Acm Books)
Add a review
Original price was: €35.€27Current price is: €27.
J. Starr –
Solid introduction
This textbook, aimed at upper-graduate technologists, intends to educate students on the evolution of software design and implementation as well as the principal lessons learned from the past 70-odd years of practice. With many of the described systems still in use, the book’s goal is to provide both a historical and practical understanding. Computer hardware history is covered in the first chapter, describing the influence of hardware capabilities on software, but software takes the center stage.Focusing on “non-standard engineering” or the creation of new methods, tools, and systems, the book is organized thematically around systems topics: operating systems, programming languages, programming environments and tools, networking, and database management. Each chapter on a theme features at least one case study, lessons learned, and a list of exercises and projects. The exercises and projects are quite diverse and often require students to form a substantiated argument. The beginning of the book includes a short historiography of the computing history field and the book wraps up with a summary of trends and persistent challenges in the creation and maintenance of software.The book is well-illustrated, containing a multitude of full-color photographs, technical diagrams, and code samples. The code samples, in a variety of languages, feature syntax highlighting and are easy to read except for the printing of the System R Where Clause code which features a poor choice of lime green on a light gray background.Readers will benefit from understanding source code, although most sections do not require a sophisticated background. Chapter 4, Programming Languages, features examples in FORTRAN, COBOL, Lisp, Algol, PL/I, C, Prolog, Simula, Smalltalk, and Java. The selected source code examples do not always do a good job of illustrating the language’s design or approach. For example, the COBOL example is merely a version of ‘Hello World’ and Smalltalk’s calculates a factorial. Record processing with sorting would make a better example in the former case and an object oriented user interface for the latter case. I think showing the same tasks solved in multiple languages/paradigms (a la Rosetta Code or Programming-Idioms) would clarify the different language paradigms.Computing history has few written works, and software history even fewer. The book’s content is not revolutionary, but a comparative overview may require reading the history sections in an operating system textbook, a comparative programming language textbook, a network textbook, and so on. I often found myself wishing for more depth, more recent examples, and stronger linkages to the lessons learned, but the book is not meant to be the last word on these themes. Readers expecting to maintain or integrate with technologies referenced in the book will need supplemental material, but the book is a useful anchoring overview of the history of software and I look forward to additional volumes.