其实很多人没有意识到一个事实:
那就是传统意义上的 IDE 已经几乎消失了,现代的 IDE 本质上几乎全都是编辑器。
为什么会有 IDE 这个概念,当年是怎么来的 IDE 这个概念呢?
其实很简单,最初的编辑器与编译器是分离的。
IDE 的诞生其实就是把编译器跟编辑器集成到了同一个 app 中。这就是最初的 IDE 诞生的原因。而这种行为,一定程度上是为了独占:为了进行这个程序的开发,为了使用我这个开发框架,你必须使用我的 IDE 才能正常编译。为了使用我家的 IDE ,你必须使用我家的编译器,通过 IDE 强行推广自家编译器的组合,与其它编译器竞争。
往回追溯的话,大概要到 1983 年 Borland 为了推广自家框架搞出来了 IDE 这么个概念,BCC编译器当时可能处于弱势地位,而一个强势的IDE可以帮助更好的推广Borland自家的编译器。而当年在主流 Unix 界,包括微软(微软其实学的也是 Unix 的那一套),都是编辑器与编译器分离的,例如VS会以外部命令的方式调用微软编译器而并未集成编译器在内部。
在非IDE模式中,是在编辑器中完成了代码,由编译器调用外部程序进行编译,然后把编译的结果显示在编辑器中。在这种模式下,你用 vim 触发编译的命令可能是 :make,用某个 IDE 触发编译的命令可能是 F5,两者除了快捷键不同以外,并无任何本质区别。
后面的结果大家都知道了,Borland的辉煌已经成为历史。这种模式并不能一招鲜吃遍天。开发编译器与开发编辑器原本就是两个不同的领域,让专业的归专业才是最理想的方式。
随着时代的发展,在实际项目中。人们发现把编译器集成进 IDE 会非常的不方便:这种模式无法实现很多功能,无法使用一些自动任务进行编译,无法使用每日构建,持续构建,实现 CICD 流程更是根本无法做到。对迅捷开发,快速迭代非常不利。
更重要的是:优秀的编辑器厂商可能并不能独立研发出一个优秀的编译器。优秀的编译器产商也可能并不能独立开发出优秀的编辑器。
于是,所有的 IDE 又争相把编译器拆分出来。当前的绝大部分主流 IDE ,已经把编译器从自身拆分了出来。无论是调用cl,还是clang,还是java,还是别的什么,编译功能已经不再集成进 IDE。IDE这种东西,在现在,已经不复存在。所有的 IDE 都只是编辑器,因为 IDE 产商,并没有能力开发出编译器,也没有必要自己开发编译器,集成开发环境存在的意义不大。
现在我可以回答题主:为什么编辑器比 IDE 更酷?因为开发编辑器的产商,并不必然会是一个专业的开发编译器的产商。所以,将编辑器与编译器的研发分离,是更专业的做法,所以它更酷。
而这,恰恰是目前所有主流编程工具的做法,所以是的,目前所有主流 IDE ,都不是 IDE,而是编辑器。
Intellij IDEA 是一个优秀的编辑器而不是 IDE。因为,现在的 IDE 就是编辑器。它们是使用外部调用的方式进行编译的。你 ID 的项目现在主流还是使用 gradle 去编译。而 gradle 本身并不依赖 ID 。Intellij IDEA 也只是个编辑器。
所以我要诚恳的说:IDE 这种东西早在很多年前就已经死了,现在残存的所有 IDE ,都只是名字叫做 IDE 实质上只是个编辑器而已。你能举出来的所有这些功能,本质上,都是属于编辑器的功能,与 IDE 这个概念并没有半毛钱关系。
既然大家都是编辑器,就不要纠结谁酷谁不酷的区别了。喜欢谁就用谁。
越是容易使用的工具,越难反映使用者的水平。
独轮车总比三轮车难骑,所以骑独轮车酷。虽然骑三轮车的人没准也会骑独轮车,但反映不出来啊。
但我们用ide又不是为了装逼