LISP社区和Web框架

时间:2010-03-04 12:12:55

标签: lisp

reddit interview with Peter Norvig,他说

  

“出于各种原因,这套网络   库和协议较慢   在LISP中发展比在其他方面发展   语言”

因此,网络社区中的lisp采用率下降,人们追求更丰富的图书馆集。

LISP社区在构建Web框架时是否存在这种缓慢的原因?

4 个答案:

答案 0 :(得分:11)

先生。在我看来,Norvig的评论比对当前形势的评估更具历史意义。也许在90年代中后期,网络相关的库在Common Lisp中的表现并不像在Java等其他语言中那样快。

但今天肯定不是这样。我可以命名不下五个Common Lisp Web服务器(CL-HTTP,Hunchentoot,S-HTTP-Server,Araneida,AllegroServe),更不用说Apache的mod-lisp了。必须有近十几种不同的Web框架(KPAX,Weblocks,UncommonWeb等)。每个网页首字母缩略词都有常见的lisp库,可以命名为:SOAP,XML,XLST,FTP,XML-RPC,S3,AJAX .... ad infinitum。还有一些工具在其他语言中没有模拟,比如ParenScript奇迹。

请参阅Common Lisp目录,查看网页库的大量列表:http://www.cl-user.net,其中许多都维护在http://www.common-lisp.net

答案 1 :(得分:8)

我认为在Lisp中开发库比使用其他语言慢一点的主要原因是它太简单了。用Lisp编写的库通常不值得这个名字。它们只是几行代码,特定于手头的任务。一些额外的分钟会产生一个通用的库,但是当它只是一些简单的代码行时似乎没有人会想要它。

大约一年前,我不得不在Clojure中读写CSV。标准建议是使用几个着名的,经过良好测试的Java库中的任何一个。我发现识别哪个库最合适并且学习它的API比在Clojure中简单地write my own更难。这是50行,它可以很好地处理我的用例。但它并不是一个好的CSV库;有很多案例它不支持,所以我没有把它打包成一个库,把它放在Clojars之类的。我想我是问题的一部分。

今天网上最近的一半实用Lisp教程包括一个HTML生成宏的例子。其中大部分都是生产质量的,而不仅仅是一大堆代码。这似乎不值得打包并打电话给图书馆;这是一个琐碎的代码,任何体面的Lisp程序员都可以在几分钟内编写。 当然值得打包成一个库,Edi Weitz已经发布了一堆代码。

答案 2 :(得分:5)

我不知道他的意思。我的猜测是,它可能主要只是一个更普遍的“缺乏Common Lisp库”投诉的实例(我发现它主要是无聊的,但无论如何)。

note that感兴趣:

第一个符合HTTP 1.1的服务器和W3C使用的[one] 调试HTTP 1.1参考实现

是用Lisp编写的。

答案 3 :(得分:2)

“Lisp社区”似乎是一个广义的术语。但是对于Common Lisp,你有很多人使用的Hunchentoot。 Scheme博士附带内置的网络设施。

我最喜欢的,Clojure有许多很酷的积极开发的用于构建Web应用程序的库,RingCompojureEnliveClutch,仅举几个有趣的内容

相关问题