VisualC++与Delphi/C++Builder之对照及未来的成长前景之我见
发布时刻: 2003-2-20 作者:秩名
因为Delphi与C++Builder同为Inprise公司产物,共享集成拓荒界面(IDE),而且
行使统一套VCL框架(这一点最要害),它们带的调试器、PVCS/TeamSource团队拓荒撑持
、数据库引擎及企业版中集成的其余高级功能等都是不异的,所以),你的MFC法式理论上用任何相符ANSI尺度的编译器均可编译经过过程。C+
+Builder 3以上版了这一功能,但它的提醒要等好几秒才出来,有时你不经意间把鼠标停在某一处,
也要等硬盘响好几秒,这可是在566Mhz的赛扬II上呀。不要笑我琐碎,有时一个拓荒工
具的成熟和易用,就是从这些小处所显示出来的。C++Builder作为RAD器械,理应强调易
用性。但与VC对比还显出不成熟。这是不应该的。
再来看看它们的可移植性。Inprise正在拓荒C++Builder和Delphi的Linux版本,
代号为Kylix。概略经过过程Kylix,用VCL构架编写的Windows法式向Linux移植成为概略。但
这只是概略。因为在此刻Inprise的兼容性工作做得并欠好。C++Builder可以编译VC法式
还要多谢微软行使尺度方式写MFC,而它自己各个版本之间兼容性却不太好。低版本的C
++Builder不能行使高版本的VCL组件(这还别去说它),而高版本的C++Builder竟然不能
行使低版本的VCL组件。真是岂有此理,我很少看见软件有不向下兼容的。若是Windows
98不能运行95的法式,Windows 95不能运行3.x的法式,Win 3.x不能运行DOS法式,你
还会用Windows吗?若是不是C++Builder的其余某些方面太出色,光是这个向下不兼容就
足以让我甩失落它。而且虽说经过过程绑缚编译器,C++Builder可以编译Delphi的Object Pas
cal代码,但C++Builder仍不能行使为Delphi拓荒的VCL组件。所以一个组件有for D1/D
2/D3/D4/D5/C1/C3/C4/C5这些分歧版本是常有的事,而且跟着C++Builder版本的进级可
能还会增添。但愿Inprise能先治理同门兄弟的兼容性题目问题。而微软的VC就没有这类题目问题
。MFC1.0的法式也可以毫无障碍地在VC6.0下编译经过过程。
再来看看它们的前景吧。现实上,手艺的提高在许多时刻是此消彼长的。当初Bo
rland的Turbo C和Borland C++几乎是独一的选择。微软的Quick C(此刻还有人知道这个
产物吗?)和Microsoft C/C++从来也没有成为过主流。但Borland C++又风行了若干年呢
?不久就被新崛起的Microsoft Visual C/C++压下去了。此刻的C++Builder又有后来居
上的态势,若是不变性再提高一些,bug再少一些,有但愿成为主流。但Inprise的总体
力量不及微软,这也是无可争议的。从C++Builder 5的Release Notes中的Known Issue
s部门,以及它们的匡助文档的规模和质量都可以看出。(哪个同类产物的匡助文档能和
MSDN比呢?)Inprise公司应从Netscape吸收教育,不要让C++Builder成为第二个Netsca
pe Communicator。(Communicator也是一度手艺领先,甚至曾占有了年夜部门的浏览器市
场,但仿佛后劲不足,而且 6.0 PR1、2中bug多多,此刻被IE压得抬不起头。)C++Buil
der是Inprise的旗舰产物之一,前景理当照样对照乐不雅观的,而且Inprise已经在向Linux
进军了,而微软还迟迟没有步履,岂非非要到Linux成燎原之势(概略已经成燎原之势了
)才会奋起攻下这个新兴市场?仿佛他们对Linux的立场与几年前对互联网的兴起的回响反映
迟缓有些相似。但后来......唉,真但愿Inprise不要步Netscape的后尘。C++Builder是
一个很有前程的拓荒器械。遗憾的是,Inprise公司Delphi的始创人已经跳槽到微软去主
持Visual J++项目了。但愿对Inprise冲击不会太年夜。微软的Visual C++的前景又若何呢
?Visual Studio 7.0不久就要推出了。不知能不能在连结不变性的同时在手艺的提高前辈性
上赶上C++Builder。其余,这一版本将增强收集拓荒的特征。看来微软虽然被判解体,
拓荒力量可是一点没打折扣。
就手艺(首要指应用框架)来说,C++Builder此刻领先于Visual C++。但多若干少
的不尽人意之处让我对Inprise"想说爱你不随意纰漏"。而VC尽管成长到今日已极端完美,
但MFC框架已是时过境迁了。若是弗成使MFC,此刻又没有合适的替代品。WFC是撑持组件
、属性和事宜的,但那是Visual J++里边用的;ATL也很提高前辈,然则用来进行COM/Activ
eX拓荒的;基于ATL的WTL也不错,怅惘长短官方作品,也未必比VCL提高前辈。微软比来提出
了C