2010-11-03 168 views
5

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

+0

FWIW我工作的公司使用了很多AutoLISP ...这是你可以做的事情。 – Pete 2015-10-21 23:08:31

回答

9

学习一种与习惯于不同范式的语言(我注意到的仅仅是面向对象的强大命令式根源)肯定有好处。 LISP是功能语言的鼻祖(我的最爱之一,Scheme,是LISP方言)。

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

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

4

我建议你弄个good Lisp bookthey abound on the web)并尝试一下Lisp。你会惊讶地发现这个50岁的语言如此“现代”,在某些方面,远远领先于其他“现代”语言。 (例如,找出为什么Lisp被称为可编程编程语言)。如果你懒得自己尝试一些Lisp代码,请阅读thisthis

8

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

在82岁左右的Lisp中发现的东西仍然在进入像C#和Python这样的主流编程语言。由于合理的统一 Lisp语法,他们可能不会轻易在Lisp中使用它们。

了诸如:

  • 动态类型 - 可能一个Lisp发明,可能Smalltalk的。不确定。
  • 面向对象 - 通过Lisp语言Smalltalk的从我mooched认为
  • 反射 - C#刚刚在语言这个
  • 的DSL - 你好Linq的。
  • - 一些超researchy语言在翻译这些现在除了Lisp的
  • 编译 - 从来没有听说过有这样一个

和其他的东西我可以”其他语言不要想起来。

+0

非常好的答案在这里。我希望人们看到它。 – Chuck 2010-11-03 17:18:15

+0

Boo有语义宏,比研究更实用。 – JasonTrue 2011-05-16 17:31:08