学习LISP有什么好处吗?

学习LISP有什么好处吗?,lisp,Lisp,我是一名经验丰富的Ruby、Objective C和Java程序员,我在emacs上观看了一段视频(因为我一直在使用Vi),并注意到它也是一个LISP解释器。这激发了我的兴趣,并提出了一个有趣的问题:对于熟悉现代高级语言(如Ruby、Java和Objective C)的人来说,学习LISP有什么实际好处吗?我是否会通过留出一些时间来学习LISP而有所收获?我想听听你们有什么要说的。谢谢。学习一门建立在不同于您所习惯的范式基础上的语言肯定会有好处(我注意到这门语言仅仅是具有强大命令根的面向对象语言

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

学习一门建立在不同于您所习惯的范式基础上的语言肯定会有好处(我注意到这门语言仅仅是具有强大命令根的面向对象语言)。LISP是函数式语言的老祖宗(我最喜欢的语言之一是LISP方言)

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


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

我建议你自己找一个()试试口齿不清。你会惊奇地发现,这种有着50年历史的语言是如此“现代”,而且在某些方面远远领先于其他“现代”语言。(例如,找出Lisp被称为可编程编程语言的原因)。如果您懒得亲自尝试一些Lisp代码,请阅读并观看其中一些:


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

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

82年以前用Lisp解决的问题仍然在主流编程语言(如C#和Python)中发挥作用。由于Lisp语法相当统一,它们可能永远无法在Lisp中轻松使用

例如:

  • 动态类型——可能是Lisp的发明,也可能是smalltalk。不确定
  • 面向对象--我想是从Lisp的Smalltalk中获得的
  • 反射——C#刚刚得到这个
  • 语言中的DSL——你好,林克
  • 宏——除了Lisp之外,一些超研究语言现在也有这些宏
  • 解释器中的编译——从未听说过其他语言有这种编译

还有其他我不能马上想到的东西。

Boo有语义宏,比researchy更实用。FWIW我工作的公司使用了很多AutoLISP。。。这是你能做的。