左轻侯
2003.10.20
在Borland发布C++BuilderX前后的这一段时间里,我在CSDN上陆续看到了不少关于C++BuilderX(以下简称CBX)的讨论。作为Borland中国公司负责快速开发工具和开发者社群关系的工程师,我认为我有必要对大家的一些疑问和猜测进行回答。
需要说明的是,我并没有得到Borland公司的正式授权来做这个回答,因此下列文字,不一定等同于Borland公司的官方观点;我只是把从我这个角度看到的一些东西,尽量和大家进行沟通。如有错误或不当之处,还请不吝指正。
CBX诞生的背景
就我所见,网上对CBX的问题主要集中在这几个方面:Borland公司出于什么动机开发CBX,它与C++Builder的关系怎样?CBX的framework详情如何,与VCL的关系怎样?Borland公司对CBX的定位和长期计划是什么?
要回答这些问题,首先必须从开发CBX的背景说起。
如大家所知,Borland公司在2003年发布了一系列的新产品,其中在Windows/.NET平台的开发工具就有三个:Delphi.NET、C#Builder与CBX。这些新产品的推出,表示着Borland公司在Windows平台下的开发工具阵营发生了大的变革和分化。而这些变化的发生,又根源于操作系统本身的一次深刻的革命,即从Win32平台到.NET平台的全面过渡。
根据我的所见所闻,国内有不少技术人员仍然对这一转变没有足够的认识。简言之,Microsoft公司已经下定决心,将操作系统从Win32全面转向.NET;逐渐地,Microsoft不会再提供新的Win32 API,未来操作系统的新功能将全部以.NET SDK的方式提供;从企业级服务器,到桌面系统,再到嵌入式系统,.NET将是Microsoft公司解决方案中的统一的编程模型。虽然这个转变缓慢、艰难、痛苦,但这是历史潮流的方向。无论你是否喜欢,除非你放弃在Microsoft平台下的开发工作,否则就只能适应它。
这一转变给Windows平台的开发工具厂商带来了很大的挑战,Borland公司也不例外。目前的形势,就和当年从DOS过渡到Windows的情况差不多,整个操作系统与编程模型与发生了彻底的变革。Borland的Delphi和C++Builder都深深植根于Win32平台,面对这一转变,必须作出积极的反应,才能求得生存和发展。Borland公司确实也做出了这种反应。
正象大家看到的那样,Delphi的方向是和操作系统一起转向.NET平台,其结果就是Delphi.NET的诞生,它将和全新的C#Builder一起,成为 Borland公司在.NET平台下的主力开发工具。(但Delphi仍然保留了在Win32下进行开发的能力,因为Win32平台下的应用程序在未来相当长的一段时间内会继续存在。)
至于C++Builder的方向,在Borland公司内部进行过讨论,结果大家应该已经猜到了,那就是C++Builder并没有向.NET靠拢,而是坚持走原生开发工具的道路,并且扩展到了多个平台、多个编译器。原来C++Builder和Delphi一起,由同一个RAD开发小组进行开发,这也是为什么C++Builder和Delphi总是交替升级版本的原因之一。Borland在做出这个决定以后,成立了新的C++/Mobile开发小组,C++开发工具从此和Delphi分道扬镳。
Borland为什么做出这一决定,有多种原因。首先,原生C/C++开发仍然是最重要的市场之一。在Microsoft以外的平台上,无论是服务端的Unix/Linux,还是越来越热门的嵌入式系统,C/C++仍然是挑大梁的语言。即