Delphi 5 vs Visual C++ 6(并非为了挑起论战,只是想检验一下自己的英语是否已经忘完了 (0分)

Y

yangkee

Unregistered / Unconfirmed
GUEST, unregistred user!
非常同意一位大侠的观点:大家应该把注意力放在软件上,而不是语言上。哪种语言都有其
长短,扬长避短就行了,关键是实现目标。在软件的开发中,Coding其实是最底层的工作,
就象建筑工人和建筑师。
原文较长,只选了头和尾,翻译不妥之处还望各位大侠海涵。
引言
本文的目的是为了给VC++程序员提供一个Delphi 5专业版和Visual C++ 6专业版的比较,
着眼于一个程序员在实际使用中所需要和希望从他(她)的开发工具中得到的东西。
回顾Visual C++和 Delphi的历史就可以了解他们之间根本上的差异。Visual C++源于
Microsoft C/C++, 那时M$在C++ 开发工具市场上还是个失败者。Delphi 源于Borland的
Turbo Pascal,它本身又由来于曾经是Borland的第一个产品,一个以其令人惊异的低价
高质的优点而彻底改变了世界,同时也使得Philippe Kahn成为在程序员中人所皆知的名字
的Pascal编译器。象borland一样,M$也曾创立了一个计算机语言产品--Basic,但和
borland不同,后来M$很快转移到了操作系统、办公室套件和一大堆其他产品上。Borland
在桌面数据库市场上取得了相当的份额,甚至拥有了电子表格软件Quattro Pro,但后来因
为电子表格的界面问题与Lotus进行的一场代价高昂的官司,和从C/S数据库到桌面领域的转
移,最终导致了他在这两个市场都日渐势微。两个公司的开发工具都反映了这段不同的历史。
他们的销量最好的语言产品都是基于他们最开始的语言产品。Visual Basic是从Basic继承
下来的,而Delphi是从 Borland Pascal继承下来的。Visual C++ 同 Visual Basic在微软
内部竞争资源和注意力,这样永远不能做出Visual Basic和Delphi那样的RAD工具。这可能
是Visual C++和Delphi最大的差别。
在Visual C++和Delphi的差别上有趣的一点是由于Borland一度曾几乎拥有整个桌面数据
库市场,因此通过Borland Database Engine中包含的直接数据驱动,Delphi具有完全的创建
和操作Paradox和DBase数据库表的能力,而无须依赖ODBC。Microsoft也拥有两个桌面数据库
:FoxPro 和 Access。据我所知,Visual C++ 6 Pro除了处理DAO和ADO(两者都是ODBC的进
一步发展)的类,没有包含更直接的对FoxPro 和Access的支持。DAO 过去通常是Microsoft
开发工具中用来访问Access的方式,但它不支持多线程。现在首选的方式是ADO,它具有的
多线程和大量的改进使它在进行数据库访问时远远优于DAO。使用ADO的代码在Visual C++中
与在Visual Basic中几乎一样,因为ADO是对连接过程、维护和缓存连接以及刷新数据等操作
的高层抽象封装。比起Delphi中使用BDE,在Visual C++中使用ADO的最大缺点就是Visual C++
需要你自己编写所有的接口代码,而几乎没有提供什么能减轻这些工作的数据库组件。Visual
C++允许你使用ActiveX控件来提供一些这种功能,但ActiveX也有很多自身的问题,如因为
它是二进制兼容的控件而必须将它全部包含,即使只需要用到它的很小一部分功能。
Delphi带有很多和BDE集成得很好的数据库组件,以至于即使一个仅是delphi初学者的人
也能在几分钟内创建一个具有完全功能的数据库应用程序而无须写任何代码。即便是一个经验
丰富的Visual C++程序员要达到这种速度也会感到窘迫,因为Visual C++根本没有什么可以
与delphi中的数据库组件相比。

编译器和连接器

组件

集成开发环境

调试

语言


COM

性能

数据库支持

结论和建议
开发工具的选择取决于几个不同的因素,其中的一些与开发工具本身的技术优势根本无关。
没有哪个程序是在真空中写出来的而不受到外界因素的影响。程序员经常为他们最喜爱的
开发工具而争论,好象这些工具都处在理想状态的设定下,由富有经验的编程老手优雅地尽情绘洒
而又威力无比,但事实与这些狂热者所说的情况大相径庭。在Delphi 5和Visual C++ 6之间做出选择时应
考虑的因素有:
1. 现有熟练程度:C++ 和Object Pascal 的学习曲线意味着作为新手的程序员在刚开始上手
时花费的时间必须在两者的比较中加以考虑。依照多方面的原始资料,程序员的生产力可划分
为1-10级。多数delphi程序员一致同意delphi的总体生产力要比Visual C++ 高2-4倍,而尝试
用过delphi的Visual C++程序员的评价是其间的生产力差别要小得多。从中可以看出,如果
你能找到富有经验的优秀程序员,你或许应该考虑让他们使用他们最得心应手的开发工具。
如果他们对一种开发工具非常熟练而对另一种一无所知的话,他们在技能上的差别可能远远
超过开发工具本身的差别。不幸的是,人才市场上的真实情况是:最优秀的程序员非常难找,
而你最终找到的十有八九是简历上写的天花乱坠而实际基本上是一无所知的新手。因为delphi
对新手来说比Visual C++更容易上手, 因此在这一点上看来对delphi比较有利,除非你已经
有了一大拨富有经验的编程老手。如果找到了你就会发现富有经验的熟练delphi程序员将比
同等的C++程序员表现出更高的生产力。
2. 现有遗留代码。简单地说,从头开始编写代码从来就是一个花费高昂的过程。尽管面向
对象的程序设计在代码重用上蕴涵有很多好处,重用已有的代码比其他任何措施更能缩短
项目的完成时间。VC++中的粘贴、拷贝,delphi中的拖、放,仍然是代码重用的最主要形式,
而一个项目中能包含的现成代码越多,你就越占是有先机。程序员们最臭名昭著的就是想以
他们自己的思想来重写一切,而且普遍患有不把别人的代码视同己出的毛病。这种个性特点
的代价是非常高昂的。那种已找到一个已经具有他们需要的功能的东西,却声称他将会用最新
的面向对象技术从头到尾把它全部重写一遍的人是自命不凡的假内行,他对程序"纯正性"的圣杯
的寻找将会耗空你的钱包。这也适用于那些拒绝适用组件和基于组件的系统的人。组件代表了
代码重用的终级标准,而Delphi提供了比Visual C++更有效的组件。
3. 开发程序的类型。在开发某种特定的程序时两者都有自己的所长。Delphi在开发数据库
前端以及快速开发华丽而给人深刻印象的用户局面上要远远超过Visual C++。另外,在那些
已出现了代码可靠,功能强大的delphi控件的领域,delphi再一次占有很强的优势。这包括
了internet 和intranet应用,图表和报表制作,数据库访问和复杂的用户界面。而Visual C++
长于编写设备驱动程序,com服务器,工程和精密计算,以及统计应用,控制台程序,WinCE
应用以及小型应用。恰当的做法是,要想得到最大的生产力就应当同时精通这两种工具,并针对
给定的应用采用最适合的开发工具。所以任何一个真正优秀的程序员应该在使用两种工具时都
熟练且富于生产力。
4. 未来的可移值性和可扩展性。在撰写本文时borland已经宣布他们的C++ Builder
和Delphi 产品将在2000年中期推出linux版。这将使这两种产品编写的windows应用程序移植
到linux的工作减到最少。borland在对他们未来的计划大肆宣扬时,Microsoft却对未来表现
出异乎寻常的沉默。尽管过去可以用Visual C++编写Intel和Alpha版winnt的程序,但现在
新版本的windows nt已不再支持Alpha处理器。这使得WinCE成为唯一的Visual C++支持的
唯一的“多”平台。不幸的是WinCE的市场表现差强人意。另外,指望Microsoft将Visual C++
移植到任何非MS平台几乎是没什么可能的,不管是现在还是将来,这从他以前的记录就可以看出来。
另一方面,borland看来注定会在linux上大红大紫。同时在数据库方面,borland最近宣布
他们的数据库interbase将开放源码(也就是免费),并改善interbase与borland开发工具的集成。
 
原文在哪?
 
是啊,麻烦您把原文贴出来。。。^_^
 
http://home.xnet.com/~johnjac/Delphi%205%20vs%20Visual%20C.htm
 
最后对选择开发工具的建议写的相当好,不过多数都对delphi有力,补充一点:
可持续发展性
要熟悉一个开发工具,不算容易,要积累程序代码,也不算简单。
如果有以天,你熟悉的工具,决定不在推出下一版本,而你有积累了无数此环境下的代码,
你所要付出的代价是惨痛的。我不知道borland还能制成多就,单元delphi、bcb能找到一
个好人家来收购,这是我最希望的……
 
CJ收购它吧
 
如果以前有人问你选择Java开发工具,你恐怕也会说用VJ++吧?
 
不会不会,打死也不会.
 
"如果有以天,你熟悉的工具,决定不在推出下一版本,而你有积累了无数此环境下的代码,
你所要付出的代价是惨痛的。"
的确是个问题!
 
听说DELPHI北MS收购了也
 
"如果有以天,你熟悉的工具,决定不在推出下一版本,而你有积累了无数此环境下的代码,
你所要付出的代价是惨痛的。"
这也许是个问题,但是我觉得将原理搞懂,哪种语言倒并非重要。
我原来是用VC的,后来用了VB,直至现在用DELPHI。我的感觉是各有各的好处。
转型也算顺利。代码重用问题怎么说呢?同一语言的不同版本其实之间也会有
一些问题的。相对于不同语言来说,只是改多改少的问题吧。
 
"如果有以天,你熟悉的工具,决定不在推出下一版本,而你有积累了无数此环境下的代码,
你所要付出的代价是惨痛的。"
会这样吗?如果有公司(包括微软)收购Borlan,它会放弃Delphi这个旗舰产品吗?
即使微软也投资于Borland呀!
没有人会这样做吧!不过前提是Borland继续保持技术上的特点。
关注于软件本身,而非编程语言无疑是对的,就像大侠不在乎用刀或者用剑,
但是为了RAD,大侠有什么理由不用手枪呢?
这就是我用DELPHI的原因。
不过我也真不希望Delphi 大侠们全是枪手,而且事实实际上也比我们想的乐观的多。
大家努力呀!
 
看完了,又看了看原文,感触很深,不过最深的感触是:你的英文真好!!!
 
我觉得熟悉了DELPHI后,应该再学习其他的。
 
听说前一阵子borland改名成Inprise(可能是这么写的吧),中国的网址是
http://www.inprise.com.cn/
不过我还是喜欢DELPHI
 
我喜欢Delphi,我相信Delphi!
 
delphi非常好用,精通后你能做出非常强大优秀的软件。
但应聘时,无一不要求会用VC++编程,再退其次要求VB。
不能不学VC++,不能只精通于DELPHI,精力从而分散。
DELPHI还应该再扩大影响力,渗入到中国商业开发中来,速达2000是个好开头。不能仅仅
是业余爱好者用。
另外:JBUILDER4更强大。
 
其实各有各的好处,不能只懂一样。两样都会不是很好吗!
 
其实我们程序员都是一个受害者,用什么语言完全要给别人牵着鼻子走。今天是DELPHI明天
是VC,然后是JAVA还有PB..................
太多太多,而那些语言的公司都你争我斗,互相钩心斗角.推出一个产品不够竞争就马上换一个
我们就惨了刚学好一个,还没扎稳脚跟,听说那间公司不行了,有要学别的,如此如此反复反复..
......
所以我说最后还是用汇编吧,不管是什么平台,都只有一个,到处都可以用.
 
顶部