- 论坛徽章:
- 0
|
Java不如C#
既然讨论到了ide,我来谈谈我的感想吧。
vs.net 做asp.net 的webform的确是非常简单,没见过做web程序有比这个更简单的。
vs.net写gui应用程序也的确简单,把drag n drop几乎做到了极致。相比之下,eclipse3.1+JDT我还没有成功运行过ve,只有一个jigloo还是不错,但是比起vs.net类似于vb的gui编程,还是差很多。
不过,eclipse还是有很多有特色的地方是vs.net比不上的。
vs.net很愚蠢的一点,如果你在project里面include其他project,这个include的顺序需要手工指定,vs.net不能自动识别,否则不能编译,这个eclipse完全自动寻找project dependency,不用担心顺序问题。
dependent的project的引用在vs.net里面只认可dll,所以在dependent project的代码修改之后不能马上反映到当前project里面,一定要先单独编译dependent project生成新的dll以后才能使用新的修改。eclipse里面没有这种限制,所有源代码修改可以立即反映到当前project来。
自动import,在eclipse里面如果用到哪个class需要import了,eclipse会自动import,我不需要记住某个特别的类在哪个package里面,eclipse自动帮我完成,有名字重复的还会让我选择,比如java.sql.Date 还是java.util.Date, 尤其是当你从其他源代码文件里面copy代码的时候,它会自动记住原先使用的package,连选择都不用了。而vs.net里面我还是不得不手工输入 using System.Text;
重构(refactoring)
eclipse和netbeans都支持重构,简单得来说,如果你修改一个class的名字,所有使用到这个class的相关类都会自动更改,同样,当你修改一个函数的参数,所有用到这个函数的文件和代码也自动更改,方便及了。当你copy整个java文件到自己的package的时候,eclipse会自动帮你更改package名字。这个功能在vs.net 2003里面还没有,当我copy一个webform到另外一个webform的时候,连class的名字都不给我改,痛苦极了。还好据说vs.net 2005里面会提供refactor功能。
自动try/catch 当你的程序需要try/catch的时候,eclipse会自动帮你完成try/catch的代码
最最显著的特点,eclipse在编辑代码的时候就显示出错有的语法错误,而且在右侧滚动条上将每个错误显示为一个红点,只要点击这个红点就能够非常精准得定位,省得你在一个很长的源码文件里面翻上翻下得寻找,而vs.net一定要编译后才知道哪里有语法错。
其他,eclipse可以和源代码管理系统如cvs/subversion/vss集成,自动check out/check in项目和代码,而vs.net只有vss集成,有个小插件可以和subversion集成,但是很不稳定,经常出错。
eclipse集成了ant可以把项目的编译,测试,打包,发布一体化,用一个命令就可以搞定。而vs.net要做测试,打包,发布则显得非常麻烦。
所以就我的经验来说,vs.net做webform,gui领先一筹,但是做coding和项目集成比eclipse还差得很远。
最后,不知道有人注意这个问题没有,vs.net做web开发要依赖IIS,而windowsXP和win2k pro版本的IIS只允许建立一个站点,你要开发另一个站点必须先删除原来的站点。这对于专门的网站开发的公司来说是个非常大的“打击”,每次换站点要浪费不少时间。非得让所有开发人员都用win2k server或者win 2003 server才行。 |
|