Practical Common Lisp
|
| List Price: | $64.99 |
| Price: | $58.49 & eligible for FREE Super Saver Shipping on orders over $25. Details |
Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com
43 new or used available from $40.00
Average customer review:Product Description
...it has a fresh view on the language and the examples in the later chapters are usable in your day-to-day work as a programmer. If you're interested in Lisp as it relates to Python or Perl, and want to learn through doing rather than watching, Practical Common Lisp is an excellent entry point.
— Chris McAvoy, Chicago Python Users Group
Lisp is often thought of as an academic language, but it need not be. This is the first book that introduces Lisp as a language for the real world.
Practical Common Lisp presents a thorough introduction to Common Lisp, providing you with an overall understanding of the language features and how they work. Over a third of the book is devoted to practical examples such as the core of a spam filter and a web application for browsing MP3s and streaming them via the Shoutcast protocol to any standard MP3 client software (e.g., iTunes, XMMS, or WinAmp). In other "practical" chapters, author Peter Seibel demonstrates how to build a simple but flexible in-memory database, how to parse binary files, and how to build a unit test framework in 26 lines of code.
Product Details
- Amazon Sales Rank: #397429 in Books
- Published on: 2005-04-11
- Original language: English
- Number of items: 1
- Binding: Hardcover
- 500 pages
Editorial Reviews
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 Magazine 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.
Customer Reviews
A wonderful (and fun) guide to Common Lisp
I've been recommending this text to people who want to start learning Common Lisp since it was first available in draft form on the author's web site. Now that it's out in print I can enthusiastically recommend that anybody who is interested in learning Common Lisp - or even curious about how the language can improve your productivity - purchase it.
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.
Solid introduction
Practical Common Lisp is a solid introductory text to Common Lisp for people with previous programming experience, and is sufficiently no-nonsense that even relatively experienced lisp programmers will benefit from it.
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[1], 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.
[1] 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.
Extremely well written -- now, watch out for the index!
Peter Seibel's writing style is a joy to read, and (unlike other commenters) I find his footnotes quite useful. Concepts are introduced in a natural and general intuitive ordering, and in general this is a great book for the first-time learner of Lisp.
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.







