visual
Microsoft Visual Studio.NET及Borland Delphi6初探
最近安装上了Visual Studio.NET和Borland Delphi6这两个号称下一代编程环境的东东,感觉新东西实在不少,下面就说说我的感觉。
首先说Visual Studio.NET的安装。Microsoft在这方面的霸气一直不改,我还记得当初装Visual C++5.0的时候,本来我已经有了中文版的IE3.0,可是他一定要我先装一个英文版的IE3.01,否则就不允许继续,真是不给面子。到了Visual C++6.0的时候又是如出一辙,只是IE3.01变成了4.01而已。现在更离谱了,要更新的东西一大堆,更新Windows2000 SP倒还可以理解,可是FrontPage Extension,Office2000 SP,SQL Server这些东西呢,如果我不需要它们的话为什么我就非更新不可?更何况我的IE5.5用的好好的,为什么非得用一个据说还有问题的IE6呢?就算是免费的,那感觉怎么也像是强行搭售。
安装Visual Studio.NET的时间实在是太长了,而且如果一旦出现错误的话,连Ignore的机会都没有,只能Rollback,再要重新安装的话简直就是噩梦。还有安装Comonent Update的时候一般都要重新启动2-3次,这也需要不短的时间。所以我建议无论如何都要用定制安装,那些你暂时还用不到的玩意(比如企业版的那些组件,学习的时候很少用到)暂时不要安装,以后还可以添加或者删除组件,否则这将是考验你耐心的绝好机会。还好安装过程中没有出现什么问题。
安装完成后,你会发现开始菜单里面没有出现Visual C++,Visual Basic和C#这些程序组,现在Visual Stuido.NET主程序成了所有开发环境的公用界面。打开IDE后,第一个观感是Microsoft放弃了自己一贯强调的3D界面风格,几乎所有的界面元素,包括菜单,工具栏,状态栏和页面标签等等都变成了Flat风格,新鲜倒是满新鲜的,是不是更加符合人机工程学呢我不知道,反正这样的风格过一段时间也会看厌的。
新的IDE从界面上看倒是没有太大的改变,不过很多窗口内容可以根据当前打开的内容动态改变,这也是为了适应多种编程语言的不同需求。从我这样一个Visual C++老用户的角度来讲,对这样一个界面多少有点失望,因为它更像是Visual Basic而不是Visual C++了。WizardBar现在找不到了,变成了类似于Visual Basic中的组合框。我现在还没有找到ClassWizard在那里。新环境有一个我非常喜欢的功能,就是编辑器中所有打开的文件都以选项卡的方式出现在编辑器上方,这样切换起来方便多了。(这一招多半也是从Delphi或者UltraEdit这一类的编辑器中学到的。)真希望Microsoft 能够修改Windows Logo标准,用MPI(Multiple Page Interface)代替MDI(Multiple Document Interface)算了。编辑器有一项新功能,就是能够用大纲方式显示类的内容,类的成员以及特定的注释都可以展开或者折叠,这对于分析类的结构无疑是很有帮助的,不过这个功能似乎只对C#项目有用。
我用新建项目生成了几个例子程序,发现用向导生成的Visual C++项目中,所有的注释都成了中文,包括readme.txt文件的内容也用中文,这个功能真是让我欢喜让我忧,作为中国人,我当然希望多用中文,不过有些东西翻译的不好的话还不如不译,比如CFirstApp Constructer我们都知道是什么东西,那么“CFirstApp构造”呢?Destructor翻译成“销毁”也实在差强人意。包括界面元素中,有些内容到不见得一定是翻译的不好,只是习惯了Visual C++的我实在是很难一下子适应过来,比如说Step Into/Step over我很明白它的意思,可是“逐语句/逐过程”呢,我只好靠猜了。计算技术语的翻译如何符合惯例而又易懂一直是个难题,不过以Microsoft的实力,应该有更好的表现才是,不知道正式版中能否有所长进。
我觉得开发环境似乎还有一些问题,比如我用向导生成Visual C++项目的时候,经常发现莫名其妙的“xxxx.h不是有效的C/C++文件”提示而无法工作,甚至对向导生成的设置没有做任何改变的时候也是这样。
结论:虽然还远不像一个成熟的产品,不过秉承Microsoft一贯的风格,Visual Studio.NET应该说还是比较易学易用的,作为Microsoft投注大量精力的下一代开发环境,不论你是喜欢Microsoft还是讨厌它,你都应该去了解Visual Studio.NET。
Borland Delphi6的安装倒是和以往没有多大不同。那个Splash Screen的风格变得朴实了,令我想到Microsoft Visual Studio.NET风格从3D到Flat的回归,是否返朴归真是软件业今后的方向呢?
我一直听到Delphi6启动速度太慢的抱怨,就我的经验来说,启动Delphi6大概要用13-20秒的时间,比起Delphi5用6-10秒而言,这个速度的确慢了一点,不过还算不了什么(我用的机器是thunderbird800,256M)。用默认的空项目编译了一下,只用了1秒钟左右,而且第二次编译几乎不需要时间。(我认为Delphi的编译速度绝对应该是引以为傲的,特别是对经常需要调试的程序员来说意义重大。)
Delphi得主界面看不出有很大变化,唯一比较显眼的是Object Inspector的旁边多了一个Object TreeView,它的作用还有待研究。看一看组件面板,发现在不变的表面底下,实际的变化还是满大的:Addtional页面多了几个组件,分别是ValueListEdit,LabeledEdit,ColorBox和几个和ActionList有关的组件。其中LabeledEdit大概是最有用的了,因为在常见的程序中,几乎所有的Edit旁边都会有一个Label来指明这个Edit的作用。数据库组件的变化更大,许多原先的组件现在分别移动到了BDE和DataSnap页面中,而且多了一个dbExpress页面,dbExpress对于Linux下的数据库应用应该说是至关重要的。网络方面,多了WebService和WebSnape几个页面,还多了很多Indy组件,这些组件的作用我不大清楚,不好置评。Servers面板(就是和Office相关的组件)中多了很多东西。特别值得一提的是Samples中多了ShellTreeView,ShellListView和ShellComboBox这几个组件,对于想编写资源管理器程序的朋友来说真是天大的好消息。
界面上其他方面的变化还有菜单众多了一个Window菜单,切换窗口更方便了;另外代码编辑器中也增加了多页选项卡的方式,除了我们常见的Code Edit页面外还多了Diagram页面,应该是用来分析程序机构用的吧,据说在开发网络应用的时候还会有更多的页面。Object Inspector中也有一些小的变化,组件选择框中现在不止显示组件的名称,而且能够显示组件类型;属性列表中现在也用不同的颜色显示特定的属性,虽然我还没有搞清楚这些属性是如何划分颜色的。
功能方面,尽管我没有时间仔细研究,不过看起来很多功能项都和网络应用有关,看来Borland是在努力增强这方面的功能。另外我注意到的是帮助文档也发生了变化,很多主题都同时有VCL和CLX两个相关内容,Borland在跨平台上的确实下了不少功夫。(附带说一下,我认为Borland VCL框架设计上很好的一方面就是跨平台性非常好,容易移植;相对而言,MFC这样的框架几乎没有什么跨平台性可言。)就我以往的感觉,Borland产品有三个比较大的缺点,一个是稳定性有待提高,经常发生由于硬件不兼容,或者安装了某些第三方组件,或者其他一些奇怪的原因而崩溃;二是集成环境下的调试器比起Microsoft的还略有不如;三是文档不如MSDN详细。希望Borland能够在这几个方面多下功夫,从测试版的角度来说,应该讲Delphi6的表现要好于Visual Studio.NET,希望Borland再接再厉,Delphi6的确是非常值得期待的产品。