Hi all, I'm an editor of a Chinese press. For now, there's only 2 book about lisp in China: HtDP and SICP. But both of them are not really "lisp" book. Do you think it is necessary to publish a lisp book for students and programmers? If yes, which one should be first? PCL, ACL, OL or PAIP? Thanks.
I'd say Practical Common Lisp. While I actually favour all of the other books myself, I think that PCL is the better bet for a publisher, concentrating as it does on themes more relevant to the average non-lisp programmer.
(I'd probably pick PAIP as the best of the lot, though)
For those that don't know (probably smaller on here then elsewhere but still):
HtDP: How to Design Programs
SICP: Structure and Interpretation of Computer Programs
PCL: Practical Common Lisp
ACL: ASCII Common Lisp
PAIP: Principles off Artificial Intelligence Programming
OL: On Lisp
Personally I'd probably go for PCL because it's... practical.
OL is pretty awesome though, I wish someone would reprint it in English, I have a self printed copy but I'd very much like to own a proper one!
I would highly reccomend PAIP and OL (in that sequence). PAIP is fantastic in that it provides a 1000 pages of elegant code which conveys the "lisp way" by a master of the langauge. OL is of course the macro book par excellence.
I wonder if there are any other books that show exemplary code in various languages which are not so much "Introduction to X" as "Here is how the masters of the language write code in language X and "think in" X . I know of "Lua Gems", "C interfaces and implementation" and "The Art Of Prolog" which fall into this category. Any others?
Since a lot of people think PCL is a good choice, what do you think the new book Lisp Outside the Box form Nick Levine, It's a practical introduction too.
Haven't read Levine's book, but from the chapter summaries I've seen, I'd say it's less general-purpose.
I like all the books you mentioned in your original post. OL is probably the best, but it doesn't make sense to read it first. I learned from both ACL and PCL and like ACL better because it's more systematic. But this seems to be a minority opinion.
In what possible sense has AIMA replaced PAIP? PAIP is crammed to the gills with substantial pieces of Lisp code that do interesting and useful things; it focuses as much on the "programming" as on the "artificial intelligence" and has a lot specifically about Lisp. AIMA has code snippets but not much more, and actually they're generally (always? I forget) pseudocode, not actual code in Lisp or any other language.
AIMA is a fine book. PAIP is a fine book. I don't see how you could possibly use either of them to replace the other.
(I'd probably pick PAIP as the best of the lot, though)