为什么人们说“emacs对编写lisp程序有好处,因为它是用emacs lisp编写的”?

时间:2014-05-29 20:29:47

标签: emacs lisp

我可以想象用java编写的eclipse这样的IDE很适合编写java程序,因为工具和语言是紧密集成的。因此,如果有人会说“emacs对编写emacs lisp程序有好处”,那么它对我来说也是有道理的。

但人们说emacs对所有lisp方言都有好处,好像所有lisp方言和emacs都是自然紧密集成的。不只是emacs lisp,不是任何语言,不是任何langauge使用repl,而是所有lisp方言。为什么?在所有lisp方言之间共享的emacs lisp中是否有任何东西,但在其他语言中并不存在 - 包括所有这些使用repl,这是如此独特以至于只有lisp方言可以从中受益?你能想出一些例子吗?

1 个答案:

答案 0 :(得分:2)

你说得对,Emacs作为通用Lisp环境会有任何技术优势。但它并不完全为零 - 因为Emacs有支持可以轻松解析大多数lisps,因为它们的表面语法(S表达式)通常非常相似。但这仍然只是一个技术性问题。

真正的原因是Emacs来自于lisps之间差异较小的时代(在语法意义上,语义是一个不同的问题),因此它基本上是复杂的Lisp编辑环境的唯一选择。因此,它享受了数十年的Lispers使用它进行Lisp编辑的好处,因此它始终是它的优点之一 - 而另一方面,很少有Lispers选择其他编辑器因此他们遭受了自然缺乏需求。 (IIRC,直到不久之前,甚至vi-clones只有基本的匹配。)

更重要的是,即使这些日子之间存在着强烈的关系,因为阅读elisp对于你的J Random Lisper来说要容易得多,所以他们仍然很容易扩展Emacs。你可以为Java&当然,Eclipse都是非常可扩展的工具示例,因此在各自的社区中都非常根深蒂固。

当它执行代码时,对于大多数lisps(=除了elisp之外的所有代码),工作都是在子流程中完成的,所以它与使用任何其他编辑器没什么不同 - 从技术上讲。