background image

稳定性与完善程度:

VC 是老大哥

  VC 要比 Delphi 稳定和完善。VC 的发展历史比 Delphi 长,微软的总体实力比 Inprise 强 。
VC 的框架 MFC 经历了那么多年的发展和完善,功能非常全面,而且十分稳定,bug 很
少。其中你可能遇到的

bug 也更少。而且有第三方的专门工具帮助你避开这些 bug。如此规

模的一个类库,能做到这一点不容易。不要小看了这一点,很多专业程序员就是为这个选

VC 的。因为尽管 VCL 比 MFC 的抽象程度高,封装较为高层,但由此带来的开发效率

的提高对高手来说毕竟是有限的。而如果你遇到一个怪问题,调试了半天,发现不是你的
代码有错,而是

VCL 的 bug,你作何感想?虽说遇到这类问题的可能性很小,但对 VCL

的形象的影响可不小。

Delphi 的 IDE 太占资源,启动速度太慢,和某些显卡驱动程序冲突,

VCL 中有 bug,调试器不够健壮,对不稳定的第三方控件没有防护措施 

…… 问题多多,

在这方面

Delphi 不如 VC。希望 Inprise 能更上一层楼。顺便说一下,我们在网上看到有些

人极言

Delphi 的不稳定,说几分钟出现 20 多次非法操作。Delphi 的确不如 Visual C++稳

定,但也不至于如此呀。我估计是那位朋友的

Delphi 装了某些有问题的第三方控件,导致

Delphi 的频频出错。不妨卸下那些控件试试?

可移植性:立足现实,放眼未来

  Inprise 正在开发 Delphi 的 Linux 版本,代号为 Kylix。也许通过 Kylix,用 VCL 构架编写

Windows 程序向 Linux 移植成为可能。但这只是可能。因为在目前 Inprise 的兼容性工作

做得并不好。低版本的

Delphi 不能使用高版本的 VCL 组件,而高版本的 Delphi 竟然不能

使用低版本的

VCL 组件。真是岂有此理,我们很少看见软件有不向下二进制兼容的。如果

Windows 98 不能运行 95 的程序,Windows 95 不能运行 3.x 的程序,Win 3.x 不能运行
DOS 程序,你还会用 Windows 吗?如果 Windows 95 的程序必须经过重新编译才能在
98 下运行,98 会卖得那么好吗?"同门兄弟"C++Builder 和 Delphi 也不能互相使用对方的
组件,甚至同一套

VCL 库的文件名也不一样。所以一个组件有 for 

D1/D2/D3/D4/D5/C1/C3/C4/C5 这些不同版本是常有的事,而且随着 Delphi 和 C+
+Builder 版本的升级可能还会增加。希望 Inprise 能先解决同门兄弟的兼容性问题。而微软

VC 就没有这类问题。MFC1.0 的程序也可以毫无障碍地在 VC6.0 下编译通过。

集成界面:宏观与微观

  就大处说,VC 的集成界面是不如 Delphi 的。Delphi 仅仅一个 Object Inspector 就可以将
VC 的一堆 Wizards 比下去,何况它还有 Code Explorer、ToDo List 等。但从小处,又可以
看出

Delphi 的不成熟。比如"自动完成"功能的智能化程度和提示详细程度不如 VC,响应

速度也没有

VC 快。 

  Visual C++所带的 MSDN 是一部"开发者的百科全书",信息庞大,查询方便,这方面比
Delphi 更专业。很多帮助项都有源程序示范。 

  Delphi 的 OpenTools 是完全面向第三方的开放系统,开发者可以修改很多 Borland 公司
自身的功能,从

IDE 的可扩充性上说 Delphi 更好。