Richard Stallman 支持 Language Server Protocol 整合到 Emacs 中

今天在 Reddit 上看到的讨论。有很多大牛都留言了,比如李杀,abo-abo,eli-zaretskii (GNU Emacs maintainer )。最吸引我的的留言是李杀大神的留言

Language Server Protocol 整合到 Emacs 中 会加速 Emacs 衰败吗?

还有就是另外一个很火的 讨论 ,我弄不清这项目和 Spacemacs 有什么区别?倒是作者的口号和川普差不多,Make Emacs Great Again!

大家怎么看待这两件事呢?Emacs 以后是衰落还是崛起呢?

2 个赞

教主这次不固执了。

非常需要这样一个协议。补全&跳转&重构这些向来是 Emacs 的短板,很多事也不是 elisp 擅长的,所以才会有目前的各种后端:tern(js)、jedi(python)、robe(ruby)、ycmd/irony©、gocode(go)…品质参差不齐,配置&使用各不相同。各种 tags(ctags,etags,gtags) 也是很鸡肋。用 grep/ag 来浏览源代码其实很无奈。即使配置做成了 Spacemacs 那种规模(真是世间少有),也并没有多大改善。

是该 Make Great Again 了,给配置瘦身,Emacs 安安静静做个编辑器就好。

3 个赞

even so, it’s only 100 Mb compiled, while other IDE are often 2 or more times larger, with 3 or more times larger memory consumption

李杀大神似乎还嫌 Emacs 太小,他在 twitter 上的话或许说出了许多 Emacser 的心声

emacs lisp sucks donkey ass. Please grow emacs, not grow external tools

1 个赞

昨天在 reddit 看了 关于教主那条消息,现在的 Emacs 维护者似乎是挺支持教主的,但是从邮件列表里面看到,教主似乎还没能说服 FSF,这个持观望态度。第二个 今天早上看到的,我个人感觉这个就是想再造一个类似 spacemacs 的轮子,很多的观点都是站不住脚,根本没办法吸引现有的 Emacs 用户,Emacs 用户基本都有自己的一套配置以及自己的使用习惯,为什么要用你的呢?根本是没办法吸引她们过来的。

至于 Emacs 以后是衰落还是崛起,在下见识浅薄,不敢妄言。但是有一点可以确定的是,即使 Emacs 整合了 LSP,Emacs 也不会真的火起来,或者是不整合 Emacs,也未见得 Emacs 会衰败。因为 Emacs 的学习曲线和 能力都摆在这里了。 Emacs 和 Vim 不会像 sublime ,atom,vsc 那样开箱即用,所以很多的萌新们是不会选择 Emacs/Vim, 因为有太多对他们友好的编辑器了。此外 Emacs/Vim 的强大是对于那些真的了解,并且能熟练运用的用户而言的,如果你退出 Vim 都不会,还怎么跟别人说它强大。所以一直以来 Emacs 的用户都多不到哪里去,也自然少不到哪里去。这是 Emacs 自身的特性决定的,没有几个月的使用,你很难入门 Emacs,而这段煎熬就把很多没恒心的孩子筛走了,剩下不多的 用户领会到 Emacs 的神奇,自然是对其坚贞不渝了。

4 个赞

我觉得一个更折衷也更扯蛋的办法是像Clojure一样赋予Emacs Lisp编译成其他语言的能力。

这样Lisp的活性能保持,LSP加入Emacs也不会对Lisp的兴亡起太大作用。

没错,现在Emacs Lisp可以算是保留早期Lisp特性的唯一代表了。

以上纯属扯蛋。


考虑到非编程型用户的需求,Emacs 的定位不应该止步于编辑器,而是成为一个顺滑整合各种后端的一个平台。

Clojure 也是 Lisp 的代表。只不过因为 jvm的存在,让它发挥了更大的作用

恩,其他编辑器也能整合 LSP,Emacs 的优势就体现不出来。李杀认为 Emacs 崛起的关键是 Elisp 这个语言

Instead, i like to see emacs lisp improved. Revamped compiler (by whatever means, using Guile Scheme lisp engine or not). Elisp need to have speed comparable to at least python ruby js. (elisp is some 10 times slower. And python is some 10 times slower than golang, julia.)

1 个赞

我没表达清楚……Clojure不算我想指代的古早味Lisp

这个时候,不知道 scheme 和 common lisp 作何感想 :严肃摊手脸

之前 的消息说 guile 兼容 elisp,scheme 还是比 elisp 快的,如果能整合好 guile,或许会大有作为

但是cl基本算古早味的……

完全滋词李杀的观点

Elisp太慢,Emacs太省资源。这2点是真的痛点

我记得陈斌是不是还把Emacs的整个.emacs.d读到内存里面,可以加快Emacs的运行速度来着

2 个赞

Emacs 是四十年前的产物,在内存论 kb 算的年代,你不能期待 Emacs 像 VS 那样吃资源吧 :捂脸

现在时代不一样了,如果让它多吃点资源可以跑得更快一点的话,为什么不呢

话说Emacs这种逆天的软件,如果处处完美早就统治世界了

因为吃不起资源用Emacs的路过。

1 个赞

LSP是啥?

总之一说是巨硬搞得就该明白争议性在哪里了。

然后已经有好事者搞了 lsp-mode,当然还在开发中。

然后,前天 Planet Emacsen 还有一篇关于这件事的文章,今天一看发现撤下了……细思极恐。

李杀关于Guile和Emacs的整合的看法…有点悲观,Guile只有一个人在维护,到现在为止还没有准备好让Emacs和Guile整合。

http://langserver.org/

各大语言的 server 进展看起来不错。client 这端 emacs/vi 有点落后,连 neovim 都走在前面了。