发信人: love1974()
整理人: wenbobo(2002-12-24 09:19:54), 站内信件
|
Visual C++ vs C++ Builder 作者:[email protected] w
其实很久以前我就想写这篇文章,其原因一方面是因为笔者深深感觉到C++ Builder的确是一个先进与强大的程式开发工具,但更最重要的一点是,我深信C ++ Builder能给公司带来巨大了商业利益与生产力的大幅提升,我可以假装没看 到这几点,但是基於良心与责任我不能不花点时间来跟大家分享一下我的看法与 心得。
C++ Builder的前身是Borland C++,Borland C++ 所使用的 Application F ramework是OWL,而OWL以物件导向的角度来看,也的确比MFC先进很多(这在学界 早有定论),但是在市场上却叫好不叫座,直到Imprise(以前的Borland)推出 以VCL为Application Framework的Delphi之後,这才一炮而红。
虽然Delphi的VCL非常强大与好用,但是Delphi所使用的是OOPascal语法,和 C++不同,直到後来,Imprise才推出以C++为程式语言的C++ Builder,而其所使 用的Application Framework正是赫赫有名的VCL。
VCL的全名是“Visual Component Library“,它是一种新一代的Applicati on Framework,以元件化、视觉化为设计的方向。VCL的兴起,起源於OWL和MFC都 日见庞大与痴肥,不利於日益复杂的程式开发趋势,於是Imprise的设计小组决定 开发一套更物件导向化的Application Framework,使程式设计师能以视觉化的观 念、元件重用的观念来快速设计出各式各样的应用程式,将物件导向的威力与精 髓发挥的淋漓尽致,相形之下,OWL和MFC都只算过时与半子的Application Fram ework。
果然~C++ Builder一推出後,在微软的大军压境下以及人们西瓜靠大边的心 态下,仍然引起了一阵旋风,在News上许多程式师表示它们对C++ Builder的肯定 与激赏,更有人指出,根据经验,在微软的市场优势之下,Delphi和C++ Builde r仍能欣欣向荣,这表示Delphi和C ++ Builder的产品水准不是只赢微软产品几个 百分点,而是数十至数百个百分点,否则Imprise的产品早就消失不见了。
到底C++ Builder的特性与优点在哪里呢?这对於我们公司又有什麽利弊呢? 我的观点与分析如下。大家想一想,当我们使用Visual C++来开发程式的时候, 最痛苦的事情是什麽?答对了~那就是GUI的设计。根据经验,通常我们利用Vis ual C++开发一套软体时,设计GUI所花的时间几乎占掉程式开发周期的三分之一 ~甚至到二分之一以上,而设计和界面无关的核心程式通常只占了不到二分之一 左右至三分之二的时间,但是使用C++ Builder则可以大幅简化这个问题。C++ B uilder的VCL提供大量的各式各样GUI软体元件,让我们可以将大部分的心力放在 核心程式码的设计上,而不必跟Windows系统的讯息、界面去搏斗。
C++ Builder的Compiler在功能上跟Visual C++都一样,Win32 API等都可以 呼叫与使用(VCL就是架构在Win32 API之上,没有不相容的问题,只是包装的更 高明,也非常有弹性),你不用担心目前有什麽事情是Visual C++可以做而C++ Builder做不到的,进而拒绝使用C++ Builder,抱持这样的观点就好像为了健康 而不坐汽车,却坚持骑脚踏车从淡水来上班一样因噎废食,在网路许多非常有经 验的程式设计师会告诉你这是多虑了。曾有人比喻的很传神,如果Visual C++是 手排车,那C++ Builder就是手自排两用车(看过三菱的Sportsmode手自排两用车 吗?)。
C++ Builder的程式设计细节是清楚而透明的,除了Application Framework 的运作保有神秘感之外(MFC也是),所有的程式码与档案相关的档案都是可以掌 握与观看的,不像某些开发工具,程式设计师许多事情是无法掌握的,而C++ Bu ilder 所产生的码大小与产生的时间都和Visual C++ 都是同级的(我指的是胜负 差距都不大,到要一提的是,C++ Builder 3.0采用一种技术,可以使得第二次以 後的Compiling速度提升五倍以上,笔者可以证实这一点)。
我的观点是,我们公司非常适合大量采用C++Builder作为程式开发工具,当 然啦,为了相容性的考量和母公司有特殊要求的专案除外。由Visual C++转换到 C++ Builder不是很严重与痛苦的事情,反而会觉得很快乐,这就好像开手排车人 改学自排车一样,甚至可以更掌握C++ Builder的威力。
利用C++ Builder来开发程式,我们可以快速的产生程式的GUI layout和pro totype,在後续调整程式界面的调整周期中也非常的方便,我个人认为至少可以 比 Visual C++节省三至五倍以上的时间。
除了某些特殊需求的专案之外(例如版本升级,而原来的版本是VC开发的, 或者参考改写的程式码是用VC写的,事实上C++ Builder也可以支援MFC),我看 不出来公司有什麽专案的规模或内容非要靠Visual C++不可,自己找罪受不说, 也违反了“Build a high performance company“的目标,而将大量的资源投注 在落後的工具上,程式生产力也无法巨幅提升。因此我建议公司应该大量而全面 性的鼓励员工使用并熟悉C++ Builder成为第一线的程式开发工具,根据我的浅见 ,这样的投资不但回收快速,而且效果宏大。
简而言之,C++ Builder同时兼具C++程式语言的威力和Visual Basic这种 R apid Development Tool的视觉化程式开发环境的便利,土法炼钢或必先利其器,决定 就在你了。
-- love1974[灌水版(还未开盘)斑竹] 灌翻网易,一大快事 太太平平,不是我活着的目标;不温不火,不是我的性格。是云就该下雨,是火就该发光。 那罐星砂送給你 ╭╯ ╰╮╭╯╰╮ 願你心想事成 ║▃▃▃║║☆★║ 這罐海水留給我
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.190.124] 发信人: crazyjava (骄傲的中国人), 信区: C 标 题: Re: Visual C++ vs C++ Builder [摘] 发信站: 网易虚拟社区 (Sun Jun 13 13:38:06 1999), 站内信件 【 在 love1974 (<marquee>令狐冲</) 的大作中提到: 】 : Visual C++ vs C++ Builder : 作者:[email protected] : w : : ....... 哈哈,好文章! 说它好,不是因为赞同作者的观点,而是希望能多看 到象这样类型的文章,先不管所写的正确与否,关键是从各方面了解 一件或几件事物是十分必须的. BCB所用的经验不多,不敢班门弄斧 :) 但其中对VC的评价有许多不 敢苟同,好象有贬低一方,抬高另一方的嫌疑.但是最想了解的是文中 有一句话--"OWL以物件导向的角度来看,也的确比MFC先进很多(这 在学界早有定论)" -- 这"早有定论"似乎有点莫名其妙?!BC 3.0以 上的版本和VC所有的版本我都用过,发现OWL在BC 3.1升级到4.0中 有根本的改变,关键是消息映射方面完全改写了,而改写后与VC早 有的竟然完全一样,个人认为BORLAND“学习”了M$的一套。而且 OWL和MFC的source codes我都研究过,发现它们许多概论十分相识, 所以我认为OWL和MFC很难分谁更先进,只能说它们提供的classes 谁更加丰富,在这方面各有千秋,OWL提供的多一些而已。所以还想 请一下这"早有定论"根据何来? -- 孤身走我路... 其实,路,两个人一起走比一个人要好。 email: [email protected] ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 139.87.93.157]
|
|