Learning Lisp has been a very enlightening experience for me. But getting the development environment up and running can be quite a chore, especially for a newbie. This can very discouraging if you are used to batteries-included programming languages like Python, Perl, Ruby and even C#. All I can say is be patient, learning Lisp is good for you!
- Install Linux – If you already use Linux then you will likely not have much trouble with the rest of the steps. If you don’t use Linux, why not?? It’s free! Go download Ubuntu Linux or vanilla Debian. Learn to use the package manager. I’m suggesting Linux because it supports all of the open source Common Lisp implementations. Windows has great support for commercial implementations and very poor support (but getting better) for the open source CL’s. I know others use MacOS but I can’t comment since I don’t own a Mac (yet!).
- Learn Emacs – I mean *really* learn it. Learn how to use the help system. Learn Elisp. Learn how to customize it but don’t try to turn Emacs into Notepad or Visual Studio or Vi(m) or whatever your old favorite editor is. Use it the way it was meant to be used. Steal relentlessly and unapologetically from other people’s .emacs config files. In addition to Lisp, Emacs supports just about every other language. Try using it as your primary development environment.
- Use Slime – Slime stands for Superior Lisp Interaction Mode for Emacs. It is simply the best way to develop Lisp code. It has code completion (intellisense), context sensitive help, and includes one of the best debuggers I’ve ever worked with.
- Read some Lisp books – Practical Common Lisp by Peter Seibel is a great starter book. The examples are, as the book title indicates, very practical and additionally easy to follow. Paul Graham’s ANSI Common Lisp is another good beginner’s book which includes a bonus language reference in the back.
- After going though all of the exercises in one or two Lisp books, write a medium-large program using Lisp. Pick something you have done before in another language, or something totally new. The best way to learn a language is to write code!
And that’s it! Easy right? Learning Lisp can tough but it is well worth the effort. I’m so spoiled with it now that I go through severe withdrawals when I have to use Java or C++.
August 11, 2006 at 1:54 pm |
6. ???
7. Profit!
September 7, 2006 at 4:03 pm |
There is also a great screencast about Slime created by Marco Baringer. Here’s the location of the movie (55min; 149mb; quicktime encoded mpeg-4) and torrent (due to the size of the file, please use the torrent if possible):
http://common-lisp.net/movies/slime.mov
http://common-lisp.net/movies/slime.torrent
In this video you can also see Emacs keyboard macros in action and how those can be very useful.
February 8, 2008 at 8:32 pm |
[...] what other people have said about [...]
February 8, 2008 at 9:45 pm |
Here’s a reference guide to the SLIME movie that tells you what he does, when he does it, and has links to documentation. That way you can find and watch the parts that interest you instead of having to sit through the whole thing.
http://www.pchristensen.com/blog/articles/reference-for-the-slimelispemacs-screencast/
-Peter