Paperback: 504 pages
Publisher: No Starch Press; 1 edition (November 15, 2010)
Product Dimensions: 7 x 1.3 x 9.2 inches
Shipping Weight: 2.2 pounds (View shipping rates and policies)
Average Customer Review: 4.5 out of 5 stars See all reviews (59 customer reviews)
Best Sellers Rank: #376,007 in Books (See Top 100 in Books) #26 in Books > Computers & Technology > Programming > Languages & Tools > Lisp #40 in Books > Computers & Technology > Programming > Functional #297 in Books > Computers & Technology > Games & Strategy Guides > Game Programming
If for no other reason, you should buy Land of Lisp because of the extreme levels of unadulterated nerdery filling its pages. The price of the book is almost worth that very spectacle alone. However, as an added bonus the content of the book is top drawer. The first incarnation of Lisp was discovered by John McCarthy over 50 years ago, so it's difficult to imagine that a book on the subject bringing a fresh perspective, but Land of Lisp pulls it off in spades. The book manages to carve its own unique niche in the Lisp book landscape through a masterful blend of cartoons, game development examples, interesting prose, and a highly sharpened whit.The author, Conrad Barski M.D., takes the reader through a whirlwind tour of Common Lisp and some of the fundamental principles of game development, but interestingly enough it never feels rushed. He accomplishes this feat by sticking to a very important strategy summarized as, "providing something useful at every stage". That is, every example in the book is meant to fit into the context of the larger game examples (e.g. a text adventure, Dice of Doom, etc.) while simultaneously teaching a lesson about Common Lisp *and* provide utility in isolation. It's really a thing of beauty the way that Mr. Barski manages to build useable games piecemeal while teaching important concepts along the way. To illustrate what I mean, let me give an example. The Dice of Doom game example starts with a very small 2x2 board and the program parts needed to represent it. Mr. Barski then builds pieces on top of this substrate to generate positions, while extolling the virtues of decoupling the logic of the game from its representation.
Not since the long out of print "A Fortran Coloring Book" by Roger Kaufman and MIT Press has there been a programming language textbook that was this much fun :-) Lisp is a powerful, self-extensible language; it is the second oldest programming language in continuous use; its implementation was based on a 1958 mathematical paper by John McCarthy on the Lambda Calculus. It also for many years was the main language taught in MIT's basic course for Computer Science 6.001 the "Structure and Interpretation of Computer Programs".While this book would be worth purchasing for the Nerdly Jokes and Comics by themselves, it is a full but easily paced treatment of a language that allowed the implementation of most Artificial Intelligence research. The easy, carefully designed pedagogy (teaching) follows the development of several entertaining and challenging games including 1980's style text adventures (like Zork and Adventure). But advanced topics are covered in some level of depth with examples including development of a HTTP server, a full chapter on Functional Programming, and another on LISP Macro's and the development of Domain-Specific Languages (DSL's). Some Artificial Intelligence methods such as MINIMAX are briefly covered in the game examples developed in this book. Reader's seeking some understanding of Functional Programing will achieve this understanding in a widely used and classic programming language rather than the more recent and arcane Haskell.This is a fun and relatively easy ride through one of the oldest higher-level programming languages and one with considerable life still in it. It could form the basis of a child's early programming background or a comprehensive adult's introduction to a powerful Computer Science tool.
I'm already fairly expert at Scheme and Clojure, so I already know how to "think in LISP". Consequently, I can't really judge how effective the book is for self-learners who are learning LISP and/or programming for the first time. I suspect the book may move at too brisk a pace for true beginners, but I'm not certain.As a teacher of computer science, I tend to prefer teaching out of books with a coherent pedagogy. How to Design Programs is my favorite textbook. Simply Scheme is another good one.Land of Lisp doesn't seem to be grounded in any kind of modern pedagogical philosophy. Instead, it has a kind of retro feel that is appealing in its own way. This book takes me back to the 80s, learning how to program by typing in complex BASIC programs out of magazines and books. Many of the programs I typed in, I didn't understand 100%. But each time I entered a program, I learned something, and then by tweaking the programs and seeing what it would do, I learned a little more. One of my favorite middle school memories is the time I managed to understand a text adventure BASIC program well enough to write my own. Land of Lisp, in fact, has code for a rudimentary text adventure engine, as well as a blatant "Retro type-in game" of Robots that fits compactly in less than a page of code. So it's easy to see why this book evokes in me a sense of nostalgia.I think Scheme is a better language for learning programming than Common Lisp. Common Lisp lacks a bit of Scheme's elegance, and it's just harder to get a Lisp environment up and running. But Land of Lisp doesn't make any apologies for Common Lisp's quirks.