OFF-TOPIC ::为什么Lisp不是我最喜欢的编程语言

OFF-TOPIC ::为什么Lisp不是我最喜欢的编程语言

问题描述:

这篇文章是应CW杨的要求发布的,

让我详细说明我对Lisp的看法,并为了这个好处

喜欢他的人,可能是谁发现自己很感兴趣

这种语言。


这里表达的观点是我个人的观点,来自几年的经验来自
与Lisp。我在当天做了很多

人工智能编程,这就是现在将被称为搜索的美元。相反。


由于时间限制,我不会在这里发布任何

的后续行动。其他新闻组的参与者都非常了解comp.lang.lispers倾向于进行个人攻击,因此不太可能与他们进行富有成效的讨论

无论如何。


允许复制和分发此文件

无限制。

==== ============================================== ==== ===

为什么Lisp不是我最喜欢的编程语言。

====================== ============================ =======

(在下面, Lisp指的是ANSI Common Lisp)


这篇文章是任何有兴趣的事实的集合

Lisp应该知道的。
>
--------------------------------------------- ------------


事实1:最快的Lisp实现很慢


(参见任何第三个 - 派对基准:伟大的计算机语言

枪战浮现在脑海中,但Coyote Culch测试在我的脑海中/>
optinion甚至更好:它是专业品质的

中介语基准)


根据经验,最优化手工优化Lisp程序

将比它们的C / C ++等价物更长,并且使用最好的编译器将运行
2-20倍。


仅此一半就是事实。为了获得这样的性能,需要添加类型声明并删除所有

安全检查,这类似于cast / everything /
$ b C中的$ b到(void *)。这需要在运行时关闭类型标签检查




可悲的是,发布的Lisp代码Pascal的USENET

Bourguignon对于Coyote Gulch测试没有达到这个低预期的b $ b,比C ++慢了31.6倍b / b
,使用CMUCL 18d作为Lisp编译器和英特尔C ++

7.1(带-O3 -xW优化开关)作为C ++编译器
Pentium IV上的



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


事实2:除了一小群*分子之外,没有人喜欢它


无论事情多么奇怪或变态,都会有

粉丝。事实上,原因越多,其追随者就越少,但是更加热烈。看看任何一个宗教*分子,比如科学教派,或者看看comp.lang.lisp和

听Lisp*者谈论'为

原因''(严肃地说!)。查找公开的

道歉由Pascal Costanza创建的线程作为一个优秀的

示例。


ZEALOTS停止无法提前解决他们的原因,并且

个人攻击任何有偏见的人都是

他们在阿森纳的第一件事。


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


事实3:绝大多数在学校学习Lisp的人,再也不想再使用它了。


如果你已经知道这个学习或教授CS

,提供Lisp课程。即使那些喜欢
喜欢Scheme的学生也常常对Lisp感到厌恶。


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


事实4:Lisp是世界上最复杂的语言


它有最大的标准规范文档,其中
也是最混淆的语言 - 一个律师的事情

假装是程序员可以写的。 C,C ++

和Fortran 95规格写得好得多,这些人可以直接和雄辩地沟通。


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


事实5:尽管它的大小,Lisp没有定义线程或

GUI。


大型库在编程时非常有用,但是

Lisp的许多函数和宏几乎没有资格。


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


事实6:没有开源的跨平台原生代码

编译器


它是建议GCL(GNU Common Lisp)是唯一的

例外。但是,需要注意的是,尽管它的名字是
,但是GCL是一种自己的方言,即使是通过

Lisp标准也很慢,而且最令人担忧的是,不像与其他

编译器一样,如果您使用GCL分发,其许可证要求您的程序员代码为GPL。 (因为你将

需要使用GCL作为编译器和运行时库)


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


事实7:没有标准的C接口。


C已成为中介语API的通用语言。它可能不公平,但没有标准的C接口是任何语言的严重问题。

EPILOGUE:


我不讨厌Lisp,我认为这是一个很好的工具几十年前,我不会说Lisp糟透了。但是,现在

,我们拥有优越的语言编码接近

铁,高性能计算,数字运算,

算法,脚本编写并且将组件粘合在一起,Lisp

应该最终退役。

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写道:
nobody wrote:

我不讨厌Lisp,我认为这是几十年前的好工具,我不会说Lisp糟透了。但是,现在我们拥有优越的语言编码接近于铁,高性能计算,数字运算,算法,脚本和粘合组件,Lisp
应该是终于退休了。
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.




有人回答:


Lisp在过去的N年里被宣布死亡。不像Algol,Simula 67,PL / I,

Pascal,......还有更多的语言来来往往,它仍然是生气,而且b / b
踢。在未来的许多年里编程将会充满活力和乐趣,因为它还有许多优于C#,Java,Perl,Python,Ruby和许多其他的优势
$ b $在Lisp真正退休之前,*将*来来去去的语言。


万岁计划


现在是时候了返回并加强计划。


- Matthias Felleisen,PLT



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


在comp.lang中。 c nobody< no **************** @ yahoo.com>写道:

^^^^^^^^^^^
In comp.lang.c nobody <no****************@yahoo.com> wrote:
^^^^^^^^^^^
本文是应CW杨的要求发布的,
问我详细说明我对Lisp的看法,以及像他这样的人的利益,他们可能会发现自己被这种语言所吸引。


哇,你和杨先生一起发帖并不是很好。我敢肯定,就像

comp.lang.c上的每个人一样,对Lisp和杨先生的'

批评它完全着迷。同样,我很有信心,对于

comp.lang.c ++,comp.lang.java.programmer和comp.lang.python的幸福居民。


后续设置,匿名交叉转发巨魔。

这里表达的观点是我个人的观点,来自Lisp多年的经验。我在当天做了大量的人工智能编程,这就是现在被称为搜索的东西。代替。
由于时间限制,我不会在此发布任何
后续行动。其他新闻组的参与者都很清楚comp.lang.lispers倾向于进行个人攻击,因此无论如何都不可能与他们进行富有成效的讨论。
允许复制和分发本文档
,不受任何限制。


====================================== ============ =======
为什么Lisp不是我最喜欢的编程语言。
============== ==================================== =======
(在下面,Lisp指的是ANSI Common Lisp)
本文是任何对Lisp应该了解的任何感兴趣的事实的集合。
---------------------------------------------- -----------
事实1:最快的Lisp实现很慢
(参见任何第三方基准测试:伟大的计算机语言
Shootout浮现在脑海中,但是Coyote Culch测试在我的
optinion中更好:它是一个专业品质的中间语言基准测试)
根据经验,最手动优化的Lisp程序
将比他们的C / C ++等价物更长,使用最好的编译器运行速度要慢2到20倍。
仅这一点就是事实的一半。要获得Lisp的这种性能,必须添加类型声明并删除所有
安全检查,这类似于在C中将/ / / / / / *设置为(void *)。这是需要在运行时关闭类型标签检查。
可悲的是,Pascal
Bourguignon为Coyote Gulch测试发布到USENET的Lisp代码没有达到这些低预期,并且比C ++慢31.6倍,在Pentium IV上使用CMUCL 18d作为Lisp编译器和Intel C ++
7.1(带-O3 -xW优化开关)作为C ++编译器。
---------------------------------------------- -----------
事实2:除了一小群*分子之外,没有人喜欢它。
无论多么奇怪或变态的原因,都会有追随者。事实上,原因越多,其追随者就越少,但更热烈。看看任何宗教*,像科学教,或者看看comp.lang.lisp和
听Lisp*者谈论'为事业做出牺牲'(在所有严肃!)。查找公开道歉线程由Pascal Costanza开始作为一个优秀的例子。
ZEALOTS停止没有提出他们的原因,并且
个人以一种消极的方式攻击任何人是他们的第一件事。
---------------------------------------------- -----------
事实3:绝大多数在学校学习Lisp的人,从不想再使用它。
你应该已经知道这个,如果你学习或教授CS
提供Lisp课程。即使那些喜欢Scheme的学生也常常被Lisp反感。
---------------------------------------------- -----------
事实4:Lisp是世界上最复杂的语言
它有最大的标准规范文档,
也是最混淆的语言 - 假装成程序员的律师本来可以写的。 C,C ++
和Fortran 95规范可以更好地编写,可以直接和雄辩地进行通信。
---------------------------------------------- -----------
事实5:尽管它的大小,Lisp没有定义线程或
GUI。
大型库在编程时非常有用,但是Lisp'的许多函数和宏几乎都不合格。
---------------------------------------------- -----------
事实6:没有开源的跨平台本机代码
编译器
有人建议GCL(GNU Common Lisp)是唯一的
例外。然而,需要注意的是,尽管它的名称,GCL本身就是一种方言,即使用Lisp标准也很慢,最令人担忧的是,与其他
编译器不同,如果您使用GCL分发许可证,则其许可证要求您的程序员代码为GPL。 (因为你需要使用GCL作为编译器和运行时库)
------------------------ ---------------------------------
事实7:没有标准的C接口。
C已成为中介语API的通用语言。它可能是不公平的,但没有标准的C接口是任何语言的严重问题。


EPILOGUE:
我不讨厌Lisp,我认为这是一个很好的工具几十年前,我不会说Lisp糟透了 ;。但是,现在我们拥有优越的语言编码接近于铁,高性能计算,数字运算,算法,脚本和粘合组件,Lisp
应该是终于退休了。
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 |我*应该*知道我在说什么 - 如果我

ataru(at)cyberspace.org |不,我需要知道。火焰欢迎。


(下面添加空行以保持我的新闻阅读器的快乐)













/>













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

































nobody写道:
本文是应CW杨的要求发布的,
让我详细说明Lisp的观点,以及像他这样的人的利益,他们可能会发现自己被这种语言所吸引。
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.




你应该被枪杀看到向一群

非倡导团体发布倡导。 &QUOT;感谢和QUOT;用另一个

编程语言战来污染这些团体。


F''up set。


/托马斯



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