子曰:工欲善其事,必先利其器。说的是,工匠想要使他的工作做得好,一定要先让自己手中的工具锋利。对于程序员来说,若想高效地编写出漂亮的代码,第一个需要利的“器”就是编辑(编译)器——一个好用的开发工具。

张玉宏

而所谓的开发工具,通常是编译器上加上一个好用外壳——代码编辑器。对于编译器,除了甲骨文(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 的开发界面

Eclipse的官方下载地址为:http://www.eclipse.org/downloads/

2.  NetBeans

NetBeans是由太阳微系统公司(Sun Microsystems,Java语言的开创者,2009年已被甲骨文公司收购)在2000年创建的开源软件开发工具,旨在构建世界级的Java 集成开发环境(IDE)。借助NetBeans,程序员可利用Java平台快速创建Web、企业、桌面以及移动的应用程序。类似于Eclipse,NetBeans亦是一个开发框架,该框架具有良好的扩展性,在各种强大插件的支持下,不限于Java语言开发,开发C、C++,PHP等程序亦颇为方便。其开发界面如图2所示。需要说明的是,随着太阳公司江河日下,NetBeans也大势渐去,不过作为历史的丰碑,也值得去体验一番。

图2  NetBeans的开发界面

NetBeans的官方下载地址为:https://netbeans.org/downloads/

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的开发界面

IntelliJ IDEA官方网址:http://www.jetbrains.com/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

Vim官方网址:http://www.vim.org/

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有独到的见解。

那些年,Java程序员用过的开发工具相关推荐

  1. 程序员不知道用什么开发工具?我来告诉你(有需要工具的小伙伴私聊我哦)

    程序员的开发工具 开发工具 eclipse(免费) eclipse是开放源代码的.基于Java的可扩展开发平台.它是java程序员常使用的开发工具,是一款免费的开发工具,在IDEA还没有盛行之前,ec ...

  2. java程序员如何进行物联网开发

    树莓派作为它作为全新的物联网开发方式,其的家族越来越强大,从1A到当前的4B系统列为主,另外还有zero系列,计算模块,不久前推出了pi pico开发板,其价格比较低,适合各种人学习从儿童编程到开发者 ...

  3. Java程序员如何转Android开发

    最近几日偷偷的发现部分Java程序员想转安卓开发,故此加紧补充知识,为大家搜集资料,积极整理前人的经验,希望可以给正处于困惑中的你,带来些许的帮助. 啰哩啰嗦的说说Java和Android程序的区别: ...

  4. BAT 程序员们常用的开发工具

    阿里篇 一.Java 线上诊断工具 Arthas Arthas 是阿里巴巴 2018 年 9 月开源的一款 Java 线上诊断工具. 使用场景: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 ...

  5. 收藏!!BAT 程序员们常用的开发工具

    阅读本文大概需要 15 分钟. 作者:infoQ来源:https://tinyurl.com/y4wohyqt 工欲善其事必先利其器,一个优秀的程序员除了代码写得好,善于利用各种开发工具同样可以事半功 ...

  6. .NET 程序员十种常用辅助开发工具

     .NET 程序员十种常用辅助开发工具      一: .NET 程序员十种工具 - Visual Studio Converter(转换器工具) Visual Studio .NET 项目转换器(参 ...

  7. 轻量级java开发工具_成为 Java 程序员必备的 5 个工具

    简介:Java 是一门面向对象的编程语言,它有着简单性.分布式.健壮性.安全性.可移植性.多线程等诸多特点.它也在最近一次的编程语言排行榜中排名第一,并且是连续十二次位居榜首,也就是说 Java 在2 ...

  8. 2018年,Java程序员转型大数据开发,是不是一个好选择?

    近日网上有一篇关于Java程序员职场生存现状的文章"2017年 Java 程序员,风光背后的危机",在Java程序员圈子里引起了广泛关注和热议. 2017年,Java 程序员面临更 ...

  9. Java程序员常用的六款工具

    作为 Java 程序员需要熟练使用Java工具,熟练的应用工具我们常常会事半功倍,在工作中的效率会提升一大截,可能还会获得升职加薪呦!下面小编介绍六款Java开发常用的工具希望对你有所帮助. 1.No ...

  10. 优秀程序员必学的开发工具教程!

    作为一名优秀的程序员,总要有几个压箱底的好技术.如果你对Dreamweaver.Eclipse.Firebug.HBuilder.Vim.Sublime Text等开发工具熟练运用,相信你是位成功的开 ...

最新文章

  1. Python实现 灰色关联分析 与结果可视化
  2. 两点之间的连线java_java计算图两点之间的路径实例代码
  3. NullPointerException的处理新方式,Java14真的太香了
  4. linux nginx 安装
  5. keil c语言绝对值函数,keil编写C程序是不是不能在函数内定义变量啊,求大神
  6. 【图像去噪】基于matlab非局部均值(NLM)滤波图像去噪【含Matlab源码 420期】
  7. 程序员如何接私活?十年码农悄悄告诉你
  8. AutoCAD许可、AutoCAD许可分析、分析许可
  9. 人脸识别像素最低_一种低分辨率图像的人脸识别方法与流程
  10. ArcGIS导入excel文件
  11. 激活 win10 企业版2016长期服务版本
  12. 基于访客的网络(VBN)
  13. Socks代理是什么?PC端怎么使用Socks5代理?
  14. 8本必读关于人工智能伦理问题、社会价值及影响书籍推荐
  15. MATLAB读取nc数据并显示
  16. OpenCV-文字绘制cv::putText
  17. php药膳 源码,-道家药膳
  18. unity农场游戏Farm Business Version 2
  19. 红旗 linux 4.4系统安装,红旗Linux6.0 SP1桌面版安装 xfce 4.4.3 的方法
  20. 捷联惯导系统学习7.5(低成本组合导航系统模型)

热门文章

  1. Flutter Navigator路由传参
  2. 关于食堂排队与座位问题的调查报告
  3. hihoCoder1378 (最大流最小割)
  4. 网络适配器突然消失的解决办法
  5. matlab与vb接口dll,[求助]vb和matlab接口有关matlab程序调用vb数组的问题
  6. 用VB创建一个对象数组
  7. 第二章02:初识批处理
  8. emv交易流程介绍,简易波动指标EMV基础知识介绍:EMV的计算公式_EMV应用法则
  9. 基于JAVA学生用品交换平台计算机毕业设计源码+系统+数据库+lw文档+部署
  10. <aop:aspectj-autoproxy />作用