级应用和桌面应用是相对而言的)的应用系统(在http://community.borland.com
(borland社团站点)上有关于用delphi和c++ builder开发的产品介绍),如果有人还要
说“...稳定和可靠是硬道理,只好忍痛割爱了”,那他恐怕只好自制开发工具(外带操
作系统)了。:-)
(ps:关于delphi与某些显卡驱动冲突的问题,是由于某些显卡(如s3 virge gx)的老版
本驱动程序不能正确处理windows公用控制中的imagelist的绘制方法造成的,在这种情
况下所有在imagelist中使用多个图象的程序都会有问题)
(ps:至于“一看到很多优秀的共享软件冒出具有delphi特色的错误异常就感到悲哀”,
建议此人先搞清楚你看到的“错误异常”消息是这些软件本身出错呢,还是运行时的异
常处理消息(比如“没有找到指定文件”或“索引超出范围”之类)再说。delphi中有完
善的异常处理,所以很多程序员不再写错误处理,而放手让编译器去处理。我认为这不
是一个好习惯,至少弹出的消息对话框可能与你的程序所用的语言/风格不一致。让人
家误会了不是?:-)
(11) 帮助/文档
vc++的帮助和文档确实要比delphi/c++ builder的丰富一些。不过这不应当包括msdn,
因为msdn是一套独立的产品,并不是专门给vc++准备的,况且其中包括了相当多的
windows技术资料。作为一名程序员,不管用什么开发工具,可以(也应当)有一套msdn。
windows数据结构/apis是用c风格描述的这一点可能对delphi程序员来说略有不便,不
过delphi中已经包括了大多数转换;另外,如果一个程序员连转换.h文件这么简单的工
作都做不了的话,他(她)可能也做不了什么象样的开发。internet上的一个志愿者组织
(www.delphi-jedi.org/)在这方面也做了大量工作,在他们的站点上有几乎全部有用的
c/c++库.h的object pascal翻译。
(ps:delphi/c++ builder程序员为什么不可以买一套msdn呢?毕竟我们还在用m$的操
作系统,总不至于连windows技术资料都不要了吧)
(ps:从msdn看m$
msdn中的技术资料主要是以compiled html(.chm)格式存放的,但m$把全部.chm放在
disc #1,而把索引文件(.chi)单独放在disc #2。这样一来就无法从光盘上直接看这些
文件。要么安装,要么手工把相应的.chm和.chi拷贝到一起。我看不有什么技术上的理
由(谁知道请告诉我)不把一半.chm和.chi放在一张盘,而另一半放在第二张盘。这至少
反映出m$内部某些人的阴暗心理)
(12) 国际化支持
vc++中已经包括了十多种语言的rtl资源,delphi中需要自己做资源本地化。虽然
franch,german之类的版本中也包括english资源。:-<
(13) 应用领域
vc++在windows设备驱动开发(毕竟是m$ windows)和某些桌面应用(比如游戏)开发中用
得较多。delphi更多应用在数据库/多层结构,多媒体和internet开发等方面。
(ps:vc++在游戏开发中用得较多我看主要是价格因素,游戏使用专用界面,通常不涉
及数据库和internet(即使internet play也不过是简单的tcp连接,并且directplay中
已包括此项功能),昂贵的delphi和c++ builder显示不出优势。只需要$79的vc++标准
版,directx sdk(可免费下栽),opengl文档(也是免费的),至多再加一套msdn即可。
比如quake,全是手写的c代码,连c++特性都很少用到。borland也认识到了这一问题,
所以发布了免费的c++编译器)
(14) 价格
m$的开发工具确实便宜(相对而言),不过是否物有所值,只能看你干什么用了。
(ps:别指望你买的toyota能有ferrari的性能。:-)
(15) 前景
有人认为m$财大气粗,borland难以对抗。我看不能这么简单下结论。m$有它自己的问
题:法律诉讼,人才流失,资源分散,四面出击(m$现在连鼠标,键盘,游戏杆,玩具
都生产)。而borland/inprise集中精力在开发工具,中件产品(如midas,visibroker和
application server)和企业应用/管理环境(如appcenter和security service)上,应
该还是大有可为的。
况且borland和m$之间并非纯粹的竞争关系,borland开发工具给m$ windows带来的收益
要远大于和m$开发工具竞争带来的损失。毕竟对m$来说,开发工具只占其收入的很少一
部分,即使不搞开发工具也只不过是个面子问题,于m$无损。m$在它面临垄断/不正当
竞争指控的时候,因为长期侵犯知识产权而赔偿给borland一亿美元(称为“授权费”),
这多少也可以看作是一种和解的举动吧。
另一种经常听到的论调是“m$的产品市场份额大,borland能撑得住吗?”,这其实也
有很多问题。鉴于m$出于竞争的目的,经常虚报数字,影响市场(m$的律师在法庭上承
认m$曾夸大过其ie和office的市场占有率);m$自己宣传的其开发工具的市场占有率也
很值得怀疑。m$还有重复计算的问题,比如卖掉一套visual studio,在计算vb,vc,
vj等的销售量时都计算在内。其实很多人/公司买visual studio只用其中的一两种。其
实borland产品的销售量还是很大的,尤其是在欧洲,北美和澳大利亚,在亚洲...(是
因为d版太多了)。另外,每个公司都有自己的产品/市场定位,你能因为toyota,ford,
volkswagen卖的多就说ferrari,maclaren,benz不行了吗?
4. 结论
delphi(其实应该说borland产品)在技术上有优势,vc++(其实应该说m$产品)也占有相
当的市场份额。
(ps:说了半天等于没说。:-)
(ps:m$的c#(读c sharp)能取得突破吗?我看不会。因为m$产品通常达不到所宣传的性
能;而且一种不符合标准(c#不兼容任何一种语言标准,虽然据称更接近c)的产品也很
难取得成功。j++就是一例)
5. 附:我所知道的borland和m$的故事
(1) bill gates是如何拿到ibm订单的
1979年,tim paterson写了最初的dos并以$1000的价格卖给了digital reserch。当时
apple的apple i和apple ii销势很好,所以ibm在1980年也决定搞pc。bill gates知道
后,认为是个机会,就以$5000从digital reserch买下了dos,并逼着手下人在一间没
有空调的小黑屋里日夜不停加以修改。m$当时是个小公司,只有十几个人,名叫
micro-soft。所以尽管dos的开价($20000加每拷贝$30授权费)比cp/m-86(指用于intel
8086/8088的版本,不是指年代)的开价($100000加每拷贝$70授权费)便宜不少,ibm的
人还是倾向于使用cp/m-86。据“比尔.盖茨的秘密”(bill gates' secrets)一书的作
者说,bill急得团团转,只好求助于他妈妈。bill的母亲时任华盛顿大学校长,与当
时的ibm董事长john opal是大学同学(据说...)。bill这一招果然有效,没多久就拿到
了ibm的订单,从此dos成了ibm pc上的首选操作系统。
(2) borland的名字和历史
borland听起来不象一个公司的名字,倒象一个国家的名字。
1982年,philippe kahn带着3000美元从巴黎到了美国,除去机票钱已所剩无几,只好
租人家的车库小阁间住。kahn在硅谷干了一段时间,并以mit(market in time,恰好与
麻省理工学院的缩写相同)为名开了一家公司。1983年,kahn和anders hejlsberg(丹麦
人,turbo pascal编译器的主要作者)合作开发了turbo pascal,并赊帐在《新闻周刊》
上登了一份彩页广告。turbo pascal在pc开发工具中是一个里程碑式的产品,它第一次