So, you think you know a lot about programming? I’ve been writing code since my senior year in high school. That’s 14 years. I’ve written code in more languages than I care to remember - C, C++, Assembly, Pascal, COBOL, Java, Perl, VBScript, JavaScript, PHP, Ruby, Python, Unix Shell.

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.

Several other programmers have taken ideas from The Little Schemer and applied them into other languages. One of my favorites is The Little JavaScripter by Douglas Crockford. Douglas Crockford is a genius JavaScript programmer. He took all of the code from the book and translated it into JavaScript, including the 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.