My modest goal is to learn LISP. This desire was originally inspired by an interesting quote I read about LISP:
SQL, Lisp, and Haskell are the only programming languages that I’ve seen where one spends more time thinking than typing.
– Philip Greenspun
As a programmer and as someone who has an appreciation for interesting mathematics, and also as someone who does not look favorably upon unnecessary work, I take special enjoyment in elegant solutions to problems. Moreover, as a student of English (my second area of study), I recognize that one should certainly spend more time thinking than reading (or writing, as the case may be). I know that complex tasks which penetrate deeper than face value require an attention of thought much greater then the physical work involved. For this reason, LISP seems like a particularly attractive language for me.
I write this a few days after I started working on my goal, and it has been an interesting time so far. The tools I use are simple, but powerful. I compile and run my LISP programs using SLIME ( Superior Lisp Interaction Mode for Emacs) in Emacs, running onto of Ubuntu(Hardy Heron). I do not own a LISP book, instead all of the resources I consult are online. Two I have found particularly useful are Practical Common Lisp by Peter Seibel and Lisp Primer by Colin Allen and Maneesh Dhagat.
My short term goal for now is to implement a few common sorting algorithms, specifically Insertion Sort, Selection Sort, Quick Sort, and Merge Sort. I might write up the algorithms in C++ and/or Java as well, in order to benchmark my LISP programs against them. It might be interesting to compare, although I do not know if any differences would be apparent.
Thats all for now! More to come soon as I progress.
