The History of Programming is the Future of Programming

 New Functional Programming Enthusiasts Welcome to Land of Lisp

According to an article in New Architect Magazine, “one line of Lisp can replace 20 lines of C.” This may come as a surprise to those who only know of Lisp as one of the oldest programming languages. However, the language formerly used mostly in academic circles is surging in popularity. In fact, Lisper and entrepreneur Paul Graham claims that “The question is not whether Lisp...but rather when.” 

Why? Because most popular languages grew out of machine code while Lisp was built as a theoretical implementation of lambda calculus. Thus, Lisp and its many varieties (such as Arc, Clojure and Scheme) have numerous incredibly powerful built-in capabilities not available in imperative languages like C. For example, by using pure functions, values, and immutable objects Lisp makes parallelization easy. Many coders become converts when they discover such benefits first hand. 

One such convert is Dr. Conrad Barski. He makes popular cartoons about the glories of Lisp. Due to the growing interest in Lisp, No Starch Press is publishing Land of Lisp, Barski's book devoted to mastering this fascinating and oft-misunderstood language. Barski says, “The power at your fingertips when writing Lisp code is what makes it so different. Even if you end up never writing Lisp code again for the rest of your life, learning Lisp will fundamentally change you as a coder.” Its lessons to programmers hail from realizing how much more a programming language is capable of. 

Today those languages built around machine code are full of clumsy workarounds to achieve what Lisp has always done elegantly. To this day, Lisp still provides powerful tools that are prohibitive in other programming languages. In Land of Lisp, Barski's comic-style narrative breaks down the benefits of Lisp into six bug-annihilating features that are unique to Lisp:

 •	Functional programming: Write code that has fewer bugs
 •	Macros: Allow the indefinite extension of the language, so that Lisp is capable of constantly reinventing itself
 •	Restarts: Allow the code to find, and sometimes eliminate its own exceptions
 •	Generic setters: Set the value of any object no matter how abstract 
 •	Domain-specific languages (DSLs): Using features like macros, users can create their own customized language just for the specific needs of their own domain or program
 •	Metaobject Protocol (MOP): Unique to Lisp, it lets the user create incredibly complex software without losing control over the code

Barski believes any programmer who tries Lisp will be as convinced as he is that it is so powerful and concise it will fast be a favorite. However, he remembers how intimidating it was learning a language that has such an unusual structure. The author combats this by filling Land of Lisp with friendly comics and an easy-to-read, conversational tone. The book's many tutorials walk users through Lisp's powerful features by teaching them to create a variety of video games. Within games like “The Grand Theft Wumpus” he teaches advanced concepts such as graph algorithms, genetic algorithms, artificial intelligence and web programming.

Barski adds convivially, “Think of it this way: Give a programmer a fish command in his programming language, and he will eat Chinese takeout and drink Jolt for a day. Give a programmer a programming language that allows him to write his own fish command, and he’ll eat Chinese takeout and drink Jolt for a lifetime.”

Land of Lisp is available for giveaways, reviews or excerpts. For these, interview queries or all other questions, please contact Karma Bennett at nostarchpr@oreilly.com or 1.415.863.9900, x300.

About the author

Conrad Barski, M.D. is a Medical Software Developer working on cardiology procedure documentation for Wolters Kluwer Health. His Lisp mascot and cartoons are popular with Lisp programmers worldwide.