整理一篇旧作。
很久很久以前,有一个非常优秀的公司叫Borland,力抗微软这种大佬,专门做各种语言的IDE。听过此公司的人目测年纪在30+。代表做有Turbo C/C++、C++Builder、JBuilder、Delphi。
后来Borland没落、被收购、被遗忘了。虽说现在公司还在,但在中国应该说是被主流遗忘了。
今天的主角是后起之秀JebBrains,来自捷克的软件公司,IntelliJ IDEA的开发商。我觉得,至今为止最重要的JAVA IDE,从JBuilder开始,然后被Eclipse颠覆。在Eclipse越来越成为一个平台(本来就是)的今天,标榜是最智能的JAVA IDE的IntelliJ IDEA出现了。IntelliJ IDEA越来越成功的一个佐证是Android的官方IDE(Android Studio)已经从基于Eclipse转为了基于IntelliJ IDEA。
简单的讲,IntelliJ IDEA会思考Java程序员的某个操作、输入某个字母是想做什么,帮你思考你该做什么,给你提示、帮你完成。从实操上讲,直接的好处是开发者会减少代码输入,减少与逻辑无关的思考和操作,尽量减少你的思路停下来等待输入的情况。当然,IntelliJ IDEA既然是最智能的JAVA IDE,还有其他提升效率的功能。
Eclipse虽然也可作为JAVA IDE,但天生把平台性作为其关键特征,需要兼顾很多问题。IntelliJ IDEA更专注于java开发。java好,就是真的好。谁管你的c和c++(貌似jetbrains出了单独的c/c++ IDE,追赶Borland?)。
Eclipse非常著名的插件机制(有时候你会因为这个特点非常头疼,更新或下载一堆插件之后与平台或相互的不兼容造成的无法使用,且无能为力),在IntelliJ IDEA这里反而不是那么重要。因为IntelliJ IDEA默认提供java开发大多数情况所需的所有功能。当然插件这种机制IntelliJ IDEA里也提供了,还是有需要的场景。比如从Ecplise转入IntelliJ IDEA的同学可能会用到eclipse code formatter插件(解决同时在IntelliJ IDEA和eclipse保持一致格式的问题。)
下面这篇文章从某些角度论述了为什么IntelliJ IDEA比Eclipse更好
http://www.lupaworld.com/article-216509-1.html
结论
如果我们选择Java IDE,那么Intellij IDEA肯定要比Eclipse好的。这不仅仅是个人喜好问题。从客观上看,IDEA更好。它是的你能够快捷地编写和修改代码。它给出恰当的名称提示,查找适合的方法。它不需要你特别地选择表达式便会猜测到你想要做的以及你想如何对它命名。IDEA预示着并给你提示。
P.S. Remarks
我认为IDEA在作为Java IDE时确实比Eclipse更好。如果你考虑他们其他方面的能力例如用于其他例如C++、Python、Scala的IDE上,或者是作为构建桌面的应用的平台,Eclipse很有可能拔得头筹。
事实上这是依赖于对他们的定义的,Eclipse已将自己定位为一个抽象平台,用来使用插件构建任何工具,而IDEA则定位为一个“智能的Java IDE”,而且它正如此。
作为纪念我就尝试着列绝一些Eclipse可能比IDEA更好的地方:
Eclipse看上去更棒,所有大题小做的SWT以及本地控件都用的很值。Eclipse看上去很稳定的深思熟虑过的程序,它有着漂亮的字体以及图标。然而当第一眼看到IDEA是,它像是作噱头的玩具一样,有着不完全的图标以及笨拙的Swing界面。
Eclipse拥有更强的项目结构支持。在IDEA中,你的项目是有模块组成。在Eclipse中你拥有一个由工程组成的工作区,每个工程都能被单独打开或关闭,分组或隐藏。但是你真的需要么?
为Eclipse编写插件似乎很简单
IDEA比Eclipse使用更多的系统资源。这其实也说得通–因为IDEA了解得更多
最后,Eclipse是免费的,然而IDEA Community版本已经够我用了
最后的建议
如果你需要漂亮的图标,用来创建桌面程序的平台,C++IDE或者你用一个低配的笔记本工作,那么Eclipse可能对你来说是更好的选择。但是如果你是一个正儿八经的Java开发者,你需要更快更方便的工具帮你集中注意于解决问题而不是让你分心,IDEA则正是你所需要的。
大部分使用Eclipse的java开发者,不会因为上面这篇文章的介绍而投入IntelliJ IDEA的怀抱,因为习惯是一个很神奇的东西,而Eclipse也没有糟糕到一无是处。在遇到IntelliJ IDEA之前,我也没有想过有一天会抛弃Eclipse,但是一旦事情有了比较和开始,人就无法回头了。感谢Ecplise一直默默的陪伴,但IntelliJ IDEA的出现才让我明白我要等的人不是Eclipse。
IntelliJ IDEA有社区版和收费版。我们提倡有钱的购买收费版,没钱的用社区版,其他途径得来的建议大家只做学习之用,比如这个文章(http://hackday.cn/blog/2017/4/intellij-idea.html)。