I thought I knew a lot about programming, until I started reading The Little Schemer. This is a book that literally blew my mind. As soon as I started reading it I thought I can’t wait to finish this and start reading The Seasoned Schemer.
Once I got about halfway through the book I realized that I wouldn’t be able to do that. Instead, when I finished the book I immediately started reading it again. I’ve never done that with any book before. The Little Schemer is really that good. I’m on my third reading now.
What makes it so great? It teaches a whole new way of looking at programming problems. Not only that, it uses a unique method of teaching. Instead of the usual dull paragraphs followed by pages of code, this book is a humorous series of questions and answers. The authors never really tell you anything. They let you figure things out for yourself.
Even more interesting is the authors’ choice to talk about the Scheme programming language. As I said earlier, I’ve written a lot of code, but never any Scheme. Scheme is a dialect of the Lisp language. Here’s what Eric S. Raymond has to say about learning Lisp:
Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.
After reading The Little Schemer, I believe that quote. No matter what language you program in, this book is worth reading. Even if you have no experience with Lisp, by the time you finish studying this book you’ll be able to write your own Scheme interpreter.
Another interesting book to check out if you enjoy this style of learning is A Little Ruby by Brian Marick. This is just a draft of the first three chapters of the book, but I sincerely hope he finishes it someday.
Enjoy these links, I’ve got to get back to reading.