最近看到新闻,Eclipse 的市场份额持续下滑,而 Intellij IDEA 异军突起终于坚持不懈的超越了 Eclipse 成为了 Java 程序员的首选开发工具。
有感于此,回想起这么些年来写过不同的语言,用过不少的编辑器。以前的程序员和现在的程序员他们都各用什么编辑器编程,不同语言的程序员偏爱什么样的编辑器来写程序呢?
编辑器与语言
先来看看下面这张图,来自 TIBOE 2016 十月最新的编程语言流行度排行。
Java 以后端和安卓开发为主,牢牢占据第一。Java 的历史不过短短二十年出头,开发工具编辑器的变化从前五年的群雄混战到后来 JBuilder 一统江湖。再之后 Eclipse 开源横空出世取 JBuilder 而代之,当年 Eclipse 能战胜 JBuilder 正是因为其开源免费而且社区极其活跃。考虑开发工具市场属于小众,高技术门槛而低利润空间,本以为被开源免费这么一冲击,会再无商业公司单独以此为核心业务了。没想到的是打败 Eclipse 的竟然是来自商业软件开发工具公司 JetBrains 的 Intellij IDEA,真是二十年来又一轮回,不禁唏嘘。
后端的 C 和 C++ 开发想必还是用数十年不变的来自远古时期的 Vi 或 Emacs,关于这两个神奇的编辑器我们下面再详述,暂时按下不表。而 C# 自然是用微软系无所不能的编辑器 Visual Studio,对于我一个使用 Mac 的程序员确实没怎么用过微软的工具,也就不多说了。而 JavaScript 作为现在前端的统治语言才是最让我困惑的,在我还在写一些 Web 页面的时期(可能三、四年前)就一直没找到过觉得适合 JavaScript 的编辑器。如今前端百花竞放,好不热闹,看到的每一个前端程序员似乎都在用着不同的编辑器。
编辑器与神
两个神奇的编辑器:vi 或 Emacs。它们都是诞生于 1976 年,MIT 的 Richard Stallman 和 Guy Steele 完成了 Emacs 的第一版,同时期在 Berkeley 的 Bill Joy 写出了 Vi。
它们各自围绕着完全不同的设计理念,其间差别巨大,各自都有自己的粉丝团并相互鄙视。有点像《火影》漫画里千手和宇智波一族争战多年,但目前这两大编辑器尚未达成过一致——也就是从未有过一个同时集两大编辑器特点于一身的编辑器出现过。
Emacs 围绕的核心理念是快捷键和自定义的配置扩展,编辑器提供了一组命令并绑定在一系列的快捷键上。如果你发现有什么想要的功能默认快捷键没有提供,你可以自
