Should I Learn Common Lisp or Scheme?


First of you, if you are considering to learn functional programming, I highly recommend it. It’s one of the few programming paradigms that is really different from the usual imperative/procedural style. Depending on the language you choose it will definitely force you to think about programming in new ways.

Lisp is a great choice for that. One problem with Lisp, though, is that there are many dialects around, so choosing one is not trivial.

I started with Scheme, because it seemed to be very simple, and because the SICP (Structure and Interpretation of Computer Programs) uses it. As I wrote here, after a while I discovered to run my Scheme scripts directly from the command line, and things were good.

However, once I started trying write bigger problems which involved a lot of IO, for instance, I started to struggle a bit with Scheme. That’s when I decided to try Common Lisp, and it worked like a charm.

The differences are very small in terms of syntax, but I find that Common Lisp is a more robust language, so you’ll find both more auxiliary libraries and functions and more documentation around. I guess it’s no coincidence that Common Lisp is more used in production environments than Scheme.

If you decide to go with Common Lisp, try the clisp interpreter for Linux. You can install it with apt-get, and it works right away, either as an interactive interpreter or to compile/run your Common Lisp scripts.

Leave a Reply

Your email address will not be published. Required fields are marked *