A Science of Operations examines the history of what we now call programming, defined not simply as computer programming, but more broadly as the definition of the steps involved in computations and other information-processing activities. This unique perspective highlights how the history of programming is distinct from the history of the computer, despite the close relationship between the two in the 20th century. The book also discusses how the development of programming languages is related to disparate fields which attempted to give a mechanical account of language on the one hand, and a linguistic account of machines on the other.
Topics and features: covers the early development of automatic computing, including Babbage’s “mechanical calculating engines” and the applications of punched-card technology; examines the theoretical work of mathematical logicians such as Kleene, Church, Post and Turing, and the machines built by Zuse and Aiken in the 1930s and 1940s; discusses the role that logic played in the development of the stored program computer; describes the “standard model” of machine-code programming popularised by Maurice Wilkes; presents the complete table for the universal Turing machine in the Appendices; investigates the rise of the initiatives aimed at developing higher-level programming notations, and how these came to be thought of as ‘languages’ that could be studied independently of a machine; examines the importance of the Algol 60 language, and the framework it provided for studying the design of programming languages and the process of software development; explores the early development of object-oriented languages, with a focus on the Smalltalk project.
This fascinating text offers a new viewpoint for historians of science and technology, as well as for the general reader. The historical narrative builds the story in a clear and logical fashion, roughly following chronological order.
Conceived in 1943, completed in 1945, and decommissioned in 1955, ENIAC (the Electronic Numerical Integrator and Computer) was the first general-purpose programmable electronic computer. But ENIAC was more than just a milestone on the road to the modern computer. During its decade of operational life, ENIAC calculated sines and cosines and tested for statistical outliers, plotted the trajectories of bombs and shells, and ran the first numerical weather simulations. ENIAC in Action tells the whole story for the first time, from ENIAC's design, construction, testing, and use to its afterlife as part of computing folklore. It highlights the complex relationship of ENIAC and its designers to the revolutionary approaches to computer architecture and coding first documented by John von Neumann in 1945.
Within this broad sweep, the authors emphasize the crucial but previously neglected years of 1947 to 1948, when ENIAC was reconfigured to run what the authors claim was the first modern computer program to be executed: a simulation of atomic fission for Los Alamos researchers. The authors view ENIAC from diverse perspectives—as a machine of war, as the “first computer,” as a material artifact constantly remade by its users, and as a subject of (contradictory) historical narratives. They integrate the history of the machine and its applications, describing the mathematicians, scientists, and engineers who proposed and designed ENIAC as well as the men—and particularly the women who—built, programmed, and operated it.