

Features That Give Lisp Its Power - asimjalis
http://abhishek.geek.nz/docs/features-of-common-lisp

======
SlyShy
Really awesome article. I was expecting something mundane like "Lisp has
closures, that's so cool, etc." but it was in depth and illustrated a lot of
idioms I should have picked up earlier.

------
mahmud
The best item in that list is a link buried deep inside it:
<http://chaitanyagupta.com/lisp/restarts.html>

An excellent article! I thought it would be something cheesy but turned out
great.

------
aufreak3
Nice writeup by Abhishek, though it still falls into the "A is cool because it
has features f1, f2, ..." category (despite SlyShy thinking otherwise).

My own experience of lisp has been more like learning origami. The basic stuff
is a square piece of paper. You then learn and figure out folds to create more
and more complicated things. This metaphor, for me, captures both the
simplicity of the basics of lisp as well as the difficulty of true mastery ...
not to mention the difficulty of writing about it!

~~~
jgg
I think that's why Lisp is pleasing in a mathematical sort of way. You start
with your basic axioms, which are simple to understand. The real test,
however, comes from your ability to build up from those axioms an elegant,
abstract framework which gets closer and closer to describing your problem
set. This is why smug Lisp weenies say that in other languages, you wrap your
problem around the language whereas with Lisp, you wrap your language around
the problem.

There's definitely a mindset behind building Lisp programs that makes it worth
using, but sadly those benefits require lots of work to arrive at and are
often buried in pages of elitist, manic-depressive drivel on certain
newsgroups when trying to describe why someone should use Lisp.

------
arethuza
It's quite long time since I wrote Lisp for a living, but that reminded me of
some old friends: method combination, reader macros and the loop macro.

------
tibbon
I wasn't aware (never actually programmed lisp) of the handling of numbers
being so strong. I wonder if some of that could be worked into Ruby.

------
pw0ncakes
Lisp is cool in many ways, but a lot of those features result in code that is
hard to read and painful to debug.

I can tell nightmare stories about even benign-seeming features like multiple-
value returns.

Of course, I'm sure a lot of programmers out there can use these features to
write beautiful code; I'm just saying that they can also be abused.

~~~
baddox
Common Lisp definitely has a lot of "vocab" that to someone new is difficult
to read. I've read The Little Schemer and the first four chapters of SICP and
I feel I have a somewhat strong grip on at least the vocabulary of Scheme. I
just picked up "Paradigms of Artificial Intelligence Programming: Case Studies
in Common Lisp" and I quickly realized that Common Lisp is a behemoth compared
to Scheme.

