From: lwall@netlabs.com (Larry Wall)
Subject: Re: Why Isn't Lisp a Mainstream Language?
Organization: NetLabs, Inc.
Date: Thu, 21 Jan 1993 23:06:42 GMT

In article <19930120191159.1.SWM@SUMMER.SCRC.Symbolics.COM> SWM@stony-brook.scrc.symbolics.com (Scott McKay) writes:
: I cannot decide if your analogies are false since I cannot make heads
: or tails of them.

You should try to make CARs and CDRs of them instead.

: In what way is Lisp "bland ... all the way through"?

There's little visual distinctiveness to distinguish mentally
distinctive constructs.

: How does Lisp's expressiveness (which I believe measures "easy to say
: and understand") "[get] a big yawn"?  Is it because Lisp is so expressive,
: that it is boring?

No, I'm saying that Lisp is only expressive by one rather cerebral kind
of measurement, which neglects many human factors related to how we
think, perceive and talk.  And that this is the primary reason people
avoid Lisp.

: Are you saying that most other languages, because they are so
: horrible and so inexpressive, are not boring because they elicit anger
: and frustration, whereas Lisp does not elicit those emotions?

I don't believe that the absence of boredom implies the presence of
anger and frustration.  All these states of being are in opposition to
creative excitement.

: Are you saying that you think that the true challenge in programming
: is the actual struggling with the language, rather than the addressing
: the deeper issues (such as, what it is you are trying to do)?

I haven't noticed people struggling that much less with Lisp than with
most other languages.  Admittedly, nroff is a bit tougher, unless
you're just trying to do text processing...  :-)

: In what way does Lisp "push down so hard" on morphology?

One form to rule them all,
One form to find them,
One form to bring them all
And in the darkness bind them.
In the land of machinery, where the symbols lie.

Essentially, Lisp assumes that humans like to write programs the same
way the machines like to execute them, and so conflates the human
representation with the machine representation.  True, there are Lisp
compilers, but the "ideal" is still that the machine and the programmer
are interpreting the exact, same, one-size-fits-all data structure.

: Where's the "tar pit", and what languages do better?  (I can think of
: some languages that do better in some areas, but none that, taken as a
: whole, do better for most purposes).

That's precisely the point.  "Beware the Turing Tarpit, where
everything is possible, and nothing is easy."

That said, I should back off a little and admit that there are a few
things that are easier in Lisp than in other languages.  But your
assumption seems to be that it's better to use an all-around mediocre
language for most everything than to use each language for what it does
best.  I'm just pointing out the obvious fact that most people disagree
with that assumption nowadays, and that I suspect that this is the
answer to the question posed in the subject line of this thread.

: I can't even decide if you are serious or not.  I guess that all of
: your handwaving means that you must be making a joke.  In that case,
: I guess I am too dense to get the joke.

Never assume, just because I'm making a joke, that I'm not also quite serious.

Larry Wall
lwall@netlabs.com
Newsgroups: comp.lang.lisp