快讯
- 微星MPG Z890I EDGE TI WIFI 刀锋 钛评测:14 层 PCB 加持,同级之中强无敌!
- 打造低调而卓越的Ai PC,微星MEG Z890 ACE战神主板开箱
- 解密“星”制造,微星深圳恩斯迈工厂探秘之旅
- 游泳也需音乐相伴!韶音OpenSwim Pro评测
- 又一款轻量化电竞
- 元气满满的充电之旅!铂陆帝商超活动嗨翻周末
- 雷柏机甲编码主题系列警戒线S-07图赏:以机械美感诠释潮流新理念桌搭!
- 更适合新手体质的枪战游戏,《无畏契约》开战!
- 现代与传统的融合之旅:贝尔金笔记本扩展坞体验
- 航天品质下的极速充电体验——航嘉G65 GaN快速充电器评测
- 有颜有实力的外设谁能不爱?来看雷柏商超巡演
- 新潮外设引爆全场!雷柏联合PC打造潮品酷玩趴
- 幻彩绚丽,玩趣十足!雷柏V700DIY键盘图赏
- U皇就该配板皇,超频玩家现身说法教你选主板
- 13代酷睿的超频利器,有好板才有好性能
- 全新升级,雷柏V20S RGB光学游戏鼠标2023版详解
- 马斯克30亿放“烟花”,民航故事为何值钱?
- 让露营生活更精致!铂陆帝户外电源AC180评测
- 惠威音响体验:音响中的艺术品,拥有好听的灵魂
- HiFi级音响用料 仙籁 N8音响专用交换机售2980元
- 微星MPG Z890I EDGE TI WIFI 刀锋 钛评测:14 层 PCB 加持,同级之中强无敌!29日
- 打造低调而卓越的Ai PC,微星MEG Z890 ACE战神主板开箱10日
- 解密“星”制造,微星深圳恩斯迈工厂探秘之旅02日
- 游泳也需要音乐相伴!韶音新一代游泳耳机OpenSwim Pro评测12日
- 又一款轻量化电竞"神鼠"来袭!玄熊猫3395游戏鼠标今晚首发149元10日
- 元气满满的充电之旅!铂陆帝商超活动嗨翻周末27日
- 雷柏机甲编码主题系列警戒线S-07图赏:以机械美感诠释潮流新理念桌搭!24日
- 更适合新手体质的枪战游戏,《无畏契约》国服正式开战!20日
- 玩物近话论:现代科技与甘南秘境的融合之旅 贝尔金笔记本扩展坞体验14日
- 航天品质下的极速充电体验——航嘉G65 GaN快速充电器评测12日
- 有颜有实力的外设好物谁能不爱?雷柏点燃PCGROUP潮品商超巡演15日
- 新潮外设好物引爆全场!雷柏联合PCGROUP打造潮品酷玩趴15日
- 幻彩绚丽,玩趣十足!雷柏V700DIY热插拔机械键盘图赏10日
- U皇就该配板皇,超频玩家现身说法教你选主板26日
- 13代酷睿的超频利器,有好板才有好性能25日
- 全新升级 经典复刻 雷柏V20S RGB光学游戏鼠标2023版详解25日
- 马斯克30亿放“烟花”,民航故事为何值钱?23日
- 告别电量焦虑,让露营生活多一分精致!铂陆帝户外电源AC180开箱评测17日
- 惠威音响体验:音响中的艺术品,拥有好听的灵魂04日
- HiFi级音响用料 仙籁 N8音响专用交换机售2980元27日
开发工具大比拚之Visual C++ vs. Delphi(三)
2004-02-14 09:34 出处:中国软件 作者:紫云英、曾登高 责任编辑:pjl
数据库开发:delphi一枝独秀 数据库支持是delphi的强项。这主要体现在delphi与bde的无缝集成,以及delphi提供的那一大堆现成的数据库操作控件。这是vc望尘莫及的。目前delphi支持bde、ado、interbase三种数据库访问方式。所有的方式都能拖拉到应用程序中实现可视化操作。正是因为delphi对数据库类的包装,使得用户操作数据库不像在visual c++中必须从开始到最后都要干预。明显地提高了开发速度。 在delphi中使用webbroker控件还能很方便地构造出基于数据库的web页面,通过html管理web数据库。 visual c++访问数据主要通过ado和oledb,很多activex控件也能添加数据库功能。但是没有像paradox这样的桌面数据库,access相对太轻量级了。也许sql server是不错的选择。 com:新技术的力量 com是组件对象模型的缩写。它是ole和activex技术的基础,com定义了一组api和一个二进制标准,让不同的编程语言、不同平台的彼此独立的对象相互进行通讯。 com是microsoft制订的行业标准。但是,delphi也为com提供了强大的语言支持。支持接口、variant、宽字符串功能。这些对com的封装确实比c++更方便。比如在c++(没有类框架)进行com编程时,变体定义为oaidl.h文件中德variant结构。要处理变体,必须手工调整oleaut32.dll中variantxxxx() api函数对其进行初始化和管理,如variantinit()、variantcopy()、variantclear()等等。 visual c++实现com编程有一种特殊的方法就是使用atl。atl使用visual c++特有的多重继承来实现com接口。虽然不见得实现com服务和控制更容易,但是atl和最新com技术的接口,基于模板的构造都比delphi强。atl更有利于建立小巧、快捷的com组件程序。 按照目前通用的观点,visual c++应用到com服务程序更有优势,delphi应用到com组件程序更合适。 昨天,今天,明天 技术的进步在很多时候是此消彼长的。当初borland的turbo c和borland c++几乎是c/c++程序员唯一的选择。微软的quick c(现在还有人知道这个产品吗?)和microsoft c/c++从来也没有成为过主流。但borland c++又流行了多少年呢?不久就被新崛起的microsoft visual c/c++压下去了。于是inprise(原borland)拣起了当年turbo pascal和borland pascal的辉煌(事实上borland的成名作就是第一个pascal编译器),全力推出了delphi。delphi当初推出时被称为vb杀手,但vb现在仍然活得挺好。毕竟微软是靠basic起家的嘛,vb不是那么容易被打败的。inprise想了想不和vb争了,使用delphi的ide和vcl配上c++语言,推出了c++builder,又向visual c++的市场发起了夹攻。c++builder似乎是个不错的折衷选择了?再仔细想想!c++builder的优点delphi都有,但delphi的优点c++builder未必有。比如c++builder的编译速度比vc还慢,哪能和delphi比?而且因为vcl是object pascal写的,c++语言和vcl磨合得并不好。c++builder的bug比delphi还多,甚至sample代码中还有错。vcl的部分功能不能使用,要靠嵌入pascal代码访问。c++builder可用的第三方控件远没有delphi多。 唉,真是金无足赤。microsoft和inprise,谁会笑在最后呢? 鱼和熊掌:艰难的选择 选择一个开发工具依赖于很多不同的因素,每个人都能因为某种语言的某个缺陷而放弃学习或使用这种语言。任何程序员都希望自己喜欢的工具能达到理想的境界,通过上面不完善的比较,我想大家都有自己的看法。我们认为影响大家选择开发语言的因素主要包括: 1)哪门语言更容易入门? 学习一种语言需要投入大量的时间和精力。开发程序的开发成本是值得考虑的现实。一个熟练的delphi程序员和一个熟练的vc程序员工作效率是一样的。但是,成为熟练的程序员必须很快掌握一门语言的技巧。不幸的是,目前熟练的visual c++程序员是十里挑一。相对而言,delphi更适合初学者。 2)哪门语言有更多可继承的代码? 语言代码的可重用性是加快开发效率明显方面,从早期的过程、函数到现在的组件技术都是朝这个目标在奋斗。这两种语言对代码重用的理解是不一样的,delphi主要通过vcl控件来实现代码重用,visual c++实现起来就比较复杂。 3)语言自身的本性。 就技术(主要指应用框架)来说,delphi目前领先于visual c++。但稳定性和健壮性的不足又让我对inprise“想说爱你不容易”。而vc尽管发展到今日已十分完善,但mfc框架已是明日黄花了。如果不使用mfc,目前又没有合适的替代品。 根据你的需要和实际情况做选择吧。实际上visual c++和delphi也不是单单竞争关系。它们在许多领域并不重叠,甚至是互补的。到底怎样取舍,要根据你的项目特性决定。如果你开发系统底层的东西,需要极好的兼容性和稳定性,选visual c++吧。你可以只调用windows的各种api,不用mfc。如果你写传统的windows桌面应用程序,visual c++的mfc框架是“正统”的选择;如果界面部分占这个应用程序代码比例较大的话,或者delphi中有相关功能的控件的话,delphi是事半功倍的选择。如果你为企业开发数据库、信息管理系统等高层应用(“高层”是相对于“低层/底层”而言的,不是说技术高级或低级。)而且有比较紧的期限限制,选delphi比较好。如果你熟悉的语言是object pascal,又不打算学复杂的c++,那么delphi几乎是唯一的选择。传统的观点是:delphi适合编写internet/intranet、表格制图、数据库操作、高级用户界面等等。visual c++适合编写设备驱动、com服务程序、科学计算、控制台(console)程序、wince的应用和一些小的工具等等。应用范围的不同要求好的程序员精通这两门语言。 4)语言的前景和可扩充性。 delphi是inprise的旗舰产品之一,前景应当还是比较乐观的,而且inprise已经在向linux进军了,而微软还迟迟没有动作。遗憾的是,inprise公司delphi的创始人已经跳槽到微软去主持visual j++项目了。但愿对inprise冲击不会太大。 微软的visual c++的前景又怎样呢?visual studio 7.0就要推出了。这一版本将加强网络开发的特性。看来微软虽然被判解体,开发实力可是一点没打折扣。 另外,虽说mfc已稍显落后,但不是说它不值得学。事实上,不学mfc就等于没学vc。利用mfc框架开发程序仍然是目前开发桌面应用的主流模式,而且还会保持相当长的时间。微软公司ceo史蒂夫·巴尔默(steve ballmer)曾说,.net流行还得等2~3年。那么,mfc至少还有2~3年的生命空间。在技术日新月异的it界,2~3年实在是很长一段时间了。好好把握吧。即使你不使用mfc框架,花点时间看一下mfc的封装机制对你熟悉c++的oop机制和windows底层功能也是很有好处的。而vcl的源代码是object pascal的,对c/c++程序员就没有这个“额外”的作用了。 |
最热搜索
无线路由器怎么用 会说话的汤姆猫电脑版 12306网上订火车票 跳舞吧 flash player 下载 PP助手电脑版 Adobe Reader(pdf阅读) iOS6正式版12项新功能 QQ空间克隆器 9158视频KTV 植物大战僵尸辅助工具 Win8怎么关机 QQ空间进不去 2013年春节是几月几号 QQ昵称 QQ空间皮肤 PPT模板 电脑输入法不见了怎么办 2012中秋节是几月几日 word安全模式 qq输入法怎么点亮 IE修复 感恩节是几月几日 CSS布局 PS快捷键 Outlook设置 声卡驱动器官方免费下载 格式工厂怎么用 桌面图标有阴影怎么去掉 Windows RT是什么意思 2013年日历设计 Word打不开怎么办 Win8专区 腾讯微云网 windows8激活工具 剑灵什么时候公测 QQ通讯录怎么用 开心斗地主 拖拉机小游戏 麻将游戏 中国象棋 德州扑克 黄金矿工中文版 保皇扑克游戏 四国军棋 万圣节是几月几日 ps抠图教程 12306订票助手 万圣节小游戏大全 rar文件怎么打开 Photoshop CS6教程 iOS6完美越狱 QQ个性签名