Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

closed as primarily opinion-based by durron597, Ixrec, Snowman, MichaelT, gnat May 23 '15 at 5:48

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

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

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