In an introductory class in Computer Science, one of the most difficult ideas for students to grasp is the algorithm. The usual analogies---cookie recipes and directions on shampoo bottles---are not quite accurate and sometimes misleading. When I have taught these classes I have struggled to explain the concept effectively, so when I picked up Berlinski's Advent of the Algorithm I was hoping for a definitive, clear presentation suitable for fair-use replication in the classroom. (Since then, I found one: see Chapter One of Daniel Dennet's Darwin's Dangerous Idea.)
I was disappointed. Readers may get to the end of this book with no better grasp of the algorithm than they started with. In his explanations, Berlinski avoids the tedium of definitions and proofs, but he commits sins more deadly than dry prose, often introducing terms without definition, or with definitions too flowery to provide real education. For example, imagine that you don't know the difference between free and bound variables. Would this help?
In these constructions, the quantifier binds the variable, exerting its pull and its powers with respect to the variable which it flanks, and this over the whole of the formula just beyond the quantifier. The variable x is bound in x Ax; it is bound as well in x (Ax & Gy), but the variable y floats forlorn and free in the same formula, beyond the scope of the universal quantifier, which is busy managing x. [p. 67, emphasis in the original]
I hope so, because exactly 100 pages later you are going to need it to understand substitution in the lambda calculus. A more careful explanation would help the reader more than the suggestion that free variables are "forlorn."
The content of the book is varied. It includes biographies of the philosophers that became mathematicians that became computer scientists, from Liebniz to Frege to Gödel to Turing. It includes sketches (only) of the progression of discoveries that underlie the algorithm: propositional and predicate calculus, lambda calculus and the Turing machine.
It also covers Hilbert's optimistic program and the surprising disappointments of Russell's paradox and Gödel's incompleteness theorem. It's is a good story, but one that has been covered extensively, and presented better, in other popular books of mathematics and computer science, most notably in Hofstadter's Gödel, Escher, Bach: An Eternal Golden Braid.
The thread that connects Cantor's diagonal argument to Gödel's incompleteness theorem and Turing's recursive unsolvability is one of the strongest in the book, and one of the few things Berlinski explains well enough to be understood by someone who did not already understand it.
Unfortunately, the story of the algorithm ends in the 1940s with von Neumann and the architecture of the modern computer. I suppose the rest is history, but we are left with little understanding of the connection between these ideas and the technological explosion that followed. In his introduction, Berlinski claims that "it has been the algorithm that has made possible the modern world." There is no explanation of this claim, though, and by the end of the book, little support for the thesis.
The last few chapters are an incoherent gloss of thermodynamics, differential equations, information theory, neural networks, molecular computation and quantum mechanics. If these chapters demonstrate anything, it is that best-selling authors need more editorial restraint for subsequent books, not a license to brain-dump.
Berlinski's style is an impediment; his need to inject himself into the story is pathological. The book is sprinkled with anecdotes, some fanciful---Berlinski team-taught logic with Frege (1848--1925)---some more realistic if not real. Occasionally there is a point, but most seem like misguided efforts to make the material more interesting by talking about something else. Berlinski is full of himself; if readers get to the end of the book, they will have had their fill of him, too.
Allen Downey (email@example.com) is Assistant Professor of Computer Science at Wellesley College and a stickler for clear demarcation between fantasy and historical fact in works of non-fiction.