Saturday, July 17, 2010

What is the 100 days of the Little Lisper?

The Little Lisper is an incredible book for a number of reasons:

  • It frees your mind from the constraints of an algol-style language such as C# or Java and changes your hammer-based approach to algorithmic problem solving to that of a lever 
  • It has a breezy question and answer style that helps you work through big concepts in an easy and approachable way
  • It's bottom-up, axiomatic approach shows how you can build up a whole language from a few simple primitives
  • Understanding the y-combinator will blow your mind
  • It's style is rich in examples of food, avoiding the dryness of other programming books

So Why the 100 Days of the Little Lisper?
The ideas in LISP are timeless and have influenced many modern languages. The latest incarnation of this has been the addition of lambda expressions to C#, and its proposed introduction in Java 7. 

But these are but shadows of the original. To really understand how these ideas hang together, it is essential to go back to the beginning and understand the roots of all these ideas. 

The 100 days of the Little LISPer celebrates these ideas by providing a new solution to a problem in the book each day - for each of the 100 in the book. It aims to respect the Copyright of the original book by providing no more than what is already available online - so it is much better if you buy the original. 

Any other reason to read the book? It gets you started in LISP which has lead to the following:
  • LISP's emphasis on homoiconic languages have big pay-offs when it comes to writing macros as evidenced by Paul Graham in Beating the Averages
  • LISP's paradigms have influenced the development of massive computing clusters at Google, where the MapReduce model is inspired by two LISP functions, map and reduce
  • Eric Raymond's comment that, "Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot."

No comments:

Post a Comment