KEY BENEFIT: Teaching users new and more powerful ways of thinking about programs, this two-in-one text contains a tutorialfull of examplesthat explains all the essential concepts of Lisp programming, plus an up-to-date summary of ANSI Common Lisp, listing every operator in the language. Informative and fun, it gives users everything they need to start writing programs in Lisp both efficiently and effectively, and highlights such innovative Lisp features as automatic memory management, manifest typing, closures, and more. Dividing material into two parts, the tutorial half of the book covers subject-by-subject the essential core of Common Lisp, and sums up lessons of preceding chapters in two examples of real applications: a backward-chainer, and an embedded language for object-oriented programming. Consisting of three appendices, the summary half of the book gives source code for a selection of widely used Common Lisp operators, with definitions that offer a comprehensive explanation of the language and provide a rich source of real examples; summarizes some differences between ANSI Common Lisp and Common Lisp as it was originally defined in 1984; and contains a concise description of every function, macro, and special operator in ANSI Common Lisp. The book concludes with a section of notes containing clarifications, references, and additional code. For computer programmers.
登録情報
|
類似した商品から提示されたタグ(詳細)関連タグ(この商品に近い関連キーワード)を追加する++最初のタグになります
|
Audience: This should probably not be the first programming book that you read, but it could easily be the second. Graham describes Common Lisp in detail, but assumes no prior knowledge of the language. This is a good book for people learning Lisp independently, for any application. Intermediate-level programmers will benefit from seeing Graham's Lisp style, which emphasizes building utilities to create a 'language' suitable for your problem.
Organization: The strongest point. Examples are keyed in well with the text: binary search trees in the data structures chapter, string substitution in the I/O chapter, ray tracing in the numbers chapter, etc. Okay, sure, there's nothing fancy there; obviously writers choose relevant examples. The impressive thing is how the examples are high-quality Lisp programs of the sort that might actually be used, even the ones from the early chapters (before the entire language is available). This is not the most common pedagogical approach, but it works here.
Possible shortcomings: There is nothing wrong with the problems per se, but most of them can be solved with very short programs. There are some great large-scale programs towards the end: an roll-your-own object system, an HTML generator, Lisp-in-Lisp; but on the other hand, you're on your own when the time comes to think of projects to try yourself.
As far as the reference section goes, it's okay, but why not just use the HyperSpec?
This book is not for everyone; you ought to have experience programming before reading this book. It doesn't hand-hold, leading step-by-step. You will have to pause every few pages to collect your thoughts and try things out. One or two of the sample routines have bugs, at least in my printing. The book is *quite dense* compared to a lot of the 1000+ page language books you see. I think that is a strong point, as it is easy to carry around, even including a capsule reference to the language. Lisp is quite different in style from C/C++/Pascal, so you might experience some culture shock.
I find myself picking this book up and reading a page or two, like taking a "Lisp vitamin", even though I've been programming in Lisp for some time now.
This book's introduction to Lisp has changed my whole outlook on programming. I hate having to go back to any other language. I also recommend Graham's other book "On Lisp" as a sequel.
|
|
|