SICP

SICP

Finally finished Structure and Interpretation of Computer Programs (SICP). It seems that there are two very distinct camps, when it comes to appreciating this book. The camp that says the book sucks, that it doesn’t teach anything practical, and that MIT students deserve a special place in Heaven for having to go through this.

Some quotes from the “SICP is bad” camp:

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. I’ve been programming for quite some time, and I have never had to use 90% of what is in this book.

I have asked many freshmen abou their thoughts on this book and the class taught out of it.
*ALL*hated it. Some PhD students, whose specialty was programming languages, tolerated it, while other PhD students also hated it.

Like most academic books, this book relishes on sophistication and pedantics for the sake of academics.

And then there’s the other camp. The people who think this book is brilliant and absolutely necessary.

I’m happy to report that I fall, squarely, on this camp. This book is a master piece and no CS student should graduate without reading it. The notions in SICP are to programming, what biology is to brain surgery or what machine language is to Java. It shows you the man behind the curtain and why things are the way they are.

It introduces such common notions as Object Orientation, Message Dispatching, Recursion (of course), Pattern Matching, Logical Programming, Lambda Calculus, Streams, Concurrency, Interpretation and Compilation, Garbage Collection, and it does all of this using a real programming language: Scheme. So you learn Scheme in the process.

To be fair, I have also watched the lectures which are available online for free and at the Silicon Valley Patterns group we’ve been discussing the book for a few weeks now. It certainly helps clarify a few things.

It’s the equivalent to going to a museum and trying to guess what it all means, and watching the same art but this time using one of them self-guided tours devices.

Five stars for SICP.

1 Comment »

  1. Julio Santos » Blog Archive » Footnotes matter said,

    March 29, 2006 @ 8:36 am

    [...] We’re still studying SICP but we’re getting close to the end. Last night we beat streams to death, for the second time. Apparently the week before the group had struggled with infinite loops in part because they had missed a certain footnote on the book, that warned about special form expressions. Lo and behold, a week later we were still talking about it. [...]

RSS feed for comments on this post · TrackBack URI

Leave a Comment