Practical Common Lisp / Edition 1by Peter Seibel
Pub. Date: 04/06/2005
Seibel, a programmer, covers syntax and semantics of Common Lisp and shows how to write software in this guide for programmers and students. Early chapters cover the language itself, and later practical chapters help readers write programs for filtering spam, parsing binary fields, cataloging MP3s, streaming MP3s over a network, and providing a Web interface for the MP3 catalog and server. Annotation ©2004 Book News, Inc., Portland, OR
- Publication date:
- The Expert's Voice in Programming Languages Series
- Edition description:
- 1st ed. 2005. Corr. 3rd printing 2007
- Product dimensions:
- 7.00(w) x 9.25(h) x 7.00(d)
Table of Contents
Most Helpful Customer Reviews
See all customer reviews
This book is great. It helped me start working on some real projects with Lisp, in a very short time! It also helped me see how great Lisp is. The book presents Lisp in a very nice way. It's easy to follow, and makes you feel like you can actually do lots of things with the language. One thing, though: don't think this is the only book on Lisp you should get. It's an introductory book. It was already enough to make me much more preoductive than when I worked with C++, but I do know that there is even more to Lisp.
I've been studying Lisp over the past two years, and this is the best introduction I've found. The examples (the Practical chapters) do a great job of showcasing the Lisp features other languages lack. I started with books like 'On Lisp' which gives good tips for the seasoned Lisp programmer, but doesn't help new users get up to speed on writing projects. I also started with PAIP (Paradigms of Artificial Intelligence Programming) which is also great, but works with larger, more complex examples. If you're interested in seeing if/how Lisp provides more flexibility than your favorite programming language, then check out this book - it is a fun read. Also may be suitable to people new to programming computers, but some programming experience would help.
This is the perfect book to get to know LISP for the first time or to reaquaint yourself with an old friend. It's been 20 years since I stared at a LISP program. For the past few months we have been using LISP for a rather large development effort - for us anyway. Boy was I rusty. This book has bailed me out many times and allowed me to keep up with our LISP guru. Once you get the hang of it LISP is a great language - its fast to prototype with and you can tweak it for speed later and match C++ for run times. This book takes you by the hand and walks you through the intricacies of LISP. By the time you're done you will have created your first large scale program in LISP - it's that easy!
The very title bespeaks the defensive nature of the book. So too are the several chapters of case studies of Lisp implementations, where these have titles beginning with 'Practical'. The biggest flaw in the book is what it does not describe about Lisp. It provides a good explanation of Common Lisp. And, yes, this language is probably the most powerful language generally available to anyone today. In fact, in Lisp's almost 50 year history, this has generally been true. Most Lisp proponents will readily tell you this, as does the book. Many knowledgeable Lisp detractors will also agree. But there has been an enduring puzzle. If Lisp is so powerful, why then has it consistently failed to hit the big time? Newer, inferior languages can come from nowhere to overtake it, like C++, Java, C# and Perl. The book sidesteps this entire issue. It describes the 1980s as the era of Lisp Machines, when several companies made chips that could natively run Lisp code. Well, firstly, the book fails to mention that this was in part a response to the miserably slow performance of the Lisp interpreters or compilers of that time. Secondly, the book does not say that most if not all of those Lisp companies failed. Why? Could it possibly have been due in part to the very choice of Lisp? The book asserts that many people's experiences with Lisp are with outdated versions. Whereas Common Lisp has none of those disadvantages. Humbug! When languages compete, what is often important is comparative advantage. Yes, the CL is better than 1985 Lisp, say. But CL today competes against languages like Java, C# and VB that are far more powerful in terms of expressive ability than languages in 1985. By the way, I'm not talking of hardware differences. At any given time, all languages have access to comparable hardware. The book does not make a convincing case as to why CL should succeed now, against those formidable and entrenched opponents. Any more so than 1985 Lisp should have succeeded then against C or Fortran.