 When I tell people that I like and admire Lisp, they will typically roll their eyes and/or give me 
some pretty weird looks - and then they'll ignore me for the rest of their lives.
When I tell people that I like and admire Lisp, they will typically roll their eyes and/or give me 
some pretty weird looks - and then they'll ignore me for the rest of their lives.
Well, after all those years, I'm usually not hurt anymore. Instead, I just giggle to myself like 
the proverbial mad scientist. You see, in the past few years there has been such a 
huge surge 
of interest in functional and dynamic languages that everybody and their sister 
already programs 
in a Lisp-like language, only without knowing it. Or, at the very least, they use a language
or programming environment whose designers adopted very significant amounts of Lispy concepts. 
Examples: C#, JavaScript, Ruby, Python, Scheme, Groovy, Perl, Smalltalk, Java - and, in fact, 
pretty much 
any language running on top of the CLR or JVM. (Heck, even C++ programmers will
soon learn lambdas and closures...)
Being an old fart, my memory doesn't serve me as well as it 
used to, hence my bias towards simple concepts and simple solutions which are easy to 
memorize.
For starters, a compelling reason to fall in love with Lisp is its 
syntactical 
simplicity. Lisp probably has the easiest syntax of all programming languages, maybe
with the exception of Forth-like languages. Want proof? This morning, a good
soul over at 
reddit pointed me to
results of the University of Geneva's HyperGOS project: A comparison of BNF graphs 
for various languages. Lisp's 
BNF looks like this:
s_expression = atomic_symbol / "(" s_expression "."s_expression ")" / list 
list = "(" s_expression < s_expression > ")"
atomic_symbol = letter atom_part
atom_part = empty / letter atom_part / number atom_part
letter = "a" / "b" / " ..." / "z"
number = "1" / "2" / " ..." / "9"
empty = " "
Now compare the above to, say, 
Java.
(And yes, the description above doesn't tell the whole story since it doesn't cover any 
kind of semantic aspects. So sue me.)
Oh, and while we're at it: 
Lisp Syntax Doesn't Suck,
says Brian Carper, and who am I to disagree.
So there.
I know the feeling very well, many programmers have just a few bad memories of the weird AI language that used recursion for everything and that they learned on pen and paper together with prolog and tons of complicated algorithms.
Little nitpicking, in your example languages you mention scheme which is a member of  Lisp family of languages. 
-- Slobodan Blazeski - 22 Sep 2009
You're right, of course - Scheme is a Lisp, not just a language inspired by Lisp.
(Had I spelt it LISP, then it'd be the language invented 
in the 50s, therefore being a forerunner of Scheme, whereas "Lisp" is ambiguous.)
-- 
ClausBrod - 22 Sep 2009
to top