Lisp newbie jump start 1
Many that are close to me have noticed my new obsession with a language that was invented in 1958: Lisp. I don't think there has been a day that goes by that I don't make some kind of reference to Lisp. The more I read about Lisp, the more mind blowing it is to me that most people don't use it. I understand Lisp may be an acquired taste, but there are many interesting concepts/features that can impact one's thinking even when they are not using Lisp.
Everyone complains about the parentheses. Please complain about something original. To tell you the truth, after a couple of weeks, you won't even see the parens anymore. You don't have to be a genius to do it, trust me, I'm definitely not one.
With that said, I would like to recommend three books that have helped me gain an understanding of Lisp. Best of all, they are all free! The only cost is your time, and desire to learn.
- Practical Common Lisp By Peter Siebel
- Common Lisp : A Gentle Introduction to Symbolic Computation By David S. Touretzky
- On Lisp By Paul Graham
If you don't want to pull your hair out, I would suggest you read "On Lisp" last as it contains many advanced topics. It doesn't matter which order you read the other two books. They require no previous Lisp experience. The book by Touretzky is actually targeted for people with no programming experience at all, but I found it useful just to skim through real fast.
What are you still doing here? Click on the links and start reading!
ANTLR

I have been following ANother Tool for Language Recognition (ANTLR) on and off for about two years now. I always felt ANTLR is one of the most exciting, and not as well known tools, out there. With ANTLR you can build a program that is able to recognize input, a recognizer, by specifying the grammar for a given input (language). ANTLR does all the dirty work for you- it builds lexical analyzers (input character stream, and output tokens) and parser (input token output syntax tree) for you when you feed it BNF grammar. Once you have a recognizer you can do all kinds of cool things like transformation. Basically you can build a Domain Specific Language (DSL) that can help you solve a problem.
I am glad to see there will be a Definitive ANTLR Reference hitting the book store soon. Currently the book is in beta and it is available for purchase in pdf form. After reading the book, I feel that I understand ANTLR at a much deeper level. I am planning to build some simple transformation tools with ANTLR in the near future. I will talk about it in later posts. If you want to be a savvy programmer, this book is a must read.
