What's so great about Lisp?

Darrell Brogdon picture Darrell Brogdon · Jan 10, 2010 · Viewed 48.1k times · Source

I don't know enough Lisp to say whether it's good or bad. It seems like everyone who has used Lisp loves it, yet the most popular languages these days are descended from C.

So what is it about Lisp that is so great and why isn't it used more? Is there anything just plain bad about Lisp (other than the incessant amount of parentheses)?

Answer

Josh Lee picture Josh Lee · Feb 5, 2010

“Lisp is a programmable programming language.”
— John Foderaro, CACM, September 1991

Here’s my view:

On the surface, Lisp is a nice, simple functional programming language. There’s almost no syntax, and all the pieces fit together in logical ways.

If you dig a little deeper, read SICP, and write a metacircular evaluator, you discover two things: One, the whole interpreter (given just a few primitives) is just barely a page of code, and two, the relationship between code and data allows for elegant programming techniques.

Once you’ve fully absorbed this, it feels like other languages are set in stone when they only allow you to say a few things. Lisp can build any abstraction at all if you can define syntax and semantics for it.