- Series: Books for Professionals by Professionals
- Hardcover: 500 pages
- Publisher: Apress; 1st Corrected ed., Corr. 4th printing edition (April 11, 2005)
- Language: English
- ISBN-10: 1590592395
- ISBN-13: 978-1590592397
- Product Dimensions: 7 x 1.1 x 10 inches
- Shipping Weight: 2.4 pounds (View shipping rates and policies)
- Average Customer Review: 4.5 out of 5 stars See all reviews (81 customer reviews)
- Amazon Best Sellers Rank: #683,804 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Practical Common Lisp 1st Corrected ed., Corr. 4th printing Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently bought together
Customers who bought this item also bought
About the Author
Peter Seibel is a serious developer of long standing. In the early days of the Web, he hacked Perl for Mother Jones and Organic Online. He participated in the Java revolution as an early employee at WebLogic which, after its acquisition by BEA, became the cornerstone of the latter's rapid growth in the J2EE sphere. He has also taught Java programming at UC Berkeley Extension. He is the author of Practical Common LISP from Apress.
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
Peter has a very enjoyable and easy-to-understand writing style, and he starts early with practical examples that show how Common Lisp can be used to solved problems. Chapter 3, "A Simple Database", is a great explanation of how programs are grown from pieces in Common Lisp to solve large problems. It's presented early and draws people in to the problem solving techniques used when programming in Lisp.
Peter doesn't skimp on details, though: detailed chapters on FORMAT (for formatted output), LOOP (for general iteration / value collection), and CLOS (the Common Lisp Object System) provide a wonderful tutorial to these powerful but complex features.
The book ends with a long string of practical examples that synthesize multiple concepts into programs that are useful and show exactly why programming in Lisp is so cool. The last practical example, which builds a HTML generation library in Lisp, gives the reader a taste of why writing a Domain-Specific Language is so easy in Lisp and why it can integrate so well with the rest of the language.
Peter is very enthusiastic about Common Lisp and it shows in his writing. Unlike other authors (Paul Graham comes to mind) he gives every major feature of the language its due and shows how and where it should be used.
Practical Common Lisp may be one of the most fun books on programming you'll read all year. Even if you're just curious, check it out. It may change the way you program.
Having been exposed to people with no lisp experience who have started learning it from this book, most seem to manage well. Common problems stem from jumping too far ahead: unlike many books who claim to do so, PCL actually has a very nice didactic approach to most things, and benefits from being read in order.
I have very few grivances with the book:
1. I believe that package and symbol semantics could benefit from a thorough treatment earlier in the book -- say around chapter 6, as opposed to being left for chapter 22.
2. While Seibel's style is refreshingly idiomatic, he consistently uses Javaesque dotted.package.names, which while not by any means unique to him I still find irritating. Most of the package names in the book are prefixed with com.gigamonkeys, whereas the more traditional approach would be to leave the prefix out totally, or make it com-gigamonkeys.
3. Optimizing lisp code is admittedly a tough topic to deal with, especially when aspiring to give portable advice. The treament given is nonetheless too cursory for my liking. Norvig's advice in "Paradigms of Artificial Intelligence Programming" is far superior, but could still have been improved upon.
These nits aside, I must say that this is definitely a book I wish I'd had when I was learning CL. Recommended to anyone interested in learning Common Lisp.
 Some well-known authors of Common Lisp textbooks *cough* Graham *cough* have unfotunately quirky personal styles of writing code that do not mesh that well with what many consider idiomatic lisp. In comparison to this Mr. Seibel's style is clear and provides a good model to emulate.
Now -- WATCH OUT FOR THE INDEX! My first indication that the index of this book was not up to par was an especially useful footnote on page 58 mentioning READ-FROM-STRING, which I couldn't find later when I needed to use READ-FROM-STRING in the small Lisp program I'm writing. A little experimentation convinced me that nothing in the footnotes is listed in the index, and I started reading with a pencil in my hand.
Unfortunately, the index fails in more fundamental ways as well. It would have you believe that the "do" keyword is introduced on page 278, when in fact an entire subsection is devoted to "do" in pages 85-87. If you look up "comment" you'll find no mention of page 49, where comment conventions for block comments, line comments and so forth are described in concise and useful detail. The long list of special characters that stars the alphabet is inexplicably lacking some of the most common operators and directives, such as #', ,@ , ,@ and #. In fact, the only thing the index seems consistently to get right are words that appear in all capital letters in the body of the text.
It slows my reading considerably to constantly be adding pencilled entries to the index, but since it will probably save hours of irritated searching for information in the future, I'm persisting. Let's all hope this glaring flaw is corrected soon in a second edition. In the meantime, there's always the option of searching the full text, which is online on the gigamonkeys site, every time you would normally flip to the index.
Most Recent Customer Reviews
And there is a webpage version of this book: [...], good for later reference