My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 程序开发 > 编程语言 > Java > 综合文章
回复:用NetBeans与弃Eclipse
作者:未知 时间:2005-09-13 19:40 出处:ChinaUnix.net 责编:My FAQ
              摘要:回复:用NetBeans与弃Eclipse

网上看到有人居然写了篇文章《用NetBeans与弃Eclipse》([url]http://dev.csdn.net/article/69/69624.shtm[/url]) 有感而发,写了篇回复,全文如下:

开放性、运行速度、自动化程度好像都是eclipse略胜一筹,至于java语言的新功能嘛,也只是个时间问题,java 1年多才发布一个新版本,除了5.0因为改动了class的spec以外,其他版本升级都没有那么困难。
我用了netbeans 大半年了,最近转到Eclipse,总体感觉如下:
首先,netbean给我的感觉:慢,明显得慢,启动慢,退出也慢,让我感觉机器好像降低了一个档次似的,我的机器已经是P4 2.8 1G内存,但是相比eclipse的轻巧和快速,还是无法忍受netbeans的慢,尤其是等了好久终于出现图形界面了,还要看着这个界面很久等待扫描classpath让人更无法忍受。

其次,eclipse插件众多,有xmleditor,有subversion支持, 有UML建模工具,数据库工具,struts, hibernate都可以用工具来生成有关xml文件,如果不是这样的话,单就手工修改这些xml文件,工作效率就降低不少,完全体现不出他们的优势。eclipse下面还有javascript的开发和调试插件,写web项目的时候特别方便。相比较插件的数量,netbeans远不及eclipse

第三,netbeans的程序全部用ant进行管理,这样在导入一些非netbeans开发的项目的时候造成困扰,netbeans不会自动通过识别其他的ant脚本设置的classpath来进行package的导入,每次都要手工设置许多包,特别不方便,另外,如果不使用netbeans自动创建的ant脚本,就无法进行程序debug。相比较之下,eclipse即支持ant,又不强制你使用ant,你可以用ant来管理你的project,来生成,调试,打包,生成文档等等。当你不需要ant的时候,比如要进行调试,可以跳过ant的管理直接进入调试模式。别的不说,单就eclipse的ant编辑工具就非常出色,当你在outline里面点击列出来的property名和task名的时候,会自动帮你定位到build.xml中相应的位子,修改特别方便,用netbeans的时候,我总是在找这个task在什么地方。

最后,且不说eclipse可以实现perl/python/php/c#等其他语言的IDE,就单说java程序源代码编写方面:虽然netbeans最早支持了jdk5的语法,可是当你有些地方可以用到新格式的代码的时候,netbeans也不会给你任何提示,比如generics,如果你创建了一个支持autoboxing的变量并且输入了内容,eclipse会给你一个友好的提示,说定义需要parametised,但是netbeans却什么都不会说。

错误纠正:
当发生错误的时候,netbeans会在源码编写窗口提示错误,但是eclipse不仅提示你错误,还会有assisstance帮助你自动修正错误,可以帮你创建变量,和定义,比如:
s = "abc".getBytes();
如果你从未曾定义s,当你用ctrl+1呼叫代码助手的时候,代码助手就会问你你是要作什么,如果你选择“本地变量”,就会自动完成
byte[] s = "abc".getBytes();
如果你选择“创建field”,就会自动帮你在class里面定一个private byte[] s;
如果你选择来自parameter,就会自动在方法的参数里面追加byte[] s
简直太方便了。

自动完成:
你在写任何变量名的时候,只要写出前几个字母,然后按ctrl+space(在中文操作系统中,这个快捷键和呼叫中文输入法冲突,所以我改成了shift+space)就会出现许多以你输入的部分开头的选项,比如
St(ctrl+space) 就会自动完成String,这个功能netbeans也有,可是netbeans的自动完成快捷键都是事先定义的,而且都是静态的。netbeans没有的是,你自己创建的类名,field名已经变量名都是自动完成的对象!比如:
Connection dbconn;

dbc(ctrl+space) 就会自动完成dbconn

还有就是eclipse的自动完成还可以帮你自动创建class和method
MyClass mc = new MyClass();
mc.run();
当这个MyClass根本不存在的时候,自动完成会自动帮你创建MyClass类和run()方法,当然,自动完成还有一种经常发生的情况是拼写错误,eclipse会自动列出拼写最接近的几个类名/方法名/变量名让你选择,快速修正错误。

eclipse的intelisense和autocompletion都是大小写不敏感的,虽然java程序命名有一定的习惯,但是有时候还是有些区别,比如到底是XMLUtil还是XmlUtil,不同的人写出来还是有些差异,在netbeans里面,大小写必须完全一致,才能自动完成,而eclipse里面,不管你输入的是大写小写,这个名字始终存在,当你选中以后还自动帮你纠正大小写问题。

导入:
netbeans和eclipse都支持自动导入,比如你用了一个File f = new File("a.txt");
用netbeans和eclipse都会帮你自动import java.io.File;,但是netbeans的import完以后,由于文件头部的行数发生变化,导致所有代码的行的位置也都一起移动,使得你copy一段代码到你程序以后,一旦import,你不得不往上/下翻滚屏幕找你的代码,而eclipse默认就将import部分折叠,不管添加或者移除import都不会影响代码的位置。

Exception handling:
eclipse会在写程序的时候就告诉你哪里发生了exception,并且会自动生成throw语句或者try/catch语句,当你在try里面写出了含有新的exception的代码的时候,会自动添加一个catch,关键是,把Exception的名字都帮你写好了,netbeans则完全没有提示,非要到编译了以后,再回来找哪里没有try或者没有throw,就是从下面的console display区域copy这个Exception的名字也经常不成功。

随着eclipse新版本的发出,netbeans的优势越来越少,从eclipse con2005的结果可以看出,bea、borland、sybase都加入了elipse的董事会.  目前大概唯一用得到netbeans的地方是调试别人的jsp程序,因为netbeans自带了tomcat(tomcat也是在sun的主导下开发的),其他的,我实在看不出有什么比eclipse强的地方。每次升级jdk都导致netbeans不能运行,因为netbeans在/etc/netbeans.conf里面写死了jdk的文件的绝对地址,非要手工用文本编辑器修改这个文件才能让netbeans启动正常,而eclipse几乎不受jdk版本升级影响。

综上所述,你现在明白我为什么用了大半年netbeans之后,又转到了eclipse上了吧,我这里写的都是些很粗浅的功能,但是已经可以见得端倪,我相信更多高级功能的开发上eclipse还会有更多的优势,比如MDA和AOP的实现等。虽然netbeans的出现比没有netbeans以前已经使得java开发更迈进一步了,但是仍然无法吸引很多程序员,尤其是微软的程序员加入java的阵营,和vs.net相比,netbeans确实太慢了,而且即不好看,也不好用,甚至有点让人望而生畏,还让人以为java就是和netbeans一样消耗资源和速度慢的象征。swt的分歧只是一个借口而已,很多程序根本就没涉及到图形界面,就算用了GUI,eclipse下仍然可以用swing开发,写java程序是实实在在的。java要想吸引更多的程序员加入,一个易用的IDE是非常重要的,就这点来说,我投eclipse一票。

 ilcj 回复于:2005-05-04 20:28:19
顶!我开发J2EE也在ECLIPSE下,主要是速度快,界面很舒服

 adam2003 回复于:2005-05-04 21:00:10
同感

 wolfg 回复于:2005-05-04 23:44:32
同意

 blade134 回复于:2005-05-05 09:10:20
E和N谁好这个争论已经持续了很多年……

 yuandong 回复于:2005-05-05 23:29:56
那jbuilder和eclipse那个好用呢

 wolfg 回复于:2005-05-05 23:35:04
自己学习、研究还是用eclipse吧,免得盗版之嫌

 jamesbang2003 回复于:2005-05-07 20:08:15
好,顶

 niao5929 回复于:2005-05-08 15:14:24
好,顶

 whucspanda 回复于:2005-05-10 00:06:54
好像就只看到我这个初学者还在用NETBEANS
除了一个慢字以外,我觉得还是很好用的.
在可视化编程方面还是不错的.
我的机器也不是好机器,3年前的机子,P41.8,512M的条子,跑起来还行,
可能是没有用过其它的吧,但总体感觉是很好 的.

 phiazat 回复于:2005-05-11 12:44:47
我也是刚转到eclipse下,下载后解压缩后不能运行阿,我的path,classpath,java_home都设置的没有问题啊!
jdk是用jbuilder9上面的阿!

 flashkkk 回复于:2005-05-11 16:23:18
JBuilder比E怎么样? 想听听。

 BetonArmEE 回复于:2005-05-14 18:27:23
什么时候也谈谈“用UltraEdit与弃vi”
嘿嘿~

 single64 回复于:2005-05-14 19:53:59
NetBeans在GUI的设计上要方便点
其他的我还是喜欢eclipse

 perryhg 回复于:2005-05-15 06:40:47
在gui方面因为目前版本的visual editor(VE) 似乎和eclipse 3.1不兼容,所以我一直没怎么用,不过看看jigloo http://cloudgarden.com/jigloo/index.html 似乎是个非常不错的gui编辑工具,即可以开发swt,又可以开发swing

 perryhg 回复于:2005-05-15 06:45:17
且不说不同平台的问题,vi的终端窗口编辑的功能恐怕还没有很好的可以代替的方案.

 sleep_meng 回复于:2005-05-15 20:23:07
用什么工具都一样,只要自己觉得好用就行,因为每个人都不一样,为什么还要争来争去的呢?有时间在这里争那还不如多去看点东西呢!

 sumendala 回复于:2005-05-17 17:04:05
呵呵,我在window2003上用netbeans感觉还可以。。。没用过eclipse,我现在在我的笔记本上也装了netbeans4.1啦。。。

 andersonmao 回复于:2005-05-29 21:01:58
还有Eclipse功能强大的[color=#3333FF:65ee890644]插件plugin[/color:65ee890644],如xmlbuddy,lomboz etc.
还有Eclipse的[color=blue:65ee890644]Refactor[/color:65ee890644]功能。

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有