views:

952

answers:

3

I have been searching for references of this book, but haven't found much. It seems that it is a pretty advanced book, and I believe SO to be one of the best sites to ask for a little review. The questions follow:

  1. Do you consider it, as some say, to be the continuation of On Lisp?
  2. Which book would you read first, this one or The Art of the Metaobject Protocol?
  3. If you don't like this book, please point to another book with a higher level than On Lisp, to help in the lisp learning.

Thanks a lot for your advice!

+2  A: 

if you have already digested On Lisp, you should have a good gripe on advance macro usage.

The Art of the Metaobject Protocol is focused on Lisp OOP and the meta programming on the OOP system. It's pretty advanced.

I think book can only get you so far.

Writing code is the best way to learn. Next best thing is to read good code.

Edi Weitz's projects are excellent reading material

+10  A: 

I would say the following two things about AMOP:

  • it is easily the best book on CLOS (also one of the best books on object-oriented programming)
  • 'unfortunately' the domain covered in this book is CLOS itself

So every CLOS programmer should read it, because its programming style is really great (IMHO). It would be a bit more useful for the average programmer if it would describe some more practical domain - unless you are interested in implementing, tuning and extending object systems.

Alan Kay (yes, the Alan Kay) likes AMOP very much and once has mentioned that it is the most important OO book in a decade - unfortunately, for him, it is in Lisp, which keeps the audience small - he thinks. We Lisp programmers are lucky to have such a good book available, I'd say.

There is also Paradigms of Artificial Intelligence Programming (PAIP), by Peter Norvig. Also a really good book, which covers also a lot of practical material in development methodology, tuning, abstraction, DSLs, implementing Scheme in CL, ... Again this book has a 'problem': it does not really use CLOS. If you look at many libraries and even the Lisp implementations itself, they make more or less heavy use of CLOS.

So, AMOP has the CLOS overdose and PAIP has only small traces of CLOS. Peter Seibel's book 'Practical Common Lisp' has a good balance with practical examples.

I wrote a bit about some Lisp-related books and have a list of my Lisp-related books I own.

Rainer Joswig
+1  A: 

AMOP is the design and implementation of a metacircular object system. AMOP is to CLOS as SICP is to Scheme, maybe. It's not really for people who just want to learn how to use CLOS to write object-oriented programs in Lisp (I guess Keene's book is for that, though I was unimpressed by it in general), but it'll twist your brain in a fun way.

If you're not looking for how CLOS is implemented, PAIP might be more what you're looking for.

Ken