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

Christopher Benson-Manica ataru at nospam.cyberspace.org
Wed Mar 3 15:30:21 CET 2004


In comp.lang.c nobody <nobody_u_should_no at yahoo.com> 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)

































































































More information about the Python-list mailing list