最近看到新聞,Eclipse 的市場份額持續(xù)下滑,而 Intellij IDEA 異軍突起終于堅持不懈的超越了 Eclipse 成為了 Java 程序員的首選開發(fā)工具。

有感于此,回想起這么些年來寫過不同的語言,用過不少的編輯器。以前的程序員和現(xiàn)在的程序員他們都各用什么編輯器編程,不同語言的程序員偏愛什么樣的編輯器來寫程序呢?

編輯器與語言

先來看看下面這張圖,來自 TIBOE 2016 十月最新的編程語言流行度排行。

Java 以后端和安卓開發(fā)為主,牢牢占據(jù)第一。Java 的歷史不過短短二十年出頭,開發(fā)工具編輯器的變化從前五年的群雄混戰(zhàn)到后來 JBuilder 一統(tǒng)江湖。再之后 Eclipse 開源橫空出世取 JBuilder 而代之,當年 Eclipse 能戰(zhàn)勝 JBuilder 正是因為其開源免費而且社區(qū)極其活躍??紤]開發(fā)工具市場屬于小眾,高技術門檻而低利潤空間,本以為被開源免費這么一沖擊,會再無商業(yè)公司單獨以此為核心業(yè)務了。沒想到的是打敗 Eclipse 的竟然是來自商業(yè)軟件開發(fā)工具公司 JetBrains 的 Intellij IDEA,真是二十年來又一輪回,不禁唏噓。

后端的 C 和 C++ 開發(fā)想必還是用數(shù)十年不變的來自遠古時期的 Vi 或 Emacs,關于這兩個神奇的編輯器我們下面再詳述,暫時按下不表。而 C# 自然是用微軟系無所不能的編輯器 Visual Studio,對于我一個使用 Mac 的程序員確實沒怎么用過微軟的工具,也就不多說了。而 JavaScript 作為現(xiàn)在前端的統(tǒng)治語言才是最讓我困惑的,在我還在寫一些 Web 頁面的時期(可能三、四年前)就一直沒找到過覺得適合 JavaScript 的編輯器。如今前端百花競放,好不熱鬧,看到的每一個前端程序員似乎都在用著不同的編輯器。

編輯器與神

兩個神奇的編輯器:vi 或 Emacs。它們都是誕生于 1976 年,MIT 的 Richard Stallman 和 Guy Steele 完成了 Emacs 的第一版,同時期在 Berkeley 的 Bill Joy 寫出了 Vi。

它們各自圍繞著完全不同的設計理念,其間差別巨大,各自都有自己的粉絲團并相互鄙視。有點像《火影》漫畫里千手和宇智波一族爭戰(zhàn)多年,但目前這兩大編輯器尚未達成過一致——也就是從未有過一個同時集兩大編輯器特點于一身的編輯器出現(xiàn)過。

Emacs 圍繞的核心理念是快捷鍵和自定義的配置擴展,編輯器提供了一組命令并綁定在一系列的快捷鍵上。如果你發(fā)現(xiàn)有什么想要的功能默認快捷鍵沒有提供,你可以自