终于看到了传说中的Delphi9以及我的一些感受

类别:Delphi 点击:0 评论:0 推荐:

下午2:00,来到了在北山路上的香格里拉饭店参加
李维的高效率delphi.net讲座,会厅不算大,但是座无虚席。
在整个讲座中,李维一再的重申,.net并不比win32慢,
以在.net下开发要注意的一些效率问题为
重点,并且现场演示了一些delphi.net的例子,
用来说明一些在.net下开发应用程序应该注意的
问题,这些问题都与应用程序的效率有极大的关系(比如CLR的JIT以及GC,String,Boxing/unBoxing,multiThreading)。

在整个讲座的最后,李维现场向我们展示了Delphi9,更确切的说
应该是BDS3.0, 启动的时候看到Delphi9开始load n多个包,在splash中
可以看到C#Builder2.0,ECO for asp.net等等,load完了进入主界面,
总的风格和Delphi8没有什么大的变化,

新建项目的时候可以看到n多的向导,包括delphi project页(就是win32),delphi.net页,eco application页,eco for asp.net页,C# application页,
vb.net application页,TDD页(也就是Test Driven Develop,里面有test
unit,test case等向导)以及其它一些等等。
在主菜单和编辑器的右键菜单里都有refactoring功能菜单,
李维演示了Declare Variable和Extract Method功能,

在model view部分,delphi9比delphi8的建模能力有了进一步的增强,
虽然看上去好像uml里面的use case diagram和sequence diagram都没有得到支持(这点上来看和together for vs.net还差的远),但是class diagram终于
有了读写能力,也就是和代码的双向同步能力,代码的变动会自动反映到class diagram,在class diagram中直接画类图也能够自动的生成(修改)代码,这在Delphi8中只能在ECO application中才能做到,但是现在普通的application也可以。

在语言上,Delphi9新引入了inline关键字(这个功能我想不说也知道吧?呵呵,感谢Borland,终于引入了这个功能),win32编译器的优化能力得到进一步增强,号称达到或接近vc的程度,for in(相当于C#中的foreach)也加入了(但是为了效率,最好还是少用为妙),我问了李维,.net中的attribute没有被加入到win32中(可惜)。

在代码编辑器中,除了refactoring以外,在Delphi8的基础上,新加入了一个HelpInsight功能,把鼠标放在一个变量名或者类名上,就会出现一个tip窗口,说明了这个变量是什么类型,在哪个单元几行几列里声明的,以及这个变量的简单注释(当然我想这个注释应该是在定义变量的时候用xml tag写的吧,就像在VS.net中一样,其实这个功能应该是向vs.net学的,但是做了一些改进,出来的tip窗口很pp^_^,但是我在李维的机器上试了一下,在函数声明上一行按了'///',Delphi9并没有像vs.net那样自动跳出xml tag, 唉,borland,为什么这么小的功能,你却不肯做???)。Delphi9的Parameter Insight Window还是和Delphi8一样的
丑,遇到很多overload的函数,这个窗口又丑又长,如果显示器的分辨率低于1152*864,很容易把当前在写的光标所在的位置整个遮住,根本没法继续写代码,我印象中MessageBox.show()就是一个例子,Delphi8出来的时候在borland新闻组中早就有人提出这个问题,但是很奇怪为什么borland一直不纠正这个问题???美观不说,实用总得解决吧?
SynEdit是代码编辑器中另一个新的亮点,就是代码同步编辑功能,这个我想用过C++BuilderX和JBuilder的应该知道这个功能吧,选中一段代码,进入同步编辑状态,修改一个变量名,选中区域中其它出现这个变量的地方会自动跟着修改,比较方便。

TDD方面,李维没有作演示,我也没机会探究,但是问了他,他说在正式版出来之前,TDD应该还会有加强,不会只有目前的test unit和test case两个向导。

在MDA方面,ECO终于支持asp.net了,前不久我听说现在在.net上,90%以上的应用都是asp.net,所以如果ECO不支持asp.net,那这么好的东东,除了学习,实用的意义就少了很多,写asp.net的有福了:)

其它功能比如和caliberRM,StarTeam的集成李维没有演示,也没机会看到,不知道比起delphi8在集成度上会不会有所提高。

粗看之下,我个人总的印象,整个IDE的细致度好像还是不太够,
我想这个版本要想彻底挽回delphi开发人员的流失,好像还是有点难度,毕竟吸引人的新的feature还是不够多,像refactoring和unit testing现在的delphi7加上第三方专家都早已能够实现,希望borland加油。

最后,强烈强烈强烈希望DevExpress公司开发Delphi9上的CodeRush!
用过CodeRush,再回到没有CodeRush的环境下实在太痛苦了~~~!

本文地址:http://com.8s8s.com/it/it4971.htm