Rating:  Summary: Perhaps the best book ever on bottom-up programming Review: ...It is a really great book on Lisp and the concept of bottom-up programming. Instead of directly programming in your favoriate (or required) programming language, you should instead define a language that matches the problem at hand. While Common Lisp is undoubtedly the easiest language in which to apply the full set of these concepts, many of them may be carried over in weaker forms to other languages. For example, we are using the m4 macro language in a Java project, and Graham's advice is directly applicable to a great deal of what we are doing. If you want to see what Java and Java programming will look like in 10-20 years, read this book! (Java is really a dialect of Smalltalk, which is a dialect of Lisp!)
Rating:  Summary: Impressed Review: Finally I found out why people like Stallman consider Lisp the most 'powerful' language in existence. This book does a very good job explaining the mode of thinking that lisp programmers use; in other words, it's a very introspective book. It is aimed at people who know how to use the language already; for an intro, you may wish to look at his book _ANSI Common Lisp_. About macros: It is an important feature of the language. If you eventually decide that macros are harmful, it is best to been shown macros' full strength so you can make such an informed decision. If you don't know what macros are, they're just sort of a shorthand you define, that gets expanded to its full form. It may be a bad idea to use often in normal programming for languages like C or Java, but Lisp is sufficiently different that macros may be very useful in making code that generates more code.
Rating:  Summary: Impressed Review: Finally I found out why people like Stallman consider Lisp the most 'powerful' language in existence. This book does a very good job explaining the mode of thinking that lisp programmers use; in other words, it's a very introspective book. It is aimed at people who know how to use the language already; for an intro, you may wish to look at his book _ANSI Common Lisp_. About macros: It is an important feature of the language. If you eventually decide that macros are harmful, it is best to been shown macros' full strength so you can make such an informed decision. If you don't know what macros are, they're just sort of a shorthand you define, that gets expanded to its full form. It may be a bad idea to use often in normal programming for languages like C or Java, but Lisp is sufficiently different that macros may be very useful in making code that generates more code.
Rating:  Summary: It is available (legally) for free download Review: Go to paul graham's website and download this book for free now. You'll be happy you did.
Rating:  Summary: It is available (legally) for free download Review: Go to paul graham's website and download this book for free now. You'll be happy you did.
Rating:  Summary: Interesting reading even for non-Lispers Review: I bought this book just on a whim, and I liked it. I personally don't code in Lisp, and if I did, I sure wouldn't do it in Common Lisp, the dialect this book concentrates on. However, this book what I was looking for -- interesting reading about some advanced programming concepts that happen to be demonstrated in Lisp. This book is relatively free of any grand agendas -- or maybe I've just gotten so used to the usual agendas in Lisp literature that I can just ignore them. And, well, it does occasionally stop to remind you that Common Lisp is the best thing since cat pyjamas and that you're wasting your time if you're using anything else. But that aside, the book does patiently develop some advanced concepts that I'd never seen a satisfactory explanation of -- notably, pattern matching, nondeterminism, and backtracking. After I read that section, I finally appreciated the implementation of regular expressions, which I use every day. The only really disparaging thing I can say about this book is that uses Lisp macros rather a lot, where I (and I think most readers) would have been more comfortable with pure functions. This is an obstacle to understanding, but I could usually get the jist of the concept anyway, even if the example code was a bit opaque to me.
Rating:  Summary: Interesting reading even for non-Lispers Review: I bought this book just on a whim, and I liked it. I personally don't code in Lisp, and if I did, I sure wouldn't do it in Common Lisp, the dialect this book concentrates on. However, this book what I was looking for -- interesting reading about some advanced programming concepts that happen to be demonstrated in Lisp. This book is relatively free of any grand agendas -- or maybe I've just gotten so used to the usual agendas in Lisp literature that I can just ignore them. And, well, it does occasionally stop to remind you that Common Lisp is the best thing since cat pyjamas and that you're wasting your time if you're using anything else. But that aside, the book does patiently develop some advanced concepts that I'd never seen a satisfactory explanation of -- notably, pattern matching, nondeterminism, and backtracking. After I read that section, I finally appreciated the implementation of regular expressions, which I use every day. The only really disparaging thing I can say about this book is that uses Lisp macros rather a lot, where I (and I think most readers) would have been more comfortable with pure functions. This is an obstacle to understanding, but I could usually get the jist of the concept anyway, even if the example code was a bit opaque to me.
Rating:  Summary: Very good for budding gurus Review: One of the strange things about Lisp is that while there exist books for beginners and for true wizards, there are relatively few books for those caught in the middle; who have progressed beyond the initiate but are not yet wizardly. _On Lisp_ is such a book, and is an extremely good introduction to both what makes Lisp so different and so wonderful, and what being a Lisp guru is all about. Macros in particular are a strong point; the bulk of the book is an enormous system of macros culminating in a Prolog implementation. Highly recommended for those it targets.
Rating:  Summary: How to "Think Lisp" Review: One problem with Lisp novices is that they generally try to treat Lisp like ALGOL or C; but while Lisp is, technically, an imperative language, it is best used as a functional (and symbolic) language, and that requires a different approach to solving problems "in the Lisp way". Once learned, this problem solving approach can be used in a variety of situations even with other programming languages, but the real problem has been the lack of good presentations of Lisp that didn't either concentrate just on the lanugage itself, or on applications. _On Lisp_ is one of the best treatments of *Programming in Lisp*, in my opinion, as it takes the reader beyond just the semantics of the language, and teaches them typical patterns of code which helps one know how to look at problems so they are easy to solve in Lisp.
No matter what your experience level (and I had been a professional Lisp hacker for over ten years when I first read this book), there is something to learn from _On Lisp_. Read it, and improve your ability to conceptualize solutions to your programming problems. END
Rating:  Summary: How to "Think Lisp" Review: One problem with Lisp novices is that they generally try totreat Lisp like ALGOL or C; but while Lisp is, technically, animperative language, it is best used as a functional (and symbolic) language, and that requires a different approach to solving problems "in the Lisp way". Once learned, this problem solving approach can be used in a variety of situations even with other programming languages, but the real problem has been the lack of good presentations of Lisp that didn't either concentrate just on the lanugage itself, or on applications. _On Lisp_ is one of the best treatments of *Programming in Lisp*, in my opinion, as it takes the reader beyond just the semantics of the language, and teaches them typical patterns of code which helps one know how to look at problems so they are easy to solve in Lisp. No matter what your experience level (and I had been a professional Lisp hacker for over ten years when I first read this book), there is something to learn from _On Lisp_. Read it, and improve your ability to conceptualize solutions to your programming problems. END
|