【问题标题】:Is there any benefits to learning LISP?学习 LISP 有什么好处吗?
【发布时间】:2010-11-03 10:55:43
【问题描述】:

我是一位经验丰富的 Ruby、Objective C 和 Java 程序员,我正在观看有关 emacs 的视频(因为我一直在使用 Vi),并注意到它也是一个 LISP 解释器。这激起了我的兴趣,并提出了一个有趣的问题:对于了解 Ruby、Java 和 Objective C 等现代高级语言的人来说,学习 LISP 有什么实际好处吗?通过留出一些时间来学习 LISP,我会有所收获吗?我想听听你们怎么说。谢谢。

【问题讨论】:

  • FWIW 我工作的公司使用了很多 AutoLISP ......这是你可以做的事情。

标签: lisp


【解决方案1】:

学习一门建立在与您习惯的范式不同的范式上的语言绝对有好处(我注意到这只是面向对象,具有很强的命令式根)。 LISP 是函数式语言的鼻祖(我的最爱之一,Scheme,是一种 LISP 方言)。

除了拓宽您的视野之外,函数式语言和构造是highly likely,作为一种有效使用多核硬件的相当直接的方式,其重要性进一步提高。

LISP 本身可能不是我的建议,因为它非常分散:另一方面,有很多历史,如果您打算迁移到 Emacs,可以直接使用它。

【讨论】:

    【解决方案2】:

    从某种意义上说,Lisp 是冯·诺依曼“代码就是数据就是代码”这一启示的逻辑延伸。

    在大约 82 年之前在 Lisp 中发现的东西仍在以它们的方式进入主流编程语言,如 C# 和 Python。由于 合理统一 Lisp 语法,他们可能永远无法在 Lisp 中轻松使用它们。

    类似的东西:

    • 动态类型——可能是 Lisp 的发明,可能是 smalltalk。不确定。
    • 面向对象——我认为是 Lisp 从 Smalltalk 中汲取的灵感
    • reflection -- C# 刚刚得到了这个
    • 语言中的 DSL -- 你好 Linq。
    • -- 除了 Lisp 之外,一些超研究的语言现在也有这些
    • 在解释器中编译 -- 从来没有听说过其他语言有这个

    还有其他我想不出来的东西。

    【讨论】:

    • Boo 有语义宏,比研究更实用。
    【解决方案3】:

    我建议你获取good Lisp book (they abound on the web) 并自己尝试一些 Lisp。您会惊讶地发现,这种 50 年历史的语言是如此“现代”,并且在某些方面远远领先于其他“现代”语言。 (例如,找出为什么 Lisp 被称为可编程编程语言)。如果你懒得亲自尝试一些 Lisp 代码,请阅读 thisthis

    【讨论】:

      【解决方案4】:

      观看其中一些:http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

      学习 Lisp 本身并不是特别实用,但它会让你成为一个更好的程序员,因为你可以将所获得的理解应用到你认为你已经知道的语言上。

      【讨论】:

        猜你喜欢
        • 2010-10-10
        • 2010-11-05
        • 1970-01-01
        • 2010-09-05
        • 2011-01-08
        • 1970-01-01
        • 2010-12-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多