Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Just completed the first pass through Peter Siebel's Practical Common Lisp. I'm fairly comfortable with C#, Ruby, Java; The chapters that teach Lisp and the early 'practical' chapters were easy on my brain.

However towards the end of the book, the practical chapters (on binary serialization, id3 parsing, web programming and the HTML generating DSL) seemed to be just out of reach - I recognized the primitives and methods being used ; but the means of combination left me flabbergasted. e.g. Given the specs, I couldn't sit down and write that code on my own.. I skipped some of them and strafed through the rest.

Are there other who felt that there was a missing level between the first 22 chapters and the practicals ? Or is it just me ? Should I read the basics again? Or is there another book that will help me cross the chasm ?

share|improve this question

1 Answer 1

up vote 3 down vote accepted

You're absolutely right that there's a big jump between the basics at the beginning of the book and the practicals at the end. Unfortunately, the missing material would most likely have made the book twice as long.

The good news is that if you understood the basics, you can fill in the gap yourself. You just need a real project to work on. By "real project" I don't mean that you have to sell it or put it on the internet. It just has to be something that interests you and will take a significant amount of time to complete. That last part is crucial.

At some point in your coding, you may notice that you're writing code with a similar structure in multiple places. That will be when you want to think about writing a macro.

That's the general approach. Just write something first. Then you can look through PCL and the Hyperspec to see if there are things you can use to make your code clearer and more concise.

I'll close with a warning: the things you can do with Lisp may make it painful to program in the other languages you're used to.

share|improve this answer
I already found bits of Ruby and C#'s LINQ halway through the book. Lisp was truly ahead of its time :) –  Gishu May 24 '11 at 6:59

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.