|
|
10 of 10 people found the following review helpful:
5.0 out of 5 stars
Best intro to Lisp, 26 April 2005
I started reading this book last year, in it's unfinished on-line state because I'd finally succumbed to Erid Raymond's "suggestion" that learning Lisp will make you a better programmer, even if you never program in it. I also bought Paul Graham's ANSI Common Lisp, downloaded several of the out-of-print free copies of Lisp books, trawled www.cliki.net, read Paul Graham's website, lemonodor.com, Bill Clementson's blog, etc, etc.Paul Graham's book is probably one of the more famous and recommended Common Lisp books, and these are the main reasons I bought it. It feels more aimed at the very basics of Lisp, going into reasonable detail about these, and is a fantastic quick-reference book (i.e you should buy it, too!) but it also feels very much of its time (the 80's, I think) and being a reasonably seasoned programmer in other languages, I found myself skipping chunks of it. The two books which really helped me get excited about were David Lamkins' "Successful Lisp" (also available to buy and on-line) and "Practical Common Lisp". The two complement each other very well, where Practical CL starts off gently, giving a basics cleanly and comprehensibly, then drops you right in with real examples that I found I could compare with how-you-do-it in other languages. This makes it sound like it's a sink-or-swim style, but definitely isn't the case. Instead, it uses a examples that mix concepts explained in the current chapter, plus those that are coming up later, so you can see early on how multiple facets of the environment go together as a whole, rather than as independant chunks that you have to put togehter yourself. My only complaints were early on, where "Scheme" (one of the other major Lisp dialects) was not explained well enough: my first big dilemma was whether to start learning Scheme or Common Lisp (go for CL first, but try to learn both, I've decided) but Paul's now put a quick but decent few paragraphs in the first chapter about Scheme. The other complaint was it hasn't a reference section, which is always very useful when you're starting out in a language, so you can browse, remind yourself quickly, etc. I later discovered the HyperSpec (and "Successful Lisp") but the published version of the book has a whole chapter devoted to getting more information, incl. must-have references like the HyperSpec. All in all, I can't fault this book, nor can I recommend it highly enough to novice Lispers.
|