Friday, November 25, 2011

What is the single most influential book every programmer should read?

Personally, Structure and Interpretation of Computer Programs is by far the most influential programming book I have ever read.
Some classics like Code CompleteRefactoring and Design Patterns teach you the effective working habits and the painstaking details of the trade. Others, like PeoplewarePsychology of Computer Programming and The Mythical Man-Month delve into the psychosocial aspects of software development.Numerous others deal with algorithms. These books all have their place.
SICP, however, is in a different league. It is a book that will enlighten you. It will evoke in you a passion for writing beautiful programs. Moreover, it will teach you to recognize and appreciate that very beauty. It will leave you with a state of awe and an unquenchable thirst to learn more. Other books may make you a better programmer; this book will make you a programmer.
And in the meanwhile, you will learn a thing or two about functional programming (side effects won't be introduced until chapter three), lazy evaluation, metaprogramming (well, metalinguistic abstraction),virtual machinesinterpreters, and compilers.
Some think that SICP is not a beginner's book. Personally, I probably wouldn't have appreciated the book in full without having some programming experience under my belt, but I would definitely recommend it for a beginner. The book is, after all, written for the famous 6.001, the introductory programming course at MIT. It may require an intellectual effort (especially if you do the exercises - and you should), but the reward is well worth the price.
Not convinced? Read the Foreword or the Preface to the First Edition. The full text is freely available on the web.
It's available online for free, and there are even video lectures to go along with it.


19 
Note that MIT is no longer using this (see lambda-the-ultimate.org/node/1840 ) but that in no way detracts from it being a great book. – pjz Sep 23 '08 at 21:12
9 
Duly noted. It's a shame. Same happened to my school as well - they even had the audacity to replace it with a Java course. – Antti Sykäri Oct 6 '08 at 15:47
64 
16 
Also the SICP lecture videos. youtube.com/results?search_query=sicp – Jared Updike Jun 11 '09 at 23:21
7 
The reviews on Amazon are incredible. Just about half of the people loved it, and the other half hated it. There are almost no fence sitters. – Wayne Conrad Jan 10 '10 at 19:48

No comments: