OFF-TOPIC:: Why Lisp is not my favorite programming language

Discussion in 'Python' started by nobody, Mar 3, 2004.

  1. nobody

    nobody Guest

    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.
     
    nobody, Mar 3, 2004
    #1
    1. Advertising

  2. nobody wrote:

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


    somebody answers:

    Lisp has been declared dead for the past N years. Unlike Algol, Simula 67, PL/I,
    Pascal, ... and many more languages that came and went, it is still alife and
    kicking. It will be alive and fun to program in for many years to come, because
    it still has many advantages over C#, Java, Perl, Python, Ruby, and many other
    languages that *will* come and go before Lisp is truly retired.

    Long live Scheme

    And now it's time to go back and strengthen Scheme even more.

    -- Matthias Felleisen, PLT
     
    Matthias Felleisen, Mar 3, 2004
    #2
    1. Advertising

  3. In comp.lang.c nobody <> wrote:
    ^^^^^^^^^^^

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


    Wow, isn't that nice of you to post for Mr. Yang. I'm sure I, like
    everyone on comp.lang.c, is utterly fascinated by Lisp and Mr. Yang's
    critique of it. Likewise, I'm sure, for the happy inhabitants of
    comp.lang.c++, comp.lang.java.programmer, and comp.lang.python.

    Followups set, anonymous crossposting troll.

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


    --
    Christopher Benson-Manica | I *should* know what I'm talking about - if I
    ataru(at)cyberspace.org | don't, I need to know. Flames welcome.

    (blank lines added below to keep my newsreader happy)
     
    Christopher Benson-Manica, Mar 3, 2004
    #3
  4. nobody wrote:
    > 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.


    You should be shot on sight for posting advocacy to a bunch of
    non-advocacy groups. "Thanks" for polluting the groups with yet another
    programming language war.

    F'up set.

    /Thomas
     
    Thomas Weidenfeller, Mar 3, 2004
    #4
  5. nobody

    Joe Marshall Guest

    (nobody) writes:

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


    Did he ask you to post this article in these newsgroups?

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

    Why did you not post it comp.lang.lisp where it would be at least
    relevant?

    > Due to time constraints, I will refrain from posting any
    > follow-ups here.


    If you do not intend to engage in convesation, why are you posting it?

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


    Is there some reason anyone should take `nobody' at yahoo seriously?

    > Look up "a public apology" thread started by Pascal Costanza as an
    > excellent example.


    What does such a personal matter have to do with the language?

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


    You clearly have some sort of axe to grind. If you don't like Lisp,
    don't use it.

    To others, if you are unfamiliar with Lisp you are welcome to read a
    rebuttal in comp.lang.lisp

    Please direct all followups to comp.lang.lisp
     
    Joe Marshall, Mar 3, 2004
    #5
  6. nobody wrote:
    >
    > 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 solution to your problem is obvious. Just treat Lisp like
    Chocolate; if you don't like it, you can't have any.

    Followups set.

    Bear
     
    Ray Dillinger, Mar 3, 2004
    #6
  7. nobody

    Guillaume Guest

    I don't know what this post has to do with comp.lang.c, but whatever.

    This was pretty funny nonetheless.

    As for me, I would say practically the same things about Java. :p
     
    Guillaume, Mar 3, 2004
    #7
  8. nobody

    Kaz Kylheku Guest

    (nobody) wrote in message news:<>...
    > 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.


    But nobody is more fervent than lunatics whose membership applications
    were *rejected* by imaginary little fanatic cliques. Their cause, in
    fact, usually has just one follower.
     
    Kaz Kylheku, Mar 3, 2004
    #8
  9. nobody wrote:

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


    I fail to see why anyone should give a rat's ass about what someone
    hiding behind " (nobody)" has to say about
    anything. "Nobody"'s opinions about LISP, C, or the color of bananas is
    completely worthless. When you have the cajones to stand behind your
    opinions, you might be paid attention to.
     
    Martin Ambuhl, Mar 3, 2004
    #9
  10. Troll Alert: OFF-TOPIC:: Why Lisp is not my favorite programminglanguage

    Something that calls itself nobody wrote:

    [snip]

    This is an obvious troll. Please ignore it.
     
    E. Robert Tisdale, Mar 3, 2004
    #10
  11. nobody

    Dale King Guest

    "Matthias Felleisen" <> wrote in message
    news:c24nh3$9it$...
    > nobody wrote:
    >
    > Lisp has been declared dead for the past N years. Unlike Algol, Simula 67,

    PL/I,
    > Pascal, ... and many more languages that came and went, it is still alife

    and
    > kicking.


    I really am not getting into the debate over lisp, but the notion that those
    other languages are dead is not correct. I'm not sure there is a successful
    language invented that has ever truly died. Interest in Simula for example
    keeps growing. There is an annual conference for Simula and the attendance
    grows every year.

    I would bet that there is somebody somewhere still programming in ENIAC
    assembly language.

    Feel free to name a language that you think is dead and someone will tell
    you someplace that it is still in active use.

    --
    Dale King
     
    Dale King, Mar 3, 2004
    #11
  12. nobody

    Jorge Rivera Guest

    >
    > As for me, I would say practically the same things about Java. :p
    >


    Wow, you are comparing a fairly useless language (Lisp) with a powerful
    and flexible languange (Java), and would come up with the same arguments
    as to why it sucks?

    Not that I really care, it is just interesting how your preconceived
    notions of Java blind you...
     
    Jorge Rivera, Mar 4, 2004
    #12
  13. Dale King wrote:
    > I would bet that there is somebody somewhere still programming in ENIAC
    > assembly language.


    Did ENIAC *have* an assembler? I thought it was programmed
    with a patch panel.

    (The word "patch" meant something quite different in those
    days...)

    --
    Greg Ewing, Computer Science Dept,
    University of Canterbury,
    Christchurch, New Zealand
    http://www.cosc.canterbury.ac.nz/~greg
     
    Greg Ewing (using news.cis.dfn.de), Mar 4, 2004
    #13
  14. nobody

    Jon A. Cruz Guest

    Jorge Rivera wrote:
    >>
    >> As for me, I would say practically the same things about Java. :p
    >>

    >
    > Wow, you are comparing a fairly useless language (Lisp) with a powerful
    > and flexible languange (Java), and would come up with the same arguments
    > as to why it sucks?


    Well, I happen to use that "fairly useless" language daily in working
    with Java.

    :)

    http://jdee.sunsite.dk/



    (Sorry, guys. Couldn't resist)
     
    Jon A. Cruz, Mar 4, 2004
    #14
  15. nobody

    David Shaw Guest

    The real question is as to why *Python* isn't your favorite programming language!


    - David
    // http://david.artoo.net/
     
    David Shaw, Mar 4, 2004
    #15
  16. nobody

    Joe Marshall Guest

    "Dale King" <kingd[at]tmicha[dot]net> writes:

    > Feel free to name a language that you think is dead and someone will tell
    > you someplace that it is still in active use.


    Focal
    FX
    Lakota
    REBOL 1.x
     
    Joe Marshall, Mar 4, 2004
    #16
  17. These posts are like big huge neon signs that say, "I'm IGNORANT." If
    you hold that 1 language is better than all other languages, then you
    ARE ignorant. LISP is a parsing language. It's obviously not made to
    do the same things that C is. LISP is extremely fast for processing
    data files.

    C in not an end-all be-all of programming languages, even though it is
    quite robust. For instance, C is great if you are going to develop
    software for 1 platform. However, if you are developing software for
    multiple platforms, Java is a better choice.

    Really these discussions boil down to the programmer him/herself, who
    is usually the one at fault for poor performance. I'm not quite sure
    when this happened, but at some point programmers started relying on
    hardware for fast, efficient software and from that point on, the
    quality and emphasis placed on writing efficient programs has
    diminished. If you want your code to run faster, make it more
    efficient... make it use less resources... and use the right language
    for the job. Don't try to fit all things under one umbrella because
    that language has not been developed yet.




    Guillaume <> wrote in message news:<40460dd5$0$5916$-internet.fr>...
    > I don't know what this post has to do with comp.lang.c, but whatever.
    >
    > This was pretty funny nonetheless.
    >
    > As for me, I would say practically the same things about Java. :p
     
    Mike Nishizawa, Mar 4, 2004
    #17
  18. nobody

    Guillaume Guest

    > Well, I happen to use that "fairly useless" language daily in working
    > with Java.


    Hehe, nice. ;-)
     
    Guillaume, Mar 4, 2004
    #18
  19. (Mike Nishizawa) writes:

    > These posts are like big huge neon signs that say, "I'm IGNORANT."


    He then goes on to say.

    > LISP is a parsing language.


    Thereby creating a self referential articrle.
     
    Jacek Generowicz, Mar 5, 2004
    #19
  20. nobody

    Tim Daneliuk Guest

    Mike Nishizawa wrote:

    > These posts are like big huge neon signs that say, "I'm IGNORANT." If
    > you hold that 1 language is better than all other languages, then you
    > ARE ignorant. LISP is a parsing language. It's obviously not made to
    > do the same things that C is. LISP is extremely fast for processing
    > data files.
    >
    > C in not an end-all be-all of programming languages, even though it is
    > quite robust. For instance, C is great if you are going to develop
    > software for 1 platform. However, if you are developing software for
    > multiple platforms, Java is a better choice.
    >
    > Really these discussions boil down to the programmer him/herself, who
    > is usually the one at fault for poor performance. I'm not quite sure
    > when this happened, but at some point programmers started relying on
    > hardware for fast, efficient software and from that point on, the
    > quality and emphasis placed on writing efficient programs has
    > diminished. If you want your code to run faster, make it more
    > efficient... make it use less resources... and use the right language
    > for the job. Don't try to fit all things under one umbrella because
    > that language has not been developed yet.
    >


    http://www.tundraware.com/Technology/How-To-Pick-A-Programming-Language/

    ----------------------------------------------------------------------------
    Tim Daneliuk
    PGP Key: http://www.tundraware.com/PGP/
     
    Tim Daneliuk, Mar 5, 2004
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. nobody
    Replies:
    28
    Views:
    798
    Mike Nishizawa
    Apr 15, 2004
  2. nobody
    Replies:
    82
    Views:
    1,735
    Matthias Buelow
    May 17, 2004
  3. nobody
    Replies:
    26
    Views:
    2,239
    Mike Nishizawa
    Apr 15, 2004
  4. nobody
    Replies:
    26
    Views:
    730
    Mike Nishizawa
    Apr 15, 2004
  5. Mr. SweatyFinger
    Replies:
    2
    Views:
    1,966
    Smokey Grindel
    Dec 2, 2006
Loading...

Share This Page