The author dissects, in irritating detail and with sometimes irritating reasoning, a lot of computer science conventional wisdom. As happens with irritants, sometimes the author’s irritation produces a pearl of wisdom. The trouble is, what is pearl and what is merely irritant is as much a function of the reader’s biases as it is of the author’s analytic and debating skills. In other words, whether you love or hate this book is a matter of how many of your sacred cows are gored.
And gored they are. Turing’s test to determine whether computers can think is assaulted for 25 pages. The persistent influence of mathematics on computer science, especially in formal verification, is called a “misguided effort” and a “waste of resources” (the author refers to computer scientists who adhere to those mathematical roots as “calculists”). Unhappy with what he claims are multiple divergent definitions of the term “module,” he abandons it altogether, substituting “box” (and manages to quarrel with Parnas’s term “information hiding” along the way). He expresses exasperation over computer scientists who have erroneously paraphrased his previous writings, concluding that “computer science has some distance to go before it deserves the name of ‘discipline’ let alone ‘science’,” but reserves his greatest wrath for those who failed to catch a couple of his own errors in earlier papers.
After five chapters and 170 pages of this sort of technical contrariness, Halpern veers off into politics, discussing the ACM stance on human rights and the role of the Strategic Defense Initiative (he supports the former and opposes the latter). Obviously, events have rapidly made most of this political material obsolete.
The net effect of each essay is not unlike listening to an intelligent conservative preacher who chooses a single sentence of biblical text and then fills a 20-minute sermon with in-depth analysis of its meaning. To the true believer, this work could indeed be a pearl; to the doubter, however, it is more like irritating windmill tilting. What is my own reaction to this book? Scoring by chapter, I would call it Irritants 4, Pearls 2.