Author: Tony Hey and Gyuri Pápay
Publisher: Cambridge University Press
Audience: Anyone interested in the history of computing, in particular those studying computer science
Reviewer: Sue Gee
The third of our selection of best books of 2015 has an ambitious scope. It covers the early days of computers in the 1930s, reaches the cutting edge of today's research and looks towards the future.
This book is targeted at students with the aim of stimulating their interest in “the wide range of career opportunities in computer science”. However, even though I'm not part of that core audience, I was immediately hooked by the preface and continued to find a great deal to interest me throughout the book and gave it a full 5-star rating.
In the Preface I was intrigued to discover that authors took their key inspiration from Richard Feynman and that co-author Tony Hey was the person asked to edit the Feynman Lectures on Computation. Is this book going to be pitched at a level beyond most readers?
The short answer is no. It is mostly highly accessible and when it is more difficult you are advised to skim, read or skip. A case in point is Chapter 6: Mr Turing's amazing machines, acknowledged in the preface as the most difficult in the book as it explores idea that are the theoretical basis for much of computer science – including the ideas of Hilbert, Frege and Russell, computability, universality and the Church-Turing thesis as well as Turing machines.
The book is characterized by lots of illustrations, including black and white and color photos and where abstract ideas are discussed diagrams and cartoons. A page without illustration is rare and there are no double spreads without pictures in the main part of the book. It also includes comprehensive figure credits along with notes, suggestions for further reading, a name index and a general index.
After a few pages that speculate on computer science the book begins with a highly readable account of some of the early computers and their creators. Much of Chapter 1:Beginnings of a revolution is devoted to ENIAC and how a chance meeting between Herman Goldstine amd John von Neumann shaped the way in which John Machly and J. Presper Eckert were able to go ahead with the project. Chapter 1 also introduces Vannevar Bush's Differential Analyzer, Von Neumann architecture, EDVAC and EDSAC. In its final few pages it turns the clock back further to Charles Babbage and the Difference and Analytical Engines, Ada Lovelace. It also takes a brief look at Bletchley Park codebreaking and Colossus and at LEO as the first commercial computer.
Chapter 2 is on hardware and the authors take us downward through the layers to see how base 2 arithmetic and logical operations are carried our. Along the way we meet George Boole, Claude Shannon, Augustus De Morgan, Gottfried Wilhelm Leibniz, George Stibitz and eventually meet the Manchester Baby and EDSAC. Meanwhile we've learnt about hierarchical design and functional abstraction,switching circuits, binary arithmetic, bits and bytes, logic gates, truth tables, and the fetch-execute cycle - and much more.
Some readers may be intrigued by the title of the next chapter, The software is in the holes. But even if you already think of software in this way you'll find it a very readable account of a fascinating history with more interesting characters - including Grace Hooper, Howard Aiken, Joohn Backus, Peter Naur and John McCarthy.
The topic of Chapter 4 is programming languages - tracing the elements of modern languages from their roots and looking at how we the data structures we use today originated. This is an account that goes from FORTRAN to Perl including many more en route.
Next comes a look at algorithms, something, the authors note, can be regarded as the "spirit of computing". Donald Knuth is among the characters encountered here. Topics introduced here include numerical algorithms, sorting, graph problems and complexity theory.
By this point in the book we covered the basic ideas in a historical context and can home in on some specific ideas. It may well be a good idea to skip past the ideas of computability at first reading and dip into later chapters according to what interests you most.
For those interested in hardware, Chapter 7 is on the transistor, the silicon chip and Moore's Law. Chapter 8 is on the beginning, and the progression of the home or personal computer revolution. This is followed in Chapter 9 by computer games.
Chapter 10: Licklider's intergalactic computer network traces the beginnings of the journey that led to today's Internet, starting with the telegraph network which went global during the reign of Queen Victoria. This chapter covers packet switching, Ethernet and reaches TCP/IP protocol and ARPANET. The next looks at hypertext and World Wide Web. As well as Tim Berners Lee it introduces Jimmy Wales and Mark Zuckerberg and then Chapter 12 is devoted to The dark side of the web and looks at hacking and malware.
Chapters 13 covers artificial intelligence and neural networks and Chapter 14 goes on to machine learning. Nanotechnolgy and quantum computing are the topics of Chapter 15 and we reach robotics and the Internet of Things in Chapter 16. The book rounds out with a chapter that looks at computers in science fiction.
The A4 format of this book, which is available in both hardback and paperback, is the feature that marks it out as a textbook. But while it is intended to be intelligible to both high school and first-year university students, it has a lot to offer the general reader and even those already part of the computing universe as a coherent, well-written account of its past, present and future.