Note that I am specifically omitting Emacs lisp here. I cannot for
the life of me understand why Stallman did not choose Scheme instead of
doing his own thing.
Why do I like Lisp? Here are a few reasons:
Macros. As a C programmer, I learned to despise macros in the
preprocessor, but Lisp macros are totally different. They are functions
that return expressions, not tokens that trigger textual substitutions
and change the underlying lexicographical structure of programs.
Homoiconicity. The homoiconic structure of Lisp enables most of the
rest of the magic.
Simplicity. Once you get the hang of it, Lisp is simple. You can
learn the basics of the syntax in a couple of hours, and all else
follows. Bravo!
There are, of course, other reasons. But these are the basics, and
they all lead to two things: power and expressiveness. Lisp is singularly
powerful because of it's ability to manipulate itself, and this makes
it wonderfully expressive. I realized at one point, while really learning
Common Lisp, that I was being far more productive in Lisp than I am in
most languages: things that were difficult to write in, say, C or even
SML were simple in Lisp. And that's what it's all about, right?