Paperback: 504 pages
Publisher: No Starch Press; 1 edition (November 15, 2010)
Language: English
ISBN-10: 1593272812
ISBN-13: 978-1593272814
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.
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) Learn German Step by Step: German Language Practical Guide for Beginners (Learn German, Learn Spanish, Learn French, Learn Italian) Cooking for One: 365 Recipes For One, Quick and Easy Recipes (Healthy Cooking for One, Easy Cooking for One, One Pot, One Pan) How to Boil an Egg: Poach One, Scramble One, Fry One, Bake One, Steam One Python: Learn Python in One Day and Learn It Well. Python for Beginners with Hands-on Project. (Learn Coding Fast with Hands-On Project Book 1) CSS (with HTML5): Learn CSS in One Day and Learn It Well. CSS for Beginners with Hands-on Project. Includes HTML5. (Learn Coding Fast with Hands-On Project Book 2) C#: Learn C# in One Day and Learn It Well. C# for Beginners with Hands-on Project. (Learn Coding Fast with Hands-On Project Book 3) Php: Learn PHP In A DAY! - The Ultimate Crash Course to Learning the Basics of PHP In No Time (Learn PHP FAST - The Ultimate Crash Course to Learning ... of the PHP Programming Language In No Time) The Mental Game of Volleyball: Competing One Point At A Time (Masters of The Mental Game) (Volume 19) PHP: MySQL in 8 Hours, For Beginners, Learn PHP MySQL Fast! A Smart Way to Learn PHP MySQL, Plain & Simple, Learn PHP MySQL Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! PYTHON: Python in 8 Hours, For Beginners, Learn Python Fast! A Smart Way to Learn Python, Plain & Simple, Learn Python Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! ANGULARJS: AngularJS in 8 Hours, For Beginners, Learn AngularJS Fast! A Smart Way to Learn Angular JS, Learn AngularJS Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! 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) C++: C++ in 8 Hours, For Beginners, Learn C++ Fast! A Smart Way to Learn C Plus Plus, Plain & Simple, Learn C++ Programming Language in Easy Steps, A Beginner's Guide, Start Coding Today! Learn JavaScript VISUALLY with Interactive Exercises: The Beautiful New Way to Learn a Programming Language (Learn Visually) Let's Measure It! Learn to Read, Math (Learn to Read, Read to Learn: Math) Learn: Cognitive Psychology - How to Learn, Any Skill or Subject in 21 Days! (Learn, Learning Disability, Learning Games, Learning Techniques, Learning ... Learning, Cognitive Science, Study) Simply Learn Hebrew! How to Learn the Hebrew alphabet! How to speak Hebrew! Learn to read Hebrew sentences! Ideal for teaching Hebrew! How to Study Hebrew! Learn German! More than 100 didactic texts to learn and improve your German: Learn vocabulary and grammar while your are reading (German Edition)