
Lisp is a Chameleon - gibsonf1
http://www.paulgraham.com/chameleon.html
======
cperciva
_Lisp is a chameleon. It has survived by adapting to changes in its
surroundings._

I'd say that's a pretty bad analogy. Chameleons are pretty good at
camouflaging themselves, but they're really not very adaptable. I'd say that
chameleons are the animal equivalent to FORTRAN -- they can look like
anything, but they haven't really changed.

If you want a biological example of being highly adaptable, go with bacteria.

~~~
gcheong
"Chameleons are pretty good at camouflaging themselves..."

Perhaps it should be said that, like a chameleon, Lisp has remained pretty
well hidden against the background of current languages.

~~~
cperciva
Lisp has been very successful at avoided notice, but I wouldn't say that it
has done that by looking like other languages. Rather, it looks completely
alien to people familiar with other languages -- but it escapes notice because
it looks like a very small and unthreatening alien.

~~~
brlewis
Actually, the small and unthreatening alien went to Python. However, you're
right about Lisp being different, and avoiding notice. However, that might be
changing.

A-list blogger Robert Scoble took notice of Scheme-based
<http://ourdoings.com/> and has been using it:

[http://friendfeed.com/scobleizer?service=feed&serviceid=...](http://friendfeed.com/scobleizer?service=feed&serviceid=13e9baedf2af41dbb2c241bc2a9677ba)

And it got a glowing review by Mike Fruchter:

[http://www.louisgray.com/live/2009/01/our-doings-you-
upload-...](http://www.louisgray.com/live/2009/01/our-doings-you-upload-
moment-they.html)

Notice that the first words used to describe it, "simple and unique" also
describe the language it's written in. Programming language affects programmer
thinking.

------
mixmax
The big question is whether in fifty years Lisp will still be a chameleon that
lurks in the shadows, never quite getting out where the common people are.
Like it has in the last fifty years.

It's interesting to see that while Lisp is superior in many ways, it's never
been widely adopted. Why is that? I'm pretty sure it's not only because of
pointy haired bosses, after all they take their cues from the fancy trade rags
that are written by people that would at least know about the existence of
Lisp. PHP reached a wide audience without the backing of a large corporation,
so that argument is probably stale.

I can think of a couple of reasons:

\- It's different. The syntax of Lisp is unlike any other language, which
might turn people off.

\- The Lisp community is not very beginner-friendly. Since we all start out as
beginners, there will be no experts if there are no beginners.

\- It's fragmented. There has been a history of a number of different dialects
that are almost but not quite compatible. This might be a turn-off for people
actually wanting to use Lisp for production systems where stability and
maintenance of the distro is paramount.

\- It's hard. _"Lisp is the only language where you spend more time thinking
than writing code"_ \- I can't remember where the quote is from, but probably
Stallmann, Raymond or PG.

\- There are few libraries. Even though it's the oldest language still in wide
use there seems to be a lack of libraries. This is probably the main reason
PHP became so popular, along with it's friendliness towards beginners.

Unfortunately the (fragmented) Lisp community doesn't seem interested in
addressing any of these problems, so my guess is that in fifty years Lisp will
still be a minority language only used by a select few.

~~~
cperciva
_Lisp is the only language where you spend more time thinking than writing
code_

That may be true for some people, but it's definitely not true for me. I'd say
I spend on average 10 hours thinking for every 1 hour I spend writing code --
and I write in C.

~~~
wheels
I think the commenter meant something different from the original author. I
think they meant that you spend more time thinking about how to write it in
Lisp.

I'd contest both points, really.

First, I think if you're sufficiently comfortable in almost any language, you
can translate pretty fluidly from idea to implementation. There are real
differences, but they're overstated. In that respect, Lisp's "hardness" is
really not being deep into the language and natively breaking problems down in
a way that maps to functional languages.

Second, and I think your point, is that getting to that point where you've got
the problem broken down into its components is the hard part. I think there
are tasks where that's true and ones where it's not, and again, that's largely
language independent, though the amount of time needed for the more menial
aspects does vary.

~~~
Zak
_Lisp's "hardness" is really not being deep into the language and natively
breaking problems down in a way that maps to functional languages._

I think that may be a valid argument if you're talking about a mostly-
functional dialect of Lisp like Clojure. Common Lisp and Scheme don't really
offer any resistance to writing in an imperative style

------
gibsonf1
I ran into this article while researching a Lisp imap library with ssl. It
ends up John Foderaro (the author of the linked article) wrote the first
verson of Franz's Allegro common lisp, the allegroserve webserver (which we
use and enjoy) and Post Office (the program I'm trying to find an ssl
extension to).

A note on the lisp community: In looking for the imap library, I also found
mel-base <http://www.cliki.net/mel-base> and sent an email to their devel list
and got an answer from the mel-base author, Jochen Schmidt, within about an
hour to use cl+ssl (which we already use with cl-smtp to send email)

I sent John Foderaro an email about ssl with Post Office (we'll see if he
answers - Post office has a really nice conceptual structure to it), but I
will definitely blog eventually about a Lisp library solution using IMAP with
ssl, even if I have to make the extension myself. It shouldn't be too hard
using cl+ssl.

------
cellis
Besides viaweb (aka Yahoo Store), are there _any_ major commercial
applications or websites written in this language?

~~~
pg
_((by "cellis") (id 482420) (score 3) (sockvotes 0) (type comment) (ip
"redacted") (time 1234739856) (kids (482439 482438 482436)) (text "Besides
viaweb (aka Yahoo Store), are there <i>any</i> major commercial applications
or websites written in this language?") (votes ((1234740917 "redacted"
"redacted" up 2 ) (1234740355 "redacted" "redacted" up 1) (1234739856
"redacted" "cellis " up 0))) (parent 482242))_

Depends what you count as major.

~~~
parenthesis
I like that the child ids are keyed with "kids"; but was disappointed that the
parent id isn't keyed with "mom".

------
joubert
I can't wait for the ILC2009 in March!

