From: halvers@procyon.crd.ge.com (Pete Halverson)
Newsgroups: comp.lang.lisp
Subject: Re: Why Isn't Lisp a Mainstream Language?
Date: 22 Jan 93 14:52:26 GMT
Reply-To: halverson@crd.ge.com (Pete Halverson)
Organization: GE Corp. Research & Development, Schenectady, NY

In article <1866@tekgen.bv.tek.com> jimc@tekcae.cax.tek.com (Jim Carden) writes:
>In article <1993Jan21.230642.18561@netlabs.com> lwall@netlabs.com (Larry Wall) writes:
>>In article <19930120191159.1.SWM@SUMMER.SCRC.Symbolics.COM> SWM@stony-brook.scrc.symbolics.com (Scott McKay) writes:
>>: In what way is Lisp "bland ... all the way through"?
>>
>>There's little visual distinctiveness to distinguish mentally
>>distinctive constructs.
>
> Written by the designer of Perl. Well, Perl certainly cannot be accused
> of being bland.
>
> To each his own, I guess. I cannot disagree more with almost everything
> Larry Wall has written on this subject. As far as syntax goes, LISP and
> Perl are about as far apart as they can be (and I hope LISP does not
> budge).

Seconded.  Every now and then you see a post that reveals a particular
viewpoint so completely alien to your own experience and beliefs that it's
pretty much impossible to address on a point by point basis. Of course, I'm
not surprised that Larry would have fairly well-thought-out views on
language design and syntax, and if Perl is any indicator, that they differ
radically from most others reading this group; it's just very difficult for
me to understand the design philosophy that these views represent.

What's more interesting is the difference this post illustrates between the
view of the problems with Lisp held by those "outside" the Lisp community
and that held by those "inside" the community.  Most of the non-Lisp-users'
comments have been, almost universally, about syntax. "Lots of Idiotic
Silly Parentheses".  "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."  And so on.  And yet, if
you look at the problems the Lisp users are talking about, *nobody* brings
up syntax as a "real" issue.  We talk about problems with application
delivery and deployment, confusing/redundant language features, the lack of
Genera on a Sun :-) When syntax is mentioned, it's in terms of a marketing
problem, in the same paragraph that we address the myth that Lisp is an
interpreted language where you have to shoehorn all your data structures in
to lists.  All we have to do, it's claimed, is educate enough people on the
real benefits of Lisp, and they'll be so bowled over by Lisp's power that
they'll be more than willing to struggle with the syntax for a little
while.  After all, it worked for *us*, didn't it?

Personally, when I'm comparing languages, syntax is way down on my list.
Sure, Ada is verbose, C seems to be more susceptible than most to
obfuscation, Perl is just plain chaotic, whatever.  But much more important
to me are issues like modularity, extensibility, and semantic
expressibility.  I suppose there was some initial work involved in picking
up the rhythms of Lisp syntax, but that's true with any language, and Lisp
was no more difficult than any other.

Why, then, do others make such an issue of Lisp's syntax? Partly it's our
fault, I suppose, for always trying to claim that the simplicity of it
makes it easier to learn.  For one thing, it's not really that simple, once
you get beyond the Reader, and for another, some folks, like Larry, don't
seem to *like* simplicity, preferring the alleged "creative excitement" of
chaos.  But, in general, why the discrepency? 

Finally,

>>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.

Well, no, the assumption held most Lisp programmers I know, many of whom
have had substantial experience with other more chaotic languages, is that
when it comes to developing large, complex systems for which there is no
single target that can be addressed by some more focused language, Lisp
wins hands down, not just in a "few things".  Very few, if any, would write
a small file utility in Lisp, any more than would attempt to build a large
application in Perl.   But this has nothing to do with syntax.



Pete Halverson                                      INET: halverson@crd.ge.com 
GE Corporate R&D Center                       UUCP: uunet!crd.ge.com!halverson
Schenectady, NY
Newsgroups: comp.lang.lisp,alt.usage.english