Lisp有什么好看的?

时间:2010-01-10 05:43:15

标签: lisp

我不知道Lisp是否好坏。似乎每个使用过Lisp的人都喜欢它,但是现在最流行的语言都来自C语言。

那么Lisp的内容是如此之大,为什么不使用它呢?有没有什么关于Lisp的坏事(除了不断数量的括号)?

7 个答案:

答案 0 :(得分:69)

  

“Lisp是一种可编程编程语言。”    - John Foderaro,CACM,1991年9月

以下是我的观点:

从表面上看,Lisp是一种很好的,简单的函数式编程语言。几乎没有语法,所有部分都以逻辑方式组合在一起。

如果你深入挖掘一下,阅读SICP,并编写一个元叶评估器,你会发现两件事:一,整个解释器(只给出一些原语)只是一页代码,两个,代码和数据之间的关系允许优雅的编程技术。

一旦你完全沉浸其中,当他们只允许你说几件事时,感觉就像其他语言一样。如果你能为它定义语法和语义,那么Lisp可以构建任何抽象。

答案 1 :(得分:59)

Lisp很好,因为它有一个非常简单,规则的语法。

Lisp很糟糕,因为它有一个非常简单,规则的语法。

答案 2 :(得分:53)

Lisp是编程语言的Chuck Norris。

Lisp是其他语言的衡量标准。

了解Lisp展示了开发人员的启示。

我听说过3个弱点(及其反驳论点):

  1. 动态输入。

    静态类型语言存在一个争论,即为编译器提供足够的信息来捕获某类错误,因此它们不会在运行时发生。但你仍然需要测试。

    本文主张动态类型以及更多测试:Strong Typing vs. Strong Testing

  2. 难以接受。

    实际上有两个部分:学习和工具。

    Lisp需要一些努力才能真正“获得”,但这是值得的,因为学习Lisp真的会让你成为其他语言的更好的程序员。例如,一旦你真正“获得”闭包,你就会理解Java的内部类。一旦你“获得”一流的功能,你每次使用没有它们的语言时都会感到沮丧。

    我读过 The Little Schemer 并正在阅读 Practical Common Lisp ,这两者都很棒。

    接下来是工具。我在Mac上,所以我已经注意到Aquamacs Emacs(让Emacs适合新手)和Steel Bank Common Lisp(SBCL)。

  3. 缺少图书馆。

    我还不确定,但我对此表示怀疑。对于构建网站,它看起来像HunchentootElephant提供了一套很好的工具。但实际上我并没有看到Lispers抱怨缺少库(也许是因为Lisp非常强大而且不需要它们?)。

答案 3 :(得分:20)

“任何足够复杂的C或Fortran程序都包含一个临时的,非正式指定的,错误的,慢速实现的一半Common Lisp。”

Greenspun's Tenth Rule

答案 4 :(得分:15)

以下是一些有用的链接:

答案 5 :(得分:8)

first chapter of Peter Seibel's excellent Practical Common Lisp涵盖了他喜欢Lisp的原因。底线是“可编程编程语言”这一短语 - 能够根据您的域或首选样式自定义语言。

答案 6 :(得分:2)

  

一个Lisp程序往往会在你的程序之间提供更清晰的映射   关于程序如何工作以及您实际编写的代码的想法。

来源:http://www.gigamonkeys.com/book/introduction-why-lisp.html