Emacs 信徒与偏见

作者: ZenoZeng | 来源:发表于2014-12-23 21:25 被阅读1024次

    我曾一直是一个 Emacs 的信徒,认为虽然这世上还有 VIM 这样可以和 Emacs 匹敌的存在,但却没有能够超越 Emacs 的东西。用 Emacs 近两年半,我现在觉得可能自己之前还是颇有些无知与盲目的。狂热与崇拜遮蔽了了外面的世界。即使看到了外头,也会被内心找出理由挑出刺来。 所以容我在这里大言不惭说说 Emacs 的一些是非。

    Emacs 的图形前端很不现代,可能和 Emacs 不会放弃对终端的支持有关。
    也许是我孤陋寡闻,反正就我所知,Emacs 中一个简单的 popup 都需要靠 overlay-put 来实现,然而依靠这种机制,经常产生冲突,要是可以引入一种图层机制倒是不错。至少提供更多的默认控件之类的东西,插件写起来也轻松一些。要是能有浏览器引擎来做前端就更好了。CSS就排版来说,其实很伟大。

    再说说 Emacs 对语言的支持。写 Lisp 尤其是 Emacs-Lisp 体验非常棒,结合 ParEdit、el-doc 等插件,加上原生的函数文档查询,写起来非常舒服。(顺带一提,LightTable 是支持 Paredit 的)写 Javascript 也不错,js2-mode/js3-mode 用起来非常顺手。但 Emacs 对语言的支持在大多数情况下,好像都只是文本层面的支持,是不会去做 AST 解析的。说穿了,其实也就是不够智能。好多自动补全,都只是填文本而已,其实连 Emacs 自己都不知道自己在做的是什么,有时候自动补全出来的东西也不是很妥当。

    Emacs-Lisp 自身也很慢。以及好后来才有了词法作用域。但是好多包用的都是动态作用域。其实有时候想,要是 Emacs 用的是 Scheme 就好了。还有久久未能解决的多线程问题,开个 ELPA 整个 Emacs 就直接卡死了。Tramp 也很慢。当然这个其实和 Emacs 试图包容一切有关系吧。要是减少使用 Emacs-Lisp 写的部分,而引入更多 C/C++ 成分,然后用异步的话(就像 Node.JS的网络那样)不说解决,我觉得至少这些问题都会大大缓解吧。

    然后 Emacs 的包相当零散,很多时候都需要自己再好好组一组,磨一磨才能够足够好用。整体虽然有 Emacs 自身的哲学在,但是缺少一种强有力的约束、规范使得各个包的体验足够一致。这一点上似乎 IDE 会做的很好一些。

    在过去很长的一段时间里,我一直在黑 Windows、黑 Java、黑很多东西。
    有时候其实是缺少自信,需要通过黑其他东西,告诉别人,其实是告诉自己,让自己相信自己的选择是正确的。但我对它们的了解其实还是远远不够,很多时候,只是在人云亦云,只是在引述所谓权威之言。曾在网上看到一个判断黑东西是否客观的方法,大意如下:是先黑一样东西,然后再补上理由,还是先发现一些东西不妥,然后再黑。

    使用 Emacs 让我学到了许多东西,我不会为我花再它上面的时间而感到后悔,但我希望我能看到更广阔的世界。没了偏见,才能看到更多吧。缩在一个小地方,其实是看不见整个世界的。

    相关文章

      网友评论

      • 胡聿泽:"除了Adobe能做的,其他的emacs都能做"
      • ZenoZeng:@Hick 我说的 GUI 不是指的 Eclipse 那种,而是希望有一些更简单的却更有表达力的 GUI 能力。比如像直接利用nw.js来实现的基于 HTML + CSS 这样的。会很方便。当然,基于现有的库的情况来看,这类大变动是基本不会发生的。

        BTW,网站不错哦。
      • Hick:自称教徒一般都是自嘲, 好像作者曾经当真? "图形前端现代"这种词汇就有点卖萌, 现代就是像 Eclipse 这种? 当然我也认为 Emacs 中实现一些 GUI 习惯的交互并不擅长, 各种自动完成等的模拟界面经常有兼容问题---这是成熟度和兼容性的问题, 讨论 GUI 跟讨论 Emacs 应该用更现代的鼠标无异.

        Emacs 确实有一大堆毛病和不擅长, 人家就是个想做操作系统的编辑器, 嘿嘿. 学习成本也非常高, 比较难掌控和驾驭. 可以延伸到国家和社会模式, 其实 Emacs 更像西方式自由, 有最大的灵活和自由度, 因为放任自由缺少了规则, 自由有好有坏, 经常不是最高效的. 是的, 现在的中国模式才是最高效的, 领导人英明, 果断强力的决策没有那么多纠结, 高效!

        黑什么都没问题, 关键是为什么去黑, 不要预设立场就好. 有些东西不能用简单的是非去评判, 只能说各有所长, 大家多多互相学习.

        捎带打个广告, 欢迎访问 Emacs 爱好者分享交流网站 http://Emacsist.com .
      • ZenoZeng:@danihao123 哈,好多相合的意见呢。谢谢。

      本文标题:Emacs 信徒与偏见

      本文链接:https://www.haomeiwen.com/subject/iedatttx.html