)来说,窗体设计器是一项独特 的功能.一些更为经典的开发环境,如 VC++和BC++,都提供了对话编辑器,但却没有将窗体设计器 集成到开发流程中.由图 1-1的效率图可以看出,没有窗体设计器将会降低开发工具的整体效率.几年
下载
4
第一部分 快速开发的基础
来,Delphi和Visual Basic在完善窗体设计器的功能方面展开了激烈的竞争.它们的新版本功能一个比 一个强. D e l p h i的窗体
设计器的与众不同之处在于, D e l p h
i是建立在一个真正面向对象的框架结构基 础之上的.这样,你对基类所做的改变都将会传递给所有的派生类.这里涉及的一项关键技术就是 VFI(visual form inheritance),即可视化窗体继承.VFI技术使你能够动态地继承当前项目或对象库中的 任何其他窗体.一旦基窗体发生改变,派生的窗体会立即予以更新.在第 4章"应用程序框架和设计" 中有对这一重要功能的详细解释. 1.2.2 编译器的速度和已编译代码的效率 快速的编译器可以使你逐步递进地开发软件,经常地修改
源代码,重新编译,测试,再修改,再 编译,再测试 . . . . . .形成这样一个良好的开发循环.如果编译速度很慢,开发者就不得不分批地修改代 码,每次编译前进行多处修改以适应一个低效率的循环过程.提高运行效率,节约运行时间,生成的 二进制代码更为短小,其优越性是不言而喻的. 也许Pascal编译器最著名的特点就是速度快,而 Delphi正是建立在这种编译器的基础之上的.事实 上,它可能是针对 Wi n d o w s的最快的高级语言本地代码编译器.以往速度很慢的 C + +编译器在近年来 取得了很大的进步,增加了链接和各种缓存策略,尤其是在 Visual C++和C++Builder中.但即便如此, C++的编译器还是比 Delphi的慢了几倍. 编译速度一定能与运行效率成正比吗?当然不是. D e l p h i和C + + B u i l d e r共享同一种编译器后端, 因此生成的代码等效于由一个优秀的 C + +编译器生成的代码.根据最新的可靠评估标准, Visual C++ 在许多场合都被认为在编译速度和生成代码长度方面是最有效的,这得益于一些极为有力的优化措施. 虽然对通常的应用程序开发来说,这些细小的优越性难以被注意到,但如果你正在编写复杂的计算代 码,那么它们就会发挥作用. Visual Basic的编译技术有点特别.在开发过程中, V B以一种集成的方式运作,而且反应相当敏 锐.这种编译器速度比较慢,生成的可执行代码的效率也远远不及 Delphi和C++工具. J a v a是另一种有趣的语言.最新的基于 J a v a的工具语言 J B u i l d e r和Visual J++自称其编译速度能赶 得上Delphi,但是生成代码的执行效率却不尽人意,因为
Java是一种集成语言.虽然Jave在稳步地前进, 但在大多数场合,其运行速度却仍与 Delphi和C++相距甚远. 1.2.3 编程语言的功能及其复杂性 在旁观者的眼里,一种语言的功能和复杂程度是极为重要的,这也是许多争论的热点.对这个人 来说简单的东西,对那个人来说可能很难;对这个人来说功能有限的东西,对另一个人来说却可能是 非常完美的.因此,以下几点仅源于作者个人的经验和体会. 从根本上来说,汇编是一种最有力的语言.用它你几乎无所不能.但是,即便是用汇编开发最简 单的应用程序,难度也非常大,还
可能一无所获.不仅如此,要想在一个小组开发环境中保留一段汇 编代码,不管保留多长时间,有时也是根本不可能的.因为代码从一个人传给另一个人,再到下一个 人,设计思想和意图越来越不明朗,直到代码看起来如同天书.因此,我们对汇编的评价很低,它虽 然功能很强大,但对几乎所有的开发者来说都太复杂了. C + +是另一种极为有力的语言.在它的潜在功能 (如预处理器宏,模板,操作符加载等等 )的帮助 下,你几乎可以使用 C + +设计你自己的语言.只要合理地使用其丰富的功能选项,就可以开发出简洁 直观,易于维护的代码.然而,问题是,许多的开发者总滥用这些功能,这就很容易