Slashdot Mirror


Land of Lisp

vsedach writes "Remember the 1980s and BASIC, when programming was simple, brains flew through space, and everyone ate lasers? Computer magazines came with code listings, and classics like David Ahl's BASIC Computer Games offered a fun and easy way to get started in computer programming. Conrad Barski remembers, and with Land of Lisp, he's set out to demystify programming in the 21st century." Keep reading for the rest of Vladimir's review. Land of Lisp: Learn to Program in Lisp, One Game at a Time! author Conrad Barski, M.D. pages 504 publisher No Starch Press rating 10 reviewer Vladimir Sedach ISBN 978-1-59327-281-4 summary Learn to Program in Lisp, One Game at a Time! This is no small feat. Modern computers don't come with anything that looks like BASIC. Getting started with a "real" programming language like Java requires installing and learning hundreds of megabytes worth of compiler and integrated development environment. Barski's thesis is that Lisp is a refreshing alternative - it offers BASIC's ease of getting started (get a prompt, type in code, and it works), while providing a combination of modern features unmatched in other programming languages.

The first thing that immediately jumps out about Land of Lisp is that it has a lot of comics. The book is an outgrowth of Conrad's Casting SPELs in Lisp illustrated online tutorial, which originally appeared in 2004 (incidentally, around the same time as why's (poignant) guide to ruby, probably the most famous and epic programming language comic book). The comics are humorous and irreverent - if you're a C programmer, you might be surprised to know that you're a Cro-Magnon fighting the COBOL dinosaur.

Despite the silly humor and Barski's approach of introducing programming completely from scratch, Land of Lisp builds up to cover topics like graph theory, search algorithms, functional and network programming, and domain-specific languages. All throughout, the book emphasizes various techniques for doing I/O. The topics covered will leave the reader with a solid understanding of what modern programming entails and a good basis from which to explore either application or lower-level systems programming.

The most unintentionally impressive aspect of Land of Lisp is that it manages to completely explain web programming. No more hiding behind complicated software stacks and impenetrable web server packages - chapter 13, titled "Let's Create a Web Server!," does exactly what it promises, in only 15 pages. Later chapters introduce HTML and SVG to build a graphical game as a web application. If nothing else, this book will leave the reader with all the necessary basic skills and total confidence in their understanding to build real-world web applications.

Other introductory programming books use Lisp, but none fall into the same category as Land of Lisp. Abelson, Sussman and Sussman's Structure and Interpretation of Computer Programs, arguably the greatest introductory programming book ever written, requires a solid math background to understand the examples. Felleisen et alia's How to Design Programs offers a much deeper introduction to programming than Land of Lisp, but is an academic textbook, and hence lacks funny cartoons and may be boring. Friedman et alia's The Little Schemer is a favorite of many, but doesn't have LoL's real-world applications.

Land of Lisp is an excellent book for someone who wants to learn how to program, for web programmers who want to move up out of their niche and start learning about CS theory and systems programming, and for anyone who is puzzled about what really goes on behind the web and wants to learn what web programming is really about. Experienced programmers who want to jump into using Lisp are probably better off with Peter Seibel's Practical Common Lisp, though.

Watch Conrad's hilarious promotional music video for the book.

You can purchase Land of Lisp: Learn to Program in Lisp, One Game at a Time! from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

2 of 330 comments (clear)

  1. Re:metaprogramming FTW! by Raffaello · · Score: 0, Troll

    Perhaps it speaks to management's desire to treat programmers like assembly line labor inputs - unskilled and easily replaceable. This approach will always lead to lower quality software, and/or project budget overruns and/or schedule slips, and/or outright project failures.

    Programmers are not unskilled labor. Since management insists on treating them as such, management settles on tools that can be mastered by the least skilled programmers. Since that's what the market wants, most schools teach to that low-ball target (i.e., university education in computer science becomes mere java vocational training).

    Those wise enough to understand that programmers are highly skilled labor know that they should get out of the way and let the experts choose their own tools. When that happens, such enlightened organizations will frequently choose languages other than C, C++, C#, and Java. They'll sometimes even use languages such as common lisp as ITA software does for its QPX system which powers most of the online travel search business, such as Orbitz, Bing Travel, many large arilines, etc. and which is why Google is trying to acquire ITA...

  2. Re:Python is the Lisp of the 21st century by ultranova · · Score: 1, Troll

    Different from parentheses, it's very easy to undo a bunch of indentations, just put the left margin where you want it.

    This is what I really, really, really hate about Python: indentation-based blocks. In other programming languages, I can easily restructure code when prototyping or exploring simply by adding or removing parentheses. In Python, I have to manually indent or unindent every single line .

    Who the Hell thought that was a good idea?

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.