2007-10-14

Learning LISP

I wanted to learn Lisp for some years now, but I never got around doing it. Maybe its just that Lisp is too different from all the languages I have used so far (which includes COBOL, Forth, but was mainly Pascal, C++ and Java for the last 8 years). Maybe its the bad memories to my time in university - we had a course on artificial intelligence there. We spend the 3 months assigned to learning Lisp just with fiddling aroung with lists and CAR and CDR (the other 3 months were more useful - we used PROLOG to model relationships (mother, father, child etc.)).

But I knew that at some point I would need to learn it - there are just too many good concepts in there, and one should know them. So when I stumbled across Practical Common Lisp it was the right time. I was already learning Scala (which is the nearest thing for any Java developer trying to get his head around functional programming), so the step to Lisp seemed not so big this time.

Installing LispBox was a small adventure - on Windows it wants to create some directories on drive C, which is not allowed if you have no administrative rights. On Ubuntu you can download everything via apt, but need to activate SLIME manually in Emacs (which is explained nicely in the manual). After I figured out everything it works like a charm, though.

So I’m currently working through chapter 5, “functions”, and learned already my first lesson: code generation, when done right(TM), can be a really powerful tool for better code.

Posted by Hendrik Lipka at 2007-10-14 (Google)
Categories: development