Series: Books for Professionals by Professionals
Hardcover: 500 pages
Publisher: Apress; 1st Corrected ed., Corr. 4th printing edition (April 11, 2005)
Product Dimensions: 7 x 1.1 x 10 inches
Shipping Weight: 2.4 pounds (View shipping rates and policies)
Average Customer Review: 4.6 out of 5 stars See all reviews (81 customer reviews)
Best Sellers Rank: #632,322 in Books (See Top 100 in Books) #49 in Books > Computers & Technology > Programming > Languages & Tools > Lisp #117 in Books > Computers & Technology > Programming > Languages & Tools > Compilers #770 in Books > Computers & Technology > Computer Science > AI & Machine Learning
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.
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, 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.
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.
Land of Lisp: Learn to Program in Lisp, One Game at a Time! Controlar AutoCAD con AutoLISP/Visual LISP (Experto AutoCAD con Visual LISP nº 2) (Spanish Edition) Practical Common Lisp An Accessible Introduction to Common Lisp and Functional Programming Common Lisp Recipes: A Problem-Solution Approach Loving Common Lisp, or the Savvy Programmer's Secret Weapon Writing GNU Emacs Extensions: Editor Customizations and Creations with Lisp (Nutshell Handbooks) The Language and its Development Environment (AutoCAD expert's Visual LISP Book 1) The Visual LISP Developer's Bible, 2011 Edition Programming 3D. Solids, Meshes & Surfaces. (AutoCAD expert's Visual LISP) El lenguaje y su Entorno de Desarrollo (Experto AutoCAD con Visual LISP nº 1) (Spanish Edition) Polish: Learn Polish Bundle 2-1 (Polish: Learn Polish in a Week! &Polish: 95 Most Common Phrases & 1000 Most Common Words): Polish Language for Beginners (Learn Polish, Polish, Polish Learning) Common Core Math 4 Today, Grade 5 (Common Core 4 Today) Common Core Science 4 Today, Grade 4: Daily Skill Practice (Common Core 4 Today) Common Core Math 4 Today, Grade K: Daily Skill Practice (Common Core 4 Today) Common Core Language Arts 4 Today, Grade 1: Daily Skill Practice (Common Core 4 Today) Common Core Kindergarten 4 Today: Daily Skill Practice (Common Core 4 Today) Common Core Science 4 Today, Grade 5: Daily Skill Practice (Common Core 4 Today) Common Core Assessments and Online Workbooks: Grade 4 Language Arts and Literacy, PARCC Edition: Common Core State Standards Aligned Common Core Math 4 Today, Grade 3: Daily Skill Practice (Common Core 4 Today)