程序员不得不写得(一):Eclipse, VS.net, CSharpDevelope

其实用这个标题是为了从IDE入手,不为什么,只是想记录自己的想法。
说实话,Eclipse和VS 2005是我见过的最好的IDE(虽然前者已经开始超出这个范围),而SD(sharpdevelope)是我觉得写的很好的代码,在设计

思路上可以和Eclipse媲美。先说Eclipse,这个工具据说是(我没有考证过)因为当年IBM的Visual Age的开发人员在公司内部不能有发挥抱负
的机会,几个人出去自己搞的一个项目,真的是很牛的程序员阿,把面向对象的编程思路发挥到了极至,并且也因为Java这种基于虚拟机解释

执行的语言,再加上这些牛人大大自己多年开发程序的经验总结,终于设计出如此完美的平台工具集合。 先不说其界面的美观华丽(谁说Java

不能作华丽的界面阿,不过它确实不是用java自己的swing,而是Eclipse有自己的界面组件包),就Eclipse的人性化编辑环境,非常符合编程

人员开发,它针对不同的开发要求可以有不同的perspective(可以说是用“视图”搭成的用户开发环境),例如开发Local

Java程序有Javaperspective,开发J2EE应用可以有J2EE视图(其实Eclipse上面没有这个视图了,哈哈,WebSphere 才有的),其工作空间的概

念也比较不错(其实可以进一步改进成和vs.net的解决方案的文件保存形式,不用每次启动重新选择工作空间了)和目录对应起来,能够实现

这些都是因为Eclipse地层的Core Plugin-System。正因为如此,也越来越多的Java开发人员都在使用Eclipse,Eclipse也因此超越了JBuilder

,成为开发人员的开发利器。实际上,根本的原因是因为Eclipse是开源的(真不知道是福是祸啊),使的它变的无所不能,要开发什么就只要

为它开发插件工具就可以了(称为Eclipse based tools),IBM的策略,司马昭之心啊!
Visual Studio 2005 还只有Beta版本,最近用了几天,感觉非常不错,说说几个体会:
1、是它在设计时上的改进,当真是比以前好用多了(M$一向都是在这方面领先别人的),设计界面的时候可以有提示布局的功能,而且改进了

通用组件设计器,明显的一个例子是改进了原有的资源编辑视图和对象浏览视图,还添加了一些新的设计组件。另外,在编辑视图Panel上有点

学Eclipse,出现下拉视图,不再是简单的“左右移动了”。Eclipse还有一个更绝的地方,因为现在很多View中需要显示的东东都非常多(例

如一个UML图例),所以它多了一个放大镜功能;不过两者都没有实现分组,其实对View分组我认为是很Powerful的功能,就象Windows Xp的任

务条里面对相同的程序窗分组一样,会很方便开发人员的(其实现在vs.net和Eclipse都已经越来越向Platform发展,所以使用的人已经不局限

于开发人员developer)。
2、是在Smart Editor方面的改进,真的很好用啊,编码速度绝对快N倍(只是编码速度,不是开发速度,哈哈)。例如对输入的即时提示的功

能,不仅速度快(SD和Eclipse在这方面就太差了),而且提示很全(本地变量、函数参数终于也有提示了,哈哈)。另外编写时在Editor的左

边Margin位置加入了颜色提示区域(这个应该是学习Eclipse的吧)。最后是调试了,调试里面加了好多新东西,Watcher、即时提示、记录路

径等等。
3、应该是NET2.0对NET1.1的改进,名字空间的修订,Collection.Generic、模板、片断类(在设计中多用到)、匿名代理(很好用的,例如解

决跨线程访问)、对event的函数接口设计等等。虽然没有全用过,但是真的是振奋人心啊。
4、说说几个不足的地方(也许只是Beta版本的问题):对内存的消耗多(相对Vs2003);好像程序配置上复杂起来(没有全用,但不象M$的作

风啊);好多2003的工程都不能升级(致命的问题啊,希望是Beta的Bug),反正我的好多程序都转不过来。

最后说说SD,相对前面两个庞然大物,它实在不算什么。但是我一直都是搞MS的东东的,所以对Eclipse的源代码看起来很费力(其实还没能力

看了,先等等吧),VS2003又没有开源,只有SD了,非常佩服Miker Gruer,看了他的代码,我的第一感觉是和Eclipse的机制非常相似,特别

是Plugin机制和ServerManger的思路,连pulgin.xml(Eclipse的插件描述文件)和***.addin(SD的插件描述文件)都如此相似。我都怀疑Miker本

人原来是写Java的高手,因为,SD的编程思路里面充满了AOP(面向切面编程)和IOC(控制反转)的机制,这应该是从Java的许多成熟项目里

面得到的启发(或者本来.NET就是因Java而其,都是基于解释的面向对象语言,AOP和IOC还有SOP--面向服务编程--都将是它们的最终发展结果

)。我想,在不远的将来,AOP、IOC、SOP会是程序员里面编程不得不采用的机制。
关于Eclipse和SD开以在www.eclipse.orgwww.icsharpcode.net找到源代码。不过,国内好像对它们研究的机构或者人员都很少,希望以后能

看到很多研究它们的文章。hehe。

 

posted on 2004-09-17 15:46  无极无限  阅读(1300)  评论(1编辑  收藏  举报

导航