两次24 Hours活动
2005年7月13日,Borland的Developer Relations组织了一次盛大的24 Hours of Delphi在线广播节目。David I和John Kaster他们熬了一整天,为我们带来了丰富的节目内容。所有的录音(除去插播的音乐)可以从这里下载到。当然,很多老外的口音(特别是欧洲口音)让我感觉十分的新鲜。我必须承认为了正确理解Marco Cantu的Italy口音,我花了几个小时反复听。感觉这绝对是练习英语听力的绝佳材料。这一次的主题自然是才发布半年的Delphi 2005了。Dale Fuller离开之后继任CEO的Scott Arnold先生也作客了一小段。在上面给出的下载地址还贴有不少Delphi名人的照片,值得收藏。特别是Danny Thorpe先生的一张,似乎也是他在Borland网站上留下的最后影像。
很快我们又从李维先生的博客上面知道了关于DeXter的最新消息。不过,据说因为泄露了这些消息,Borland总部还立即发了警告给先生,搞得他忍不住又在博客上面抱怨了几句。
换了CEO之后的Borland风格上从整体上说是转变得更加灵活了。既然大家已经开始如此的关注DeXter,不如就此开始对于DeXter的宣传攻势。因此很快Developer Relations很快又组织了另一次24 Hours节目,即24 Hours of DeXter。这一次日期选在了10月24日,时间上距离11月的Borland Conference很近。由于此时多数Delphi资深人士已经得到了DeXter的测试版本,所以从录音中就可以得到关于DeXter新特性的种种描述和即将到来的Borland年会的消息,对于没有机会参与测试计划的我来说是极大的诱惑。
相比较而言,第二次活动的组织更加成功,参与访谈的专家数目大了不少(似乎这也是没有挂出相关人物照片的缘故,有点遗憾)。虽然划分下来每个人的时间都不是很多,但是内容更加丰富。我个人自然还是最喜欢Marco Cantu,Danny Thorpe,Allen Bauer以及Castalia作者Jacob Thurman四个人的访谈。特别是Danny很快的语速以及Allen懒懒的声音。
这两次节目中,Borland及其技术合作公司(Borland Technology Partners)提供了丰厚的奖品,实在很诱人。可惜由于时间的缘故,我都错过了。希望下一次我可以收听到直播并且提出自己的问题,而且碰碰运气,看能不能中个奖。
BorCon05
Borland Conference 2005也是一次特别的年会。Borland第一次使用了Camtasia软件来为不少Seesion录像,比如Marco Cantu的The Fun Side of Delphi。由于可以下载观看,所以又弥补了不少不能亲临现场的遗憾。
Delphi 2006发布
Delphi 2006也终于在12月初发布了。可以说这一次的IDE,也就是Borland Developer Studio 4,是最近多个BDS版本中最为稳定和优秀的。
1. 这自然是因为Borland终于在R&D中设置了专门的质量保证部门和质量保证人员。而且Delphi 2006的新特性集合很早就封闭了,转而花了很长的时间从各个方面来改进Delphi的稳定度。
2. 随着对于BDS核心的改进,个性之间也更加独立,可以使用不同的启动参数分别启动,而不再是只能一次就加载全部的个性内容。
3. 模仿.NET 2.0中WinForms设计器对VCL作出的辅助设计功能Live GuideLine极大的简化了窗体上摆放控件时难以精确定位的问题。十分常用的对齐面板现在终于可以下岗了。
4. 代码编辑时,新增的Live Template可以大大提高输入代码的效率。不过,这个功能在第三方工具如CodeRush和Castalia中都已经有类似功能了,所以,虽然好用却没有足够的创新。而且如何定制一个自己的Template在帮助文件里面更是只有错误的信息。只有在Borland Blogs上面才能找到正确的说明。
BDS 2006 Updates
关于BDS 2006的Update1,必须指出主要目的是让发布时还处于Preview状态下面的C++个性达到RTM的水平。这在后面的篇幅中会有详细描述。
而Update2出来之后,Borland仍然继续提供升级,连续发布了多个Hotfix来修正IDE中的臭虫,大大改进了用户的使用体验。
ECO III
ECO III也是很大的亮点,提供了可执行状态机的设计能力。随着一本免费ECO电子书的面世,学习ECO的又一波高潮出现了。另一本得到Borland内部首肯的ECO的书也可以在lulu.com上面买到。当然,李维先生最近也完成了自己的ECO书,估计很快就可以上市出售了。只希望届时先生可以再次光临武汉签名售书呀。
Together
我个人最喜欢的新特性自然是Together了。本来就试用过Together ControlCenter并且成功做出过报表的OO设计,轻松完成了一个实际项目的报表生成模块的设计。现在呢,Together for C#让我可以从架构上面对CBC进行重构,加入更多的设计模式。很遗憾Together的品质依然不是很稳定,同当初的Together CC还是有不小差距。
Together for Delphi的出现本来应该是令人十分高兴的一件事情。虽然从Delphi 7开始,多数Delphi用户都知道了ModelMaker,可是毕竟是第三方的插件,同IDE的融合还是不理想,需要不停的切换。而且在UML和MDA领域,Together的名气还是高出ModelMaker很多。Together如今融入IDE之后,使用上面的确是方便了太多。然而,对于长久以来的Delphi用户,让他们安装.NET框架和SDK,还有一个J#运行时,只是为了得到一个高级工具Together,实在有点说不过去。这也是为什么那么多用户强烈要求把大量不是那么实际的功能从Delphi的IDE里面拆除去。
UML发展了这么多年,而李维先生也是多次提到这是将来程序员们都必须掌握的一门技术。但是还是有那么多人做的小项目根本不需要这样学院气息的东西,所以没有办法在短时间内依靠Together打开低端市场。
其实很难理解Borland在自己的产品中内置了Together之后还要发布Together for Visual Studio。本来Together可以成为Borland各个IDE的独门利器呢。是与狼共舞吗?不要被狼咬伤才好。这就是Rational Rose不再支持MS产品的缘故吧。
Delphi 2006的销路似乎还不错,连JEDI Code Format的作者Anthony Steele在错过了几次升级版本之后,也升级到了这个新版。
下面是Delphi 2006的启动画面,同之前的几个版本都完全不一样,没有那么多ALM的色彩,而是换成了十分深沉的蓝与黑。不过,之前我下载试用过Together 2006 for Eclipse,所以对这一风格并不陌生了。
Delphi社区的贡献
在Delphi 2006中,凝聚了Borland的研发团队以及Delphi社区的共同努力。
如果你感觉Delphi 2006编译的执行文件运行效率高,那么你应该好好感谢FastCode项目和FastMM。前者改善了Delphi核心的RTL,使得Delphi 7之后一直没有太大变化的这一部分得到了很好的提升。这也是导致IDE启动速度明显加快的一个原因。而FastMM本来也是FastCode的一部分,不过其关注点放在了内存管理上面。可以说这也明显的改善了Delphi程序执行的效率。
值得提醒的是这两个项目都支持Delphi的老版本。通过安装Delphi Speed Up,可以提高Delphi 5/6/7/2005的启动速度,安装FastMM则可以让Delphi 6/7编译出更好的软件。所以,开始行动吧。
.NET 2.0,MS的杀手锏
Delphi 2005面世的时候,.NET 2.0就已经出了Beta版本。Borland也一直在关注这一技术趋势。到Delphi 2006确定于05年年末发布时,.NET 2.0正式版本还没有出来。那么,Borland面临一个很严峻的问题,到底是延迟Delphi 2006的发布时间,等到.NET 2.0出来还是发布一个支持.NET 2.0 Beta的开发工具。
由于很大程度上Delphi这时的用户群体还没有升级到.NET,所以,为了尽可能的争取Win32市场,Delphi 2006很难推迟——Delphi 2005没有完成的工作,急切需要一个新的版本来完成。因此第一个选项就被否定了。
发布一个支持.NET 2.0 Beta的版本,这样的工作感觉只有RemObjects那样的小公司可以做到——当然,我决没有贬低Chrome的意思在这里,Chrome还是一个很不错的新语言。而且,从一些渠道得到的消息看来,MS不允许Borland在Delphi的发布光盘里面包含.NET 2.0 Beta,而是要求用户自行到MS官方下载。你也知道,如果不是Borland光盘里面带有.NET 1.1,似乎我们不会主动去MS下载这些东西。所以,这个要求几乎就使得第二个选项变得十分不现实。我个人感觉这就是MS的惯用手段了,让它自己的Visual Studio 2005先行一步,让其他所有开发工具厂商被迫等待。
Danny Thorpe在24 Hours of DeXter中间也说得很明白,由于大量用户还是在使用.NET 1.1,而迁移到.NET 2.0上面还是需要时间的,所以,Delphi 2006不支持.NET 2.0也不是特别大的问题,只要Borland及时跟进,早日推出.NET 2.0的版本就能够跟得上。
因此最后的结果就是Delphi 2006还是搭配着.NET 1.1发布,在一个.NET 2.0风风火火的时候十分刺眼(我很反感现在机器上面有两个不同版本的.NET框架)。
Delphi for .NET编译器其实早已支持了.NET 2.0编译,而且似乎是从Delphi 8附带的dccil.exe开始就具有这一能力。关于详细的情况,我是从Marco Cantu的博客上面知道的,如果有兴趣,你也可以试试看。