Land of Lisp 330
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.
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.
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! |
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.
Oh Come On! This is a Book Review! (Score:5, Funny)
(incidentally, around the same time as why's (poignant) guide to ruby, probably the most famous and epic programming language comic book)
Hey, take it easy there, this is a book review meant for humans (not some code for an interpreter)!
Oh great, now you've got me doing it too. Do you have any idea how long it took for this to go away the last time I coded Lisp?
*obsessively tallies and double checks to make sure he closed all his parentheses before hitting submit*
Quote of the Day Analyzes Article Text Now? (Score:4, Funny)
If you're a C programmer, you might be surprised to know that you're a Cro-Magnon fighting the COBOL dinosaur.
From the "random" quote of the day at the bottom right of the page:
COBOL is for morons. -- E.W. Dijkstra
Re:Oh Come On! This is a Book Review! (Score:3, Funny)
Denote keyword arguments?
(happy :o(sad))
Re:"Alice" one of the best learning languages toda (Score:1, Funny)
Alice, who the fuck is Alice?
Re:Lisp is cool... (Score:5, Funny)
WHO ARE YOU TO JUDGE OUR SERVICE ORGANIZATION, PEASANT?
Sorry, old habits...
The 45 minute GC's ended with the first Generation-scavenging GC which may have come along after you game up on lispms...
Re:Those Were The Days My Friends, We Thought... (Score:3, Funny)
Re:FOOLISH MODERATOR! (Score:5, Funny)
Re:Hi- I'm the Author (Score:5, Funny)
I'd be glad to give you some pointers :)
I wish I had time to study Lisp, but... (Score:1, Funny)
I'm a 21 years old software engineering student who is mostly being taught Java (alongside some courses on C/C++). I also have some experience with PHP and very basic experience with Python but that's it. "Lisp" is - alongside "COBOL", "Fortran", etc. - are alien to me. My reaction to them is: "Oh. That was a programming language in the... seventies? Sixties? Eighties? Anyways, I've seen references to it on XKCD."
Delving into this book might be refreshing, interesting and educational at the same time. I'm intrigued by a book that is directed at beginners and yet goes into search algorithms and the like... And the reference to teaching how to create a webserver in 15 papes practically got me drooling. However, is there a reason why all such couldn't be explained with something more modern, like Python? I would love to learn new languages because they're interesting or for personal improvement but I'm a student with two jobs (well, one is very secure and the other pays really well. I don't want to give up either in this economy) and the job market is a tough place. I really don't have time to study things that don't directly relate to the jobs I want to apply to. (This might be why India is kicking our ass. We can't compete in prices when it comes to generic students with limited skillsets but we don't really have a chance to develp wider sets of skills) Using one service to search for open jobs gives me 106 results for "java", 8 results for "python", 200 for "php", 49 for "c++", 19 for "C#"... and 0 for "Lisp".
So... Can anyone suggest me a book like this for some more common language or provide arguments with which I could reason myself to buy this one?
Re:Oh Come On! This is a Book Review! (Score:3, Funny)
Thmileys make lithp talk thrange.
Re:Hi- I'm the Author (Score:3, Funny)
Some pointers? Surely you mean cons cells!
Re:"Alice" one of the best learning languages toda (Score:3, Funny)
Re:Hi- I'm the Author (Score:3, Funny)
He said Lisp, not C.
Re:"Alice" one of the best learning languages toda (Score:3, Funny)