Longtime Irreal readers know that I consider Abelson’s & Sussman’s Structure and Interpretation of Computer Programs (SICP) arguably the best computer science book of all time. There’s Knuth’s The Art of Computer Programming of course but for the average software engineer, I think SICP is more valuable.
Simon Dobson has a delightful post that agrees with my evaluation. He says that SICP is the only computer science book worth reading twice. Most of the post is a list of things that make the book so great. The list is so persuasive that I’m tempted to read the book for the third time. I don’t know if I actually will but it certainly deserves the attention. I still remember how much more I learned when I read it for the second time, Doubtless, a third reading would increase my understanding even more.
I’m sure rereadings would eventually reach the point of diminishing returns but the material is so rich that it seems there is always something new to learn. If you haven’t already read SICP, I urge you to do so. I didn’t read it until late in my career and it still changed the way I look at and practice programming. The first time I read it, I interleaved the reading with the video lectures that Abelson and Sussman gave at HP. You may find that a nice way to approach the material.
Reading and absorbing SICP doesn’t mean you have to start programming in Scheme—although it may make you wish you could. It’s more about learning the proper way to think about programming.