子曰:工欲善其事,必先利其器。说的是,工匠想要使他的工作做得好,一定要先让自己手中的工具锋利。对于程序员来说,若想高效地编写出漂亮的代码,第一个需要利的“器”就是编辑(编译)器——一个好用的开发工具。
张玉宏
而所谓的开发工具,通常是编译器上加上一个好用外壳——代码编辑器。对于编译器,除了甲骨文(Oracle)公司这类大公司玩得转,Java程序员通常别无选择。代码编辑器,对于程序员来说,就像勇士对剑的追求一样,一把可随心驾驭且锋利无比的宝剑可极大提升勇士的战斗力,而一款好用Java开发工具,亦能极大提高程序员的开发效率。
程序员是一个比较挑剔的群体,对开发工具的追求可谓是五花八门,精益求精。作为Java 程序员,很容易患上“开发工具选择综合症”。自1995年Java诞生以来,20载一路走来,用于开发Java程序的工具很多,“器”竞码农择,留存皆精品。为了方便Java初学者选择开发工具,本文介绍7款备受程序员青睐的开发工具,从基础到高级,涵盖各种平台,欢迎大家试用体验。
1. Eclipse
Eclipse是知名的跨平台开源集成开发环境(IDE),主要用来Java语言开发,一度成为Java开发的代名词。由于其本身是一个框架平台,可接受众多插件(plugin)的支持,使得Eclipse拥有较佳的灵活性。目前有人通过插件使其成为C++、Python、PHP等其他语言的开发工具。目前最新的版本是2014年6月发布代号为Luna的4.4版。2015年6月项目即将发布代号为Mars的4.5版。
值得一提是,Eclipse有一个功能非常强大的集插件之大成者——MyEclipse,其功能几乎覆盖Java开发的全过程,从编码编写、代码测试及框架部署,无所不包。其充分利用目前最需要用到的Jave EE技术优势,平衡化供应商的主流的技术,如Spring、Maven及REST Web服务等,程序员可在单栈中统一开发。这些强大的功能是用钱买来的,MyEclipse是收费软件,而Eclipse则是免费的。
图1 Eclipse 的开发界面
2. NetBeans
NetBeans是由太阳微系统公司(Sun Microsystems,Java语言的开创者,2009年已被甲骨文公司收购)在2000年创建的开源软件开发工具,旨在构建世界级的Java 集成开发环境(IDE)。借助NetBeans,程序员可利用Java平台快速创建Web、企业、桌面以及移动的应用程序。类似于Eclipse,NetBeans亦是一个开发框架,该框架具有良好的扩展性,在各种强大插件的支持下,不限于Java语言开发,开发C、C++,PHP等程序亦颇为方便。其开发界面如图2所示。需要说明的是,随着太阳公司江河日下,NetBeans也大势渐去,不过作为历史的丰碑,也值得去体验一番。
图2 NetBeans的开发界面
3. IntelliJ IDEA
IntelliJ IDEA是商业化销售的Java集成开发环境,由捷克软件公司JetBrains在2001年推出。IntelliJ IDEA名字有点怪,但“怪才有奇招”,不少Java程序员认为它是当前效率最高的Java开发工具。它集成了在开发过程中众多的实用功能,几乎不用鼠标即可方便地完成Java程序员要做的很多工作,最大程度的加快开发速度。IntelliJ IDEA界面简单而又功能强大,与其它的一些繁冗而复杂的IDE工具有鲜明的对比。
由于IntelliJ IDEA是商业化付费软件,如果你“有钱任性”,它的确值得购买,其功能之强大,会让你感觉“钱花哪哪好”。即使是免费的社区版,IntelliJ IDEA功能之强大,也不得不让人赞叹。IntelliJ IDEA的开发界面如图3所示。
图3 IntelliJ IDEA的开发界面
4. Vim
Vim是从Vi发展出来的一个文本编辑器。随着功能的不断增加,正式名称改成了Vi Improved(意为vi的加强版)。Vim号称“编辑器之神”,与“神之编辑器”Emacs 势同水火,均为类Unix(如Unix、Linux、Mac OS等)系统用户所青睐的编辑器,各自的拥趸常血性互掐。
Vim以它强大的插件体系以及全键盘操作的易用性,自问世后迅速征服了广大程序员。用来写Java,自然也是小菜一碟。但对于大多数用户来说,Vim有着一个比较陡峭的学习曲线。这意味着Vim入门缓慢,需要用户记住大量命令,但一旦掌握,便能大幅度提高编辑效率。Vim既提供传统的命令行版,也提供有较好图形界面的gvim版本。据说“伟大”的程序员,无论写什么代码都用 Vim。不管你信不信,反正我是信了。其开发界面如图4所示。
图4 Vim的开发界面
为了更高效使用vim,推荐一个好用的vim配置:
https://github.com/kehr/krc
5. EditPlus
EditPlus是由韩国人Kim Sang-il开发的Windows系统下的一款小巧但是功能强大的文本编辑器。其拥有无限制的撤消与重做、英文拼字检查、列数标记等功能。EditPlus对中文支持比较好,支持语法高亮、代码折叠、代码自动完成等,但不支持代码提示功能。其配置功能不错,扩展也比较强。如果正确配置Java的编译器“Javac”以及解释器“Java”后,可直接使用EditPlus编译执行Java程序。目前,EditPlus只支持Windows平台,EditPlus的开发界面如图5所示。
图5 EditPlus的开发界面
EditPlus是一款收费软件,其官网地址为:http://www.editplus.com/
6. Sublime
2008年1月,程序员出身的Jon Skinner开发了Sublime Text,它最初被设计为一个具有丰富扩展功能的Vim。Sublime拥有非常漂亮的用户界面和强大的功能,如代码缩略图、拼写检查,书签等。它是一个跨平台的编辑器,支持Windows、Linux、Mac OS X等主流操作系统。2012年6月Skinner推出了Sublime Text 2,与之前版本相比主要有较大的改善,被称为“最性感的代码编辑器”,支持 Retina 视网膜屏、快速跳转、文本拖放、改善构建系统等。
图6 Sublime的开发界面
需要读者注意的是,同Vim一样,Sublime本身不过只是一个代码编辑器,要想把它改装成IDE,需要安装各种插件,这个任务就交给爱折腾的“码农”吧。
Sublime虽然是一个付费软件,但设计者Skinner却允许程序员无限期试用,对苦逼码农的照顾之情可见一斑。如果不差钱的话,真的可以考虑支持一下Skinner,大家都是程序员,挣点辛苦钱不容易,支持一下Skinner,其实就是支持另一个自己。
目前最新的版本是2014年发布的Sublime Text 3。其官网地址:
http://www.sublimetext.com/
7. Atom
Atom是Github(由Linus Torvalds编写著名的版本控制系统)社区于2014年发布,在此之前,据说作为Github“御用”的代码编辑器,已被默默使用6年之久。据Atom自己的解释, Sublime提供的扩展性有限,而Vim/Emacs虽然扩展性不错,但编写扩展插件,需要使用特定的脚本语言,不甚方便。因此,Atom立志要做成一款下到小学生,上至黑客都会喜欢的代码编辑器。目Atom可高度定制,运行随意安装各种npm包来扩展编辑器的功能。Atom比较出色的功能当属代码补全(即snippets),程序员只需输入少量代码来完成大量的编程工作。Atom的开发界面如7所示。
图7 Atom的开发界面
Atom对公众开放仅一年有余,想尝鲜的潮人程序员,不妨去体验一番。Atom官网地址:https://atom.io/
综上所述,基于笔者的开发体验,推荐的开发工具有Intelij IDEA,Eclipse和Vim,尤其是Intelij IDEA,酷不可言。当然,“萝卜青菜,各有所爱”,读者朋友可根据自己的喜好,选择适合自己的开发工具。毕竟,你用着好,才叫好!(王凯旋对本文亦有贡献)
作者简介:张玉宏,博士,2012年毕业于电子科技大学,现执教于河南工业大学。中国计算机协会(CCF)会员,ACM/IEEE会员。主要研究方向为高性能计算、生物信息学。发表国内外国际期刊发表学术论文15篇。出版国外学术专著2部。2009年-2011年在美国著名高校Northwestern University访学,期间独立开发高性能并行软件开源软件PSSE。张玉宏博士教学经验丰富,深入浅出的教学风格深受学生好评,扎实的工程经验让他对Java有独到的见解。
本文选自程序员电子版2015年5月B刊,该期更多文章请查看这里。2000年创刊至今所有文章目录请查看程序员封面秀。欢迎订阅程序员电子版(含iPad版、Android版、PDF版)。