Saturday, July 17, 2004

I have been learning Lisp for the last week or so. Initial impressions:

1. Lisp is incredibly elegant and fun to program in.

2. So this is where Smalltalk draws its inspiration from.

3. Being exposed just to the 'top level' (interactive command line environment) makes it easier to focus on the current function you are writing and not worry about other things (as was the case with Smalltalk for me).

4. You have to get used to some 'novel' concepts to fully appreciate Lisp (lexical closures being one of them).

5. You are better off avoiding loops and local variables. Initially it seems difficult to program without them, but the liberal use of recursion obviates their need while also producing smaller, more elegant code.

6. Though the number of parentheses you have to type may seem scary at first, you will have no problems if you use an editor like Emacs which matches these parentheses for you.

I have not gone into CLOS yet, but I have a feeling that it would just be more of the same (hopefully better).