开发工具大比拚之Visual C++ vs. Delphi(三)

2016-02-19 14:28 5 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的开发工具大比拚之Visual C++ vs. Delphi(三)教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 编程语言 】

  数据库开发: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:新技术的力量

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  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冲击不会太大。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  微软的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++程序员就没有这个“额外”的作用了。

来源:http://www.tulaoshi.com/n/20160219/1607024.html

延伸阅读
标签: Web开发
IntelliJ IDEA 是和 Eclipse 齐名的Java IDE,顺应Ajax开发趋势,月初最新发布的IDEA 5.1版本提供了对JavaScript的支持。 IntelliJ IDEA 是和 Eclipse 齐名的Java IDE,因为华丽界面和创新特性而得到不少java程序员的喜爱(可惜不是免费的)。 顺应Ajax开发趋势,月初最新发布的IDEA 5.1版本提供了对JavaScript的支持,目前的特性有: 代码提...
Java 开发工具包是Sun公司的Java Software产品。他可以非常方便的开发和调试JAVA应用程序。下面就具体介绍这些工具的使用: rmic 功能说明: rmic 为远程对象生成 stub 和 skeleton。 语法: rmic [ options ] package-qualified-class-name(s) 补充说明: rmic 编译器根据编译后的 Java 类(含有远程对...
确定你的jdk环境变量配置是正确的。 对于Java初学者来说,编译和运行java程序是一件很头疼的东西。 显然,在命令方式下编译和运行java程序用久了,确实是很麻烦, 而我们又不想使用大型的开发工具时,UltraEdit是一个不错的选择, 很多初学者都是用它来编写java源文件的,可以高亮度显示要害字。 1。要害字高亮度显示...
用Visual C++开发数据库应用程序 EMAIL:zzh1415@21cn.com 1、 概述 1、1 Visual C++开发数据库技术的特点 Visual C++提供了多种多样的数据库访问技术——ODBC API、MFC ODBC、DAO、OLE DB、ADO等。这些技术各有自己的特点,它们提供了简单、灵活、访问速度快、可扩展性好的开发技术。 简单性 Visual C++中提供了MFC类库、ATL模板类以及Ap...
XCActionBar 是一个用于 Xcoded 的通用生产工具。 下载地址:https://github.com/pdcgomes/XCActionBar 基本命令: (1)「command+shift+8」或者双击「command」键可以打开「动作输入框窗口」 (2)「command+option+7」或者双击「alt」键可以执行「上次的动作」 编程时可用于双击或三击事件的按键分别为如下5个: (1)「alt」...

经验教程

196

收藏

40
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部