From: Joe Marshall
Subject: Nobody doesn't like Lisp
Date: 
Message-ID: <eksanf6z.fsf@ccs.neu.edu>
The following was posted to 

  comp.lang.c++
  comp.lang.java.programmer
  comp.lang.scheme
  comp.lang.c
  comp.lang.python

I thought I'd repost it here because it would be more relevant.
I'll rebut it in my next post.

-------------------------------------------------


This article is posted at the request of C.W. Yang who
asked me to detail my opinion of Lisp, and for the benefit
of people like him, who may find themselves intrigued by
this language.

The opinions expressed herein are my personal ones, coming
from several years of experience with Lisp. I did plenty of
AI programming back in the day,  which is what would now be
called "search" instead.

Due to time constraints, I will refrain from posting any
follow-ups here. Participants of other newsgroups are well
aware of comp.lang.lispers' tendency to engage in personal
attacks, so a productive discussion with them is unlikely
anyway.

Permission is granted to copy and distribute this document
without restrictions.


=========================================================
   Why Lisp is not my favorite programming language.
=========================================================
(In the following, "Lisp" refers to ANSI Common Lisp)

This article is a collection of facts anyone interested in
Lisp should know about.

---------------------------------------------------------

FACT 1: The fastest Lisp implementations are slow

(See any third-party benchmark: The Great Computer Language
Shootout comes to mind, but the Coyote Culch test is in my
optinion even better: it is a professional-quality
interlanguage benchmark)

As a rule of thumb, the most hand-optimized Lisp programs
will be longer than their C/C++ equivalents, and will run
2-20 times slower using the best compilers.

This alone is half the truth. To get such performance out
of Lisp, one has to add type declarations and shed all
safety checks, which is analogous to casting /everything/
to (void*) in C. This is needed to turn off type tag checks
at run time.

Sadly, Lisp code that was posted to USENET by Pascal
Bourguignon for the Coyote Gulch test did not measure up
even to these low expectations and was 31.6 times slower
than C++, using CMUCL 18d as a Lisp compiler and Intel C++
7.1 (with -O3 -xW optimization switches) as a C++ compiler
on Pentium IV.

---------------------------------------------------------

FACT 2: No one but a small clique of fanatics likes it

No matter how odd or perverted the cause, there will be
followers. In fact, the odder the cause, the fewer, but
more fervent its followers are. Look at any religious cult,
like Scientology, or take a peek in comp.lang.lisp and
listen to Lisp zealots talk about 'making sacrifices for
the cause' (in all seriousness!). Look up "a public
apology" thread started by Pascal Costanza as an excellent
example.

ZEALOTS STOP AT NOTHING TO ADVANCE THEIR CAUSE, AND
PERSONALLY ATTACKING ANYONE WITH A DISSENTING OPTINION IS
THE FIRST THING IN THEIR ARSENAL.

---------------------------------------------------------

FACT 3: The vast majority of people who study Lisp in
school, never want to use it again.

You should already know this if you studied or taught CS
where Lisp courses were offered. Even those students who
are fond of Scheme are usually disgusted by Lisp.

---------------------------------------------------------

FACT 4: Lisp is the most complicated language in the world

It has the biggest standard specification document, which
is also the most obfuscated one - something a lawyer
pretending to be a programmer could have written. C, C++
and Fortran 95 specs are much better written, by people who
can communicate directly and eloquently.

---------------------------------------------------------

FACT 5: Despite its size, Lisp does not define threads or
GUI.

Large libraries are very useful when programming, however
Lisp's many functions and macros hardly qualify.

---------------------------------------------------------

FACT 6: There is no open-source cross-platform native-code
compiler

It was suggested that GCL (GNU Common Lisp) is the only
exception. However, it needs to be noted, that despite its
name, GCL is a dialect of its own, is quite slow even by
Lisp standards, and most alarmingly, unlike with other
compilers, its license requires your, programmer, code to
be GPL if you distribute it with GCL. (Because you will
need to use GCL both as a compiler and a run time library)

---------------------------------------------------------

FACT 7: There is no standard C interface.

C has become a lingua franca for interlanguage APIs. It may
be unfair, but not having a standard C interface is a
serious problem for any language.


EPILOGUE:

I do not hate Lisp, and I think it was a fine tool decades
ago, and I am not going to say "Lisp sucks". However, now
that we have superior languages for coding close to the
iron, high-performance computing, number crunching,
algorithms, scripting and gluing components together, Lisp
should be finally retired.

From: Joe Marshall
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <ad2xop8n.fsf@ccs.neu.edu>
Joe Marshall <···@ccs.neu.edu> writes:

> I'll rebut it in my next post.

And so....

> Due to time constraints, I will refrain from posting any
> follow-ups here.  Participants of other newsgroups are well
> aware of comp.lang.lispers' tendency to engage in personal
> attacks, so a productive discussion with them is unlikely
> anyway.

Ad hominem and `parting shot' arguments are not persuasive.

> The opinions expressed herein are my personal ones

I'm pleased you are not posting other people's personal opinions.

> =========================================================
>    Why Lisp is not my favorite programming language.
> =========================================================
>
> This article is a collection of facts anyone interested in
> Lisp should know about.

Are these `personal opinions' or `facts'?

> FACT 1: The fastest Lisp implementations are slow

The fastest Lisp implementations are certainly faster than other
languages: 

  @inproceedings{ berlin94partial,
    author = "A. A. Berlin and R. J. Surati",
    title = "Partial Evaluation for Scientific Computing: The Supercomputer Toolkit Experience",
    booktitle = "Partial Evaluation and Seman\-tics-Based Program Manipulation, Orlando, Florida, June 1994 (Technical Report 94/9, Department of Computer Science, University of Melbourne)",
    pages = "133--141",
    year = "1994",
    url = "citeseer.nj.nec.com/berlin94partial.html" }

J. M. Siskind. Stalin, an Optimizing Compiler for
      Scheme. ftp://ftp.nj.nec.com/pub/qobi/ stalin.tar.Z. 

> (See any third-party benchmark: The Great Computer Language
> Shootout comes to mind, but the Coyote Culch test is in my
> optinion even better: it is a professional-quality
> interlanguage benchmark)

From the almabench web page:
  ``the point of almabench is to determine floating-point performance;
    any other functionality obscures that goal.''

It is well known that it is easy to get floating-point to perform
poorly in Lisp, but again I refer the reader to Berlin and Surati
where use of Lisp allows them to achieve a sixfold increase in
floating-point utilization over traditional methods.

> As a rule of thumb, the most hand-optimized Lisp programs
> will be longer than their C/C++ equivalents, and will run
> 2-20 times slower using the best compilers.

This assertion is not supported through a single benchmark.

> Sadly, Lisp code that was posted to USENET by Pascal
> Bourguignon for the Coyote Gulch test did not measure up
> even to these low expectations and was 31.6 times slower
> than C++, using CMUCL 18d as a Lisp compiler and Intel C++
> 7.1 (with -O3 -xW optimization switches) as a C++ compiler
> on Pentium IV.

This assertion is outdated.  The initial minimal translation was in
fact slow.  A trivial change brought it to within a factor of 2, and
one can hardly expect top performance to be achieved in less than 48
hours. 

> FACT 2: No one but a small clique of fanatics likes it
>
> No matter how odd or perverted the cause, there will be
> followers. In fact, the odder the cause, the fewer, but
> more fervent its followers are. Look at any religious cult,
> like Scientology, or take a peek in comp.lang.lisp and
> listen to Lisp zealots talk about 'making sacrifices for
> the cause' (in all seriousness!).

It is true that the Lisp community is smaller than, say, the Visual
Basic community.  And I'm sure no one would want to be associated with
people such as

  Alan Perlis               Gerald Sussman       
  Marvin Minsky             Henry Baker          
  John McCarthy             Daniel Bobrow        
  Edsger Dijkstra           Robert Boyer         
  Dana Scott                Joel Moses           
  L. Peter Deutsch          Ed Fredkin           
  Richard Greenblatt        Daniel Hillis        
  Guy Steele                Carl Hewitt          
  Henry Lieberman           Douglas Hofstadter   

just to name a few.

> ZEALOTS STOP AT NOTHING TO ADVANCE THEIR CAUSE, AND
> PERSONALLY ATTACKING ANYONE WITH A DISSENTING OPTINION IS
> THE FIRST THING IN THEIR ARSENAL.

Exacly.  Why are you shouting?

> FACT 3: The vast majority of people who study Lisp in
> school, never want to use it again.

References?

> FACT 4: Lisp is the most complicated language in the world

Simply false by any reasonable measure of complexity.

> It has the biggest standard specification document, 

For instance, size of specification.  SQL is much larger.

> which is also the most obfuscated one - something a lawyer
> pretending to be a programmer could have written.  C, C++
> and Fortran 95 specs are much better written, by people who
> can communicate directly and eloquently.

Guy Steele is well known as one of the best technical writers around.

> FACT 5: Despite its size, Lisp does not define threads or
> GUI.

Guilty as charged.  Of course neither do many popular programming
languages. 

> FACT 6: There is no open-source cross-platform native-code
> compiler
>
> It was suggested that GCL (GNU Common Lisp) is the only
> exception. 

This contradicts `fact' 6.

> However, it needs to be noted, that despite its
> name, GCL is a dialect of its own, is quite slow even by
> Lisp standards, and most alarmingly, unlike with other
> compilers, its license requires your, programmer, code to
> be GPL if you distribute it with GCL. (Because you will
> need to use GCL both as a compiler and a run time library)

The license for GCL is irrelevant.

> FACT 7: There is no standard C interface.
>
> C has become a lingua franca for interlanguage APIs.  

Not true.  C is clearly inadequate for interlanguage APIs, which is
why we have a plethora of things like IDL, CORBA, SOAP, etc.

> I do not hate Lisp, and I think it was a fine tool decades
> ago, and I am not going to say "Lisp sucks". 

It seems to me that you *have* said so, in about as many words.

> However, now that we have superior languages for coding close to the
> iron, high-performance computing, number crunching, algorithms,
> scripting and gluing components together, Lisp should be finally
> retired.

No one is making you use it.... or perhaps someone is?  Is this your
problem?
From: Jesper Harder
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <m3ishlkfju.fsf@defun.localdomain>
Joe Marshall <···@ccs.neu.edu> writes:

> It is true that the Lisp community is smaller than, say, the Visual
> Basic community.  And I'm sure no one would want to be associated
> with people such as
>
>   Alan Perlis               Gerald Sussman       
>   Marvin Minsky             Henry Baker          
>   John McCarthy             Daniel Bobrow        
>   Edsger Dijkstra           Robert Boyer         

My impression was that Dijkstra wasn't particularly enamoured or
involved with Lisp, e.g.

  LISP's syntax is so atrocious that I never understood its
  popularity. LISP's possibility to introduce higher-order functions
  was mentioned several times in its defence, but now I come to think
  of it, that could be done in ALGOL60 as well. My current guess is
  that LISP's popularity in the USA is related to FORTRAN's
  shortcomings. [1]

Though I seem to recall that he revised his opinion some years later.

[1] http://www.cs.utexas.edu/users/EWD/transcriptions/EWD07xx/EWD798.html
From: Joe Marshall
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <oerdn3kv.fsf@ccs.neu.edu>
Jesper Harder <······@myrealbox.com> writes:

> Joe Marshall <···@ccs.neu.edu> writes:
>
>> It is true that the Lisp community is smaller than, say, the Visual
>> Basic community.  And I'm sure no one would want to be associated
>> with people such as
>>
>>   Alan Perlis               Gerald Sussman       
>>   Marvin Minsky             Henry Baker          
>>   John McCarthy             Daniel Bobrow        
>>   Edsger Dijkstra           Robert Boyer         
>
> My impression was that Dijkstra wasn't particularly enamoured or
> involved with Lisp, e.g.
>
>   LISP's syntax is so atrocious that I never understood its
>   popularity. LISP's possibility to introduce higher-order functions
>   was mentioned several times in its defence, but now I come to think
>   of it, that could be done in ALGOL60 as well. My current guess is
>   that LISP's popularity in the USA is related to FORTRAN's
>   shortcomings. [1]
>
> Though I seem to recall that he revised his opinion some years later.
>
> [1] http://www.cs.utexas.edu/users/EWD/transcriptions/EWD07xx/EWD798.html

He definitely respected it:

http://www.cs.utexas.edu/users/EWD/transcriptions/EWD12xx/EWD1284.html

FORTRAN and LISP were the two great achievements of the 50s.  Compared
with FORTRAN, LISP embodied a much greater leap of
imagination.  Conceptually FORTRAN remained on familiar grounds in the
sense that its purpose was to aid the mechanization of computational
processes we used to do with pen and paper (and mechanical desk
calculators if you could afford them).  This was in strong contrast to
LISP whose purpose was to enable the execution of processes that no
one would dream of performing with pen and paper.

At the time LISP's radical novelties were for instance recognized by
its characterization as "the most intelligent way of misusing a
computer", in retrospect we see its radical novelty because it was
what is now known as a language for "functional programming", while
now, 40 years later, functional programming is still considered in
many CS departments as something much too fancy, too sophisticated to
be taught to undergraduates. 

------
From: Jens Axel Søgaard
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <40461a09$0$179$edfadb0f@dread12.news.tele.dk>
Jesper Harder wrote:
> Joe Marshall <···@ccs.neu.edu> writes:
> 
> 
>>It is true that the Lisp community is smaller than, say, the Visual
>>Basic community.  And I'm sure no one would want to be associated
>>with people such as
>>
>>  Alan Perlis               Gerald Sussman       
>>  Marvin Minsky             Henry Baker          
>>  John McCarthy             Daniel Bobrow        
>>  Edsger Dijkstra           Robert Boyer         
> 
> 
> My impression was that Dijkstra wasn't particularly enamoured or
> involved with Lisp, e.g.
> 
>   LISP's syntax is so atrocious that I never understood its
>   popularity. LISP's possibility to introduce higher-order functions
>   was mentioned several times in its defence, but now I come to think
>   of it, that could be done in ALGOL60 as well. My current guess is
>   that LISP's popularity in the USA is related to FORTRAN's
>   shortcomings. [1]
> 
> Though I seem to recall that he revised his opinion some years later.
> 
> [1] http://www.cs.utexas.edu/users/EWD/transcriptions/EWD07xx/EWD798.html

In 1999 he gave a talk in which he look back upon CS in the twentieth century.
The talk is found here:

<http://www.cs.utexas.edu/users/EWD/transcriptions/EWD12xx/EWD1284.html>

A small excerpt:


At the time LISP's radical novelties were for instance recognized by its
characterization as "the most intelligent way of misusing a computer", in
retrospect we see its radical novelty because it was what is now known as a
language for "functional programming", while now, 40 years later, functional
programming is still considered in many CS departments as something much too
fancy, too sophisticated to be taught to undergraduates. LISP had its serious
shortcomings: what became known as "shallow binding" (and created a hacker's
paradise) was an ordinary design mistake; also its promotion of the idea that
a programming language should be able to formulate its own interpreter (which
then could be used as the language's definition) has caused a lot of confusion
because the incestuous idea of self-definition was fundamentally flawed. But
in spite of these shortcomings, LISP was a fantastic and in the long run highly
influential achievement that has enabled some of the most sophisticated
computer applications.

I must confess that I was very slow on appreciating LISP's merits. My first
introduction was via a paper that defined the semantics of LISP in terms of
LISP, I did not see how that could make sense, I rejected the paper and LISP
with it. My second effort was a study of the LISP 1.5 Manual from MIT which
I could not read because it was an incomplete language definition supplemented
by equally incomplete description of a possible implementation; that manual was
so poorly written that I could not take the authors seriously, and rejected the
manual and LISP with it. (I am afraid that tolerance of inadequate texts was
not my leading characteristic).

-- 
Jens Axel S�gaard
From: Mario S. Mommer
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <fzad2xdi45.fsf@germany.igpm.rwth-aachen.de>
Joe Marshall <···@ccs.neu.edu> writes:
> The following was posted to 
> 
>   comp.lang.c++
>   comp.lang.java.programmer
>   comp.lang.scheme
>   comp.lang.c
>   comp.lang.python
> 
> I thought I'd repost it here because it would be more relevant.
> I'll rebut it in my next post.
[snip]

Have you considered leaving it alone? Most people in those newsgroups
hardly care one way or another.
From: Duane Rettig
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <4eks93n7u.fsf@franz.com>
Mario S. Mommer <········@yahoo.com> writes:

> Joe Marshall <···@ccs.neu.edu> writes:
> > The following was posted to 
> > 
> >   comp.lang.c++
> >   comp.lang.java.programmer
> >   comp.lang.scheme
> >   comp.lang.c
> >   comp.lang.python
> > 
> > I thought I'd repost it here because it would be more relevant.
> > I'll rebut it in my next post.
> [snip]
> 
> Have you considered leaving it alone? Most people in those newsgroups
> hardly care one way or another.

I tend to agree.  Rebutting only attributes stature to nobody
that isn't deserved.

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Cor Gest
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <87r7w9izib.fsf@cleopatra.clsnet.nl>
Some hopefully ableminded and witty human entity
disguising itself as: Duane Rettig <·····@franz.com> wrote :

> I tend to agree.  Rebutting only attributes stature to nobody
> that isn't deserved.

Well, doesn't the Subject allready clear all doubt ... ;-)

cor

-- 
          Artificial intelligence has no cure for human stupidity
(setq reply-to (concatenate 'string "Cor Gest " "<cor" '(··@)  "clsnet.nl>"))
(defvar wannabe "s0 u w4Nn4b3 4 h4x0r")  http://www.clsnet.nl/tuxoharata.html
No, I will NOT fix your Computer                      http://www.geekgrrrl.nl
From: Duane Rettig
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <4ad2x3hia.fsf@franz.com>
Cor Gest <···@clsnet.nl> writes:

> > I tend to agree.  Rebutting only attributes stature to nobody
> > that isn't deserved.
> 
> Well, doesn't the Subject allready clear all doubt ... ;-)

Nah; it just brings back to memory a jingle from some old
advertisements (Sarah Lee: a line of pastries and desserts):

"Everybody doesn't like something, but nobody doesn't like Sarah Lee".

-- 
Duane Rettig    ·····@franz.com    Franz Inc.  http://www.franz.com/
555 12th St., Suite 1450               http://www.555citycenter.com/
Oakland, Ca. 94607        Phone: (510) 452-2000; Fax: (510) 452-0182   
From: Christopher C. Stacy
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <u8yihpwxb.fsf@news.dtpq.com>
>>>>> On 03 Mar 2004 10:36:13 -0800, Duane Rettig ("Duane") writes:

 Duane> Cor Gest <···@clsnet.nl> writes:
 >> > I tend to agree.  Rebutting only attributes stature to nobody
 >> > that isn't deserved.
 >> 
 >> Well, doesn't the Subject allready clear all doubt ... ;-)

 Duane> Nah; it just brings back to memory a jingle from some old
 Duane> advertisements (Sarah Lee: a line of pastries and desserts):

 Duane> "Everybody doesn't like something, but nobody doesn't like Sarah Lee".

I was humming the same song!

Maybe we should rename Lisp and call it "SARA", so that it can
be a "new" language and get more popular.

If anybody asks: Symbolic and Refactorable Algorithms.
From: Joe Marshall
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <wu61na1q.fsf@ccs.neu.edu>
Mario S. Mommer <········@yahoo.com> writes:

> Joe Marshall <···@ccs.neu.edu> writes:
>> The following was posted to 
>> 
>>   comp.lang.c++
>>   comp.lang.java.programmer
>>   comp.lang.scheme
>>   comp.lang.c
>>   comp.lang.python
>> 
>> I thought I'd repost it here because it would be more relevant.
>> I'll rebut it in my next post.
> [snip]
>
> Have you considered leaving it alone? Most people in those newsgroups
> hardly care one way or another.

I'm certainly not going to rebut it there!  I suggested that those in
the other groups that want to see a rebuttal should look here.

Yes, I considered leaving it alone, but I'd hate for newbies to think
this crap is true.
From: Matthias
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <36wad2xq1js.fsf@hundertwasser.ti.uni-mannheim.de>
Joe Marshall <···@ccs.neu.edu> writes:

> Yes, I considered leaving it alone, but I'd hate for newbies to think
> this crap is true.

If you take the effort to rebut the Lisp-bashing, please consider
wikifying it to save it for future reference.  Many future trolls as
well as sincere newbies could then be pointed to such a wikified
Lisp-FAQ (see [1,2] for potential locations).

[1] http://alu.cliki.net/Frequently%20Asked%20Questions
[2] http://www.cliki.net/index
From: Stefan Scholl
Subject: Re: Nobody doesn't like Lisp
Date: 
Message-ID: <qpb4mtte2vna.dlg@parsec.no-spoon.de>
On 2004-03-03 16:05:56, Joe Marshall wrote:

> Participants of other newsgroups are well
> aware of comp.lang.lispers' tendency to engage in personal
> attacks, so a productive discussion with them is unlikely
> anyway.

Go away!




:-)