Computing: A Historical and Technical Perspective
This is a remarkable book. Written by four authors it consists of a collection of 31 self-contained papers that explain many different concepts related to computing and place them in an historical context. The papers are generally accessible for the layman and relatively short: only 10-15 pages or less. The whole collection is roughly ordered from the early notions of counting to quantum computing. It thus forms a compact encyclopedia of computing involving all aspects such as mathematics, software and hardware. The mathematical techniques and algorithms are obviously braided, and certainly with the early computing machines there was still a mutual influence in the sense that problems needed faster techniques and hardware, which in turn influenced the development of algorithms and the urge to tackle larger and more difficult problems. The hardware in this book is however restricted to describing the first computing machines. A discussion of the spectacular electrotechnical evolution of the hardware, was wisely left out. Computer science has been divorced from electrotechnical engineering some time ago and are co-parenting the computing topic.
The book starts off with numbers and number systems and the Greek mathematicians (Euclid, Diophantus) and their predecessors. Sometimes theorems are proved or exercises are solved. There is also a chapter on steganography and cryptography. True computing required tools such as the abacus but also the techniques such as described in Fibonacci's Liber Abaci and much later the logarithms. Soon computer science starts to arise with the introduction of more advanced mechanical devices (by Pascal, Jacquard, Babbage, Ada Lovelace, Hollerith). Some were originally made to mechanise certain programmable processes and others were true calculating machines. More general purpose machines were first doing numerical computation on which one could implement some of the methods designed to solve algebraic equations or Gauss elimination for linear systems (the method is explained with an example, and later even LU decomposition is defined). Also the mathematics shifted to a higher gear: introduction of real and complex numbers, the cardinality of an (infinite) set (Cantor), computability (Gödel, Turing) and Boolean algebra. With Turing, a previous topic is picked up again: cryptography and the decoding of the German Enigma machine during WW II. Both the Enigma and the decoding machine (the Bombe) at Bletchley Park were still electromechanical but soon the first electronic computers appeared: the ENIAC and several others, while Von Neumann, Turing and others developed theoretical models. Soon numerical analysis became a flourishing discipline as a follow up of methods like Gauss elimination and Newton's root finding.
The enumeration above illustrates that the spectrum covered is really broad. Not only are the topics placed in their historical context, also the persons who were the key players in the evolution are briefly sketched. The concepts are explained and should be understandable by a general public, although some chapters may require more effort than others. According to the authors the primary purpose of the book is to provide additional reading for science and engineering students. There are few illustrations and some of them could even be left out. A pictogram-like illustration of a glass tube or a plot of 4 by 4 grid do not add much to the understanding of the concept. With so many topics covered, the extensive subject index is very useful. Of course, it is impossible to cover all the topics in detail and the specialist will not find many things that are new to him (except maybe some of the history). Practically nothing is found about compilers, multi-media, human-computer interaction, genetic algorithms, etc. However, for a layperson, this an excellent introduction to the subject. Probably if such a person needs an explanation about some term in the domain of computing he or she would probably look it up in Wikipedia. Every paper in the book has a list of references, many of which are pointing to Wikipedia pages anyway. But if the book is not used as a lead and the Internet is explored freely, then a possible danger is that there is an overdose of information, sometimes too specialised and the explorer may wander off and get lost or drift away from the subject. This book gives a valuable compact, focused, and coherent alternative.