The other day, I stopped by the computer science section of the library at my college, and there it was; sitting on the shelf. The dead tree version. Ink on paper.
Structure and Interpretation of Computer Programs
Yes, that’s right; the Wizard book.
So now it’s sitting at home on my desk. After typing ACCEPT_KEYWORD="~x86" emerge mit-scheme on the command line and waiting for the intall to finish, I was ready to go. Baby steps with Lisp.
Wow.
Lisp is different. For most languages post-C, if you learn how to program in one language, you have learned 70-90% of what you need to know to program in another language — they are that similar. They have for loops, they have while loops, they have code blocks, they have functions, variables, types; if they are Object Oriented, they have classes and methods, and may or may not have strong typing for variables. But they are similar, to the point that, once again, learning one gets you a huge head start to learning most of the others.
Not Lisp. I’ve never seen anything like Lisp. And, not to sound like a total geek, Lisp is Really Cool.
Some of the basics are: every statement is a list. Data is a list, commands are lists. The whole program is a list of lists. The fact that this is possible, that it works, is fascinating in and of itself. I haven’t been this interested in a programming language in years. And, admittedly, I really haven’t barely learned anything yet.
Take a simple command, like adding 2 plus 2:
This is a list with three elements. It’s also a prefix notation for adding 2 plus 2; and predictably enough, it will return the answer 4.
I won’t go in to an intro to Lisp here — for starters, I wouldn’t do it justice, and furthermore the Wizard book is available to read online for free.
The jargon entry for the Wizard book is here. For those who are interested in programming for programming’s sake, this is the sort of thing you will probably enjoy. Don’t wait — check it out.
Having said that, I’m very glad I found the ink and paper copy in the Library — even though I knew it was available online, there’s something special about a physical book that can’t be replaced by a web page. I don’t think that books will ever go away, no matter how much information is accumulated on the internet.
Phil out.

