

Ask HN: Question for Lisp Hackers - sam191

I'm having a hard time convincing my buddies at school (or anyone for that matter) to try out Lisp. No one seems to care when I talk about code as data or macros. I am a fairly inexperienced programmer, so when they answer with "so what?" I can't really come up with anything.<p>Then I got to thinking.. What is supposed to motivate new programmers to try out and use Lisp when today we have dynamic languages such as Python and Ruby?<p>Personally, I got into it because I am hungry for knowledge and I've heard that some of the best CS literature out there uses it. But what about others? Is there a clear advantage to using Lisp that is not apparent to non-Lispers?
======
pavelludiq
The best i can come up with is to write something cool in lisp and show it to
them. And by "cool" i don't mean a lame example snippet showing off closures,
or an implementation of an "unless" macro, i mean a real app. Not too
big(because it will take you longer to write, and also it will be harder to
explain all the details to your friends while showing them your code), but not
too short(its easy for languages like python or ruby to have shorter versions
of very small lisp programs, so you might fail to impress if your app is too
trivial).

If you just want to "geek out" on them and spit a lot of hype about lisp, that
might not be a good idea. Its good to educate yourself about lisp and other
languages, and be ready to answer questions, and explain your choice, but IMHO
its better to show lisps power with real code.

------
hga
See "The Blub Paradox" in <http://www.paulgraham.com/avg.html> on why it's
hard to get this across.

The "clear advantage" that Lisp still has is the best type of homoiconicity
(<http://en.wikipedia.org/wiki/Homoiconicity>); see items 8 and 9 in
<http://www.paulgraham.com/diff.html>.

I'm not sure why this is hard to get across; my first introduction to Lisp was
a "Learn Lisp in 15 Minutes" talk/mini-seminar/whatever and it was immediately
obvious to me.

~~~
sam191
Yes, I thought about it as I was writing the post. But what I'm interested in
finding out is how (and if) it is any different today (2010) than it was when
the essay was written. In other words, has anything changed that would make
another language a close alternative to Lisp? Or is Lisp still at the top of
the continuum ?

~~~
hga
Well, you might want to look at other declarative language paradigms (which
you can of course be neatly programed in Lisp) such logic programming (e.g.
Prolog) and defining functions through pattern matching (e.g. Haskell, Qi).

There's some serious power there and in the latter case it's general purpose.

------
rick_2047
I say quit trying to convince them to get into Lisp. Lisp does not maintain
rockstar status like Python or Ruby nor does it have the big daddy status like
Java or C++, although it is older and (in some cases) better than all of them
combined.

You yourself stated that you got into Lisp as you knew that some of the best
literature uses it as a medium and you were hungry for knowledge. This may not
be so for your buddies.

