The Structure and Interpretation of Computers Programs (SICP) is a great book. It might even be one of the greatest. Like most books, it’s sold on Amazon. There, luminaries like Peter Norvig and Paul Graham have left glowing five-star reviews.

Yet there are also a bunch of one-star reviews of the book on Amazon. If the book is as great as the say, why is this? Norvig thinks that these reviewers lack the proper perspective: “To use an analogy, if SICP were about automobiles, it would be for the person who wants to know how cars work, how they are built, and how one might design fuel-efficient, safe, reliable vehicles for the 21st century. The people who hate SICP are the ones who just want to know how to drive their car on the highway, just like everyone else.” Graham takes a more cynical view: “Reading the reviews made it clear what happened. An optimistic professor somewhere has been feeding SICP to undergrads who are not ready for it.”

Have you ever seen these reviews? If not, I recommend checking them out; they’re a real hoot. I actually went through and read all them all, and I’ve come to a hypothesis that is even more cynical than Graham’s: I think that all the scathing reviews were left by the same person.

There is a common style to these reviews, and it is marked by unbridled vitriol with few citations or examples. There is a constant barrage of insults:

  • “Confusing, pointless, dumb”
  • “Of all of the computer programming texts I have worked with, this is by far the worst and most confusing I have ever seen. But besides being confusing, it is also pointless.”
  • “This book is used as a filter in our computer science department. It subjects students to material so boring, and presented so poorly, that only those who can stand through it all ever stay on for more computer science classes.”
  • “A major timewaster. The book doesn’t teach anything worthwhile at all.”

One of the major themes in these reviews is that the book carries undeserved prestige because its authors are MIT professors. It sounds like the reviewer has a personal axe to grind:

  • “Perhaps they…are deluding themselves into thinking this book must be good since it’s from MIT.”
  • “not bad…but only if you… glorify this book because of its prestigious MIT roots.”
  • “Just because the author graduated from MIT doesn’t mean it’s great.”
  • “It’s from MIT..all the prestige you need in one little text…who cares about the actual conent?” [sic]
  • “The problem is the author, who thinks that because he’s from MIT, he can just write drivel and it will sell.”

Another repeated idea is that the authors wrote the book for their own “gratification”:

  • “My impression is, and others have suggested, that the goal of this book was self gratification for the authors.”
  • “It has the feel of a book written for no other reason than Abelson’s self-gratification.” [Just Abelson?]
  • “If you are into programming languages like Scheme, this text is for you to salivate over Hal Abelson’s self fornication (how else would you call the senseless drivel he wrote?).” [Again, just Abelson?]

Finally, the reviewer makes frequent appeals to anonymous authority and popular opinion:

  • “I learned the material from my college professor. (who hates the book, btw.)”
  • “Even my professor didn’t like the book.”
  • “Everyone I know, including the professor, were often confused.”
  • “I have asked many freshmen abou their thoughts on this book and the class taught out of it. *ALL*hated it.” [sic]
  • “I showed it to my buddy, doing a Ph.D. in compiler design, and he laughed long and hard…”
  • “All I hear about SICP from students and professors alike is that they wish the book ceased to exist.”
  • “For 99.9% of people who read it (and I’ve talked with a lot of people about this book) it was a very unpleasant experience.”

So much for the textual analysis. What about the stated identities of the reviewers?

Well, about two thirds of them are attributed just to “a customer”, and these all date from the spring, summer, and fall of 1999. There are also a few named reviewers. One of these is “John Morgan”, whose account has just two reviews: a scathing review for SICP, and a scathing review for a book called Linear Algebra and its Applications by Gilbert Strang. John Morgan instead recommends Linear Algebra by Stephen Friedberg. These details might seem irrelevant, but they are not. There is another one-star SICP reviewer called “Ted Shane”, and Ted Shane’s account has six reviews, among which are a one-star review for Strang linear algebra book and a five-star review for Friedberg’s! On top of that, Strang’s book also has a scathing review attributed to “a customer” and dated 1999. Curious!

So what can we take away from all this? Based on analysis of the text of the reviews as well as the activity of the reviewers, I believe the following conclusions can be drawn with some confidence: 1) at least some, and maybe most, of the reviews were written by a single person, and 2) that person was both a jerk and a moron. Note that these conclusions and the hypotheses of Graham and Norvig do not conflict; they could all be true.