哈哈,今日逛网看到的...关于VC与Delphi(0分)

  • 主题发起人 主题发起人 iseek
  • 开始时间 开始时间
I

iseek

Unregistered / Unconfirmed
GUEST, unregistred user!
>> 首页 | 注册 | 用户列表 | 所有主题 | 版主责任 |
用户名: 密码:
记住密码 | 忘记了密码?
当前位置 论坛首页? 原 VCHelp 在线论坛? “C#与Dehpi的比较”
关键字 搜索方式 匹配全部 匹配任意 搜索主题 搜索内容


作者 主题 C#与Dehpi的比较
闻怡洋 发表于 2001-10-1 10:34:32
--------------------------------------------------------------------------------
发表人:cd cui_dong@263.net 2001-09-30

wyy_cq,您好!
对于各种开发语言的比较,很多人认为没有意义,特别对高手更是不屑一顾,本人虽然也认为这种比较在本质上没有太大意义,但还是愿意比一下,毕竟可以广征博引,有所收获,更何况本人不是高手,看看你的留言簿上,虽然废话很多,但也有很多有价值的论点,特别是那个恶魔吹着笛子来那个家伙,很不一般。眼下,c#如日中天,本人也密切关注,生怕对delphi有很大冲击(本人虽然vc,delphi都用,但精通还数delphi),我想请你
在搞一个c#and delphi的论坛,不要管别人这么说,有兴趣的自然留言,没兴趣的就让他发发牢骚也未尝不可。
看看会有什么结果。

ppetmycu 回复于 2001-10-4 10:59:36
--------------------------------------------------------------------------------
delphi和C#同出Anders之手,两者在结构上多少有相似之外.
但C#比Delphi后出,况在微软旗下,易用性和人性化方面来说,C#应比Delphi略强。
cppfan 回复于 2001-10-4 21:59:03
--------------------------------------------------------------------------------
一件到dephi就烦,语法太滥;

Storm 回复于 2001-10-9 12:49:06
--------------------------------------------------------------------------------
C#在IDE上较Delphi稍胜一筹.
jinkaizi8 回复于 2001-10-9 15:52:41
--------------------------------------------------------------------------------
请问C#是什么东西?
哪里有买?
大鹏鸟 回复于 2001-10-9 16:55:58
--------------------------------------------------------------------------------
将来可视化开发的人(不管是vb、delphi、bcb还是C#),就是现在的电子厂生产线工人,而到时候的C程序员将比现在的C程序员更值钱,当然我说的不一定就是VC++罗,还有更多更广泛的地方(嵌入式等),退一步说请问大家:vb、delphi、bcb、c#本身是什么做的?如果我们中国的程序员老是把自己的目标定位在工人的层次,那中国软件可就没有什么指望了,当然现在中国的软件队伍中还只有80%这种人、并不是全部,我想这已经了不起了!
mclly 回复于 2001-10-10 11:39:35
--------------------------------------------------------------------------------
C#和怎么会和delphi有可比性,,一个是语言一个是开发平台
要比也要NET.FRAMEWORK 和DELPHI
至少在WINDOWS消息上DELPHI的VCL封装要比
NET.的WFC要好,,
吗啡 回复于 2001-10-18 12:58:01
--------------------------------------------------------------------------------
什么鸟帖子,标题都写错了,内容也是乱七八糟。
cnj 回复于 2001-10-25 8:50:25
--------------------------------------------------------------------------------
根本没办法比,C#是最新技术,Dephi 算什么东西!!!!
吗啡 回复于 2001-10-27 16:17:07
--------------------------------------------------------------------------------
to cnj:
不学无术的家伙,你懂什么,如果你懂的话,就说来听听,要不然,你算什么东西!!!!!!!!!
cnj 回复于 2001-10-28 9:00:07
--------------------------------------------------------------------------------
to 吗诽:
你用过vC没有,当你用过它时,你就会同意我的看法。毕竟dephi只是控件的编程,只是比vB稍好,现在的vb.net就比它好多了。超级解霸梁肇新也是这么看dephi的,你还是学学VC吧,学好了再和我说话!!!

cnj 回复于 2001-10-28 10:34:41
--------------------------------------------------------------------------------
to 吗诽:
dehhi这类东西,编编应用还是可以的,当然控件是别人提供给你的了,是一种黑盒子,至于如何实现就无从知道了,只是拉拉控件,放到
窗体,设设属性而已嘛。VC(不是C#)就不同了,它提供了最大的灵活性,
不用第三方控件就可以写一些功能相当复杂的控件。比方在dephi中的控件MSComm,在dephi中只是一控件,不能扩展。在VC中就具体到该控件的
是实现代码,如果你水平足够高的话,你可以增强它的功能。其实VC功能之强大,只能慢慢才能体会,现在推出的C#是不能代替它的。一句话,VC
就象发明汽车零件的发明家,而dephi之流只是对这些零件进行组装的组装师,水平高低,一目了然!

Tintin 回复于 2001-10-29 13:36:16
--------------------------------------------------------------------------------
楼上这位兄弟的水平高低,的确是一目了然 ^_^
为了避免被这兄弟误导初学者,特做说明如下:)
1)Delphi是以OP为语言基础的,他有完整的VCL类库支持(事实上VCL类库本身就是OP实现的,VCL和MFC一样,是一套框架,但封装的思想和出发点不同,优劣我无法评定)。Delphi中的控件就是VCL中的类,而MSComm本身ActiveX构件,所以cnj的说法是完全错误的。 :)
补充一点,VC和Delphi只是两个集成开发环境,工具的使用是习惯问题,没有意义比较,而至于他们使用的语言的比较大师们尚且无法作出更何况我辈!但可以说明的一点是 C/C++因为有标准委员会所以可移植性是可以保证的,而ObjectPascal和Java一样只被个别公司控制。

雨人 回复于 2001-10-29 14:32:19
--------------------------------------------------------------------------------
C#应该和JAVA比,不应该和DELPHI比
苏梦枕 回复于 2001-10-29 17:02:10
--------------------------------------------------------------------------------
delphi的控件不能扩展?不对吧,老兄,去查查,一样提供了源代码
还是水平太低的缘故
苏梦枕 回复于 2001-10-29 17:15:26
--------------------------------------------------------------------------------
要说比较的话,可以这么说
因为C#、Delphi首创者一样同为当年turbo pasacl作者,加上Java的JDK初始版本主要出自Borland,现在卖得最火的Java 集成环境也来自Borland
艺出同门,C#、Java和Delphi在面向对象语言、开发环境上其实相似得紧,不过本质上说,前两者才是真正的网络语言(因为采用即时编译),或者说平台
关于Delphi,钻到深处的人不是没有,却很少,所以备受指责,其实作为与C并称系统语言的pascal,真的会如basic般无能吗?在于使用的人
BTW:目前来讲,Delphi6与VC#的IDE环境还是各有所长
吗啡 回复于 2001-10-30 11:16:36
--------------------------------------------------------------------------------
苏梦枕说得及是。
我用VC也有很多年了,用DELPHI更多年。
我最讨厌那种不懂而又以为很懂的人。DELPHI的控件我也写了很多,从D3开始就有了。什么叫做VC程序员的水平高,DELPHI的水平不高,这种话都是那些不懂DELPHI的人说的。

吗啡 回复于 2001-10-30 11:17:59
--------------------------------------------------------------------------------
看看CNJ的发言,里面没有一个DELPHI单词是拼写正确的,不知道这种人有什么资格来说别人,我想更加没有资格来做程序吧。
小月飞 回复于 2001-10-30 16:17:03
--------------------------------------------------------------------------------
我同意吗啡的看法,delphi不止在windows上可以大现身手,而且在linux上也有不坏的表现。
cnj 回复于 2001-10-30 20:49:54
--------------------------------------------------------------------------------
to 吗妃:
是的,你说得对,我不懂。也许你说得对,但学习delphi的容易程度
要比VC简单得多,你该不会承认吧,一个工具难学程度可以看出它的复杂性!!!容易学因为封装得深。很少有精通VC的,会投入delphi的怀抱吧,这只能说明你学得不精不深罢了。我个人觉得delphi和VB属于同一档次的,同是面向控件的编程语言,现在VB.net将会在各个方面超过delphi,不管是易用性,还是功能上,毕竟是微软的东东。其实一个同样熟练程度的VC和delphi程序员比较,delphi程序员真只是会拉拉控件设设属性不为过,想想delphi的什么api高级编程,在VC程序员中只是普通
的组成部分。我也不是说delphi不能写控件,因为VB也可以写呀。但VC
的底层控制,和可扩展性,delphi们无法体会到。它们的定位是不同的,要不微软为什么不把VC做成delphi一样,拉拉控件,设设属性呢,VC
是唯一不是该风格的语言!相当简单封装和超强灵活性是它的生命!


吗啡 回复于 2001-10-30 22:07:18
--------------------------------------------------------------------------------
>>是的,你说得对,我不懂。也许你说得对,但学
>>习delphi的容易程
>>度要比VC简单得多,你该不会承认吧,
不好意思,我不承认。DELPHI学到后面,将会和学习VC一样,要学习WINDOWS操作系统本身就有的功能,最终要理解一些操作系统本身的概念,所以,学习VC和DELPHI最终都是在学习WINDOWS操作系统而已。VC复杂?并不是这样的吧,如果你的C和C++都精通的话,这些东西应该很容易懂的。(只不过是FRAMEWORK的理解问题)

>>一个工具难学程度可以看出它的复杂性!!!
是这样的,一个难学的工具的确是复杂,不过,我怎么就觉得在你的眼里DELPHI要难学呢?
>>容易学因为封装得深。很少有精通VC的,会投
>>入delphi的怀抱吧,这只能说明你学得不精不
>>深罢了。
是吗?你真是少见多怪了。很多熟悉DELPHI的程序员都非常熟悉VC,因为他们对VC了解,所以他们知道VC开发程序的效率低下,比不上DELPHI,所以才会使用DELPHI的。
不过我倒是希望你有空多了解DELPHI,最好深入学习一下,不然你是不会知道DELPHI的好处的,你永远只是一个井底之蛙而已。
>>我个人觉得delphi和VB属于同一档次
是吗?嗯,看来你只是一个初学者。我六年前学习VB的时候,我就认为VB = VFP = DELPHI,不过两个月后,我学习DELPHI的时候,我就觉得两个月前的我简直就他妈的是一个大白痴。居然会有那样的言论出现。
有你这样的言论,我只能说你不懂!初学者而已

>>的,同是面向控件的编程语言,
面向控件,的确是,DELPHI是,VB是。但是,更加重要的问题是,DELPHI的控件的制作,VB是如何的呢?有DELPHI这么灵活吗?有DELPHI这么有效率吗?有没有这样美丽的封装框架?
>>现在VB.net将会在各个方面超过delphi,不管是易用
>>性,还是功能上,毕竟是微软的东东。
VB.net将会在各个方面超过DELPHI?就因为它是微软的东东?
谁说微软的东东就是好东东?你有没有用过,你真是喜欢痴人说梦。
>>其实一个同样熟练程度的VC和delphi程序员比较,delphi
>>程序员真只是会拉拉控件设设属性不为过,
你有没有见过资深的DELPHI程序员,拉拉控件?VC不用拉控件吗?
VC不用设置属性吗?那么,VC不用设置属性的地方是哪里?核心代码?你没有见过DELPHI程序员写核心代码?我倒要问问你了,你懂不懂面向对象,懂不懂UML?懂不懂设计?
>>想想delphi的
>>什么api高级编程,在VC程序员中只是普通
>>的组成部分。
使用API编程就很牛了吗?在DELPHI中,只有那些没有办法的事情我们才会去考虑使用API,而且调用API对于DELPHI来说是非常容易的事情,API高级编程,这些东东都是拿来骗你的。
>>我也不是说delphi不能写控件,
>>因为VB也可以写呀。但VC的底层控制,和可
>>扩展性,delphi们无法体会到。
DELPHI无法体会到VC的底层控制,那我倒是想知道,你所谓的底层控制是什么,说来听听喽。我看看我体会得到吗?我怎么就觉得是你无法体会得到呢?
>>它们的定位
>>是不同的,要不微软为什么不把VC做成delphi
>>一样,拉拉控件,设设属性呢,VC
>>是唯一不是该风格的语言!相当简单封装和超
>>强灵活性是它的生命!
啊!真是十分的强大,你懂不懂历史?
VC是在什么时候出现的?当时的BORLAND C++买得非常火爆的时候,VC++就来抢市场了,于是,微软用它的贯用技俩,想做一个同类的产品来代替BC++,但是很可惜的是,VC++很多地方都不如BC++,就如MFC与OWL来比较的话,也不如OWL来得简单容易。
然后,微软又来了一个VB,想通过大众化来得到更多的客户,可异的是,内容非常糟糕,没有面向对象的概念,没有规范化,什么都没有,那才是你的所谓的控件编程,拉拉控件,用用别人的东东来拼出一个应用程序来。
你知道不知道,DELPHI 1.0在出来之前的名字叫做什么?叫做VB KILLER,她就是针对VB,VFP,VC的弱点的一个开发工具。非常高的开发效率,对底层的很好的控制,对数据库的控件,都成为了焦点,那个时候,让多少程序员摆脱了痛苦?
现在,C#的出现,也证明了DELPHI类的RAD开发的优势,可是C#晚了多少年,DELPHI领先了多少年?


我看你还是努力学习,天天向上吧,不要以为学了一点东西就有什么了不起的,你的路还长着呢。
cnj 回复于 2001-10-31 1:12:32
--------------------------------------------------------------------------------
同样是理解操作系统的东西,也有深浅,同时语言的环境很重要,就PB和VFP来说针对数据库应用多,相对操作系统一些比较高级的课题就接触得少了。要深入就困难,毕竟不是面对系统的开发工具。
>>VC复杂?并不是这样的吧,如果你的C和C++都精通的话,这些东西应该很容易懂的。(只不过是FRAMEWORK的理解问题)
我不敢苟同,其实大学的C++教程只是教一种概念,概念性的东西只是最基本的。
>>一个工具难学程度可以看出它的复杂性!!!
是这样的,一个难学的工具的确是复杂,不过,我怎么就觉得在你的眼里DELPHI要难学呢?
没学delphi只是觉得它前途不大,看看现在,将来,都是微软的东西最有前途,看看外面招程序员就知道。话又说回来,最难学的开发工具都没让我气屡,何苦delphi。
>>是吗?你真是少见多怪了。很多熟悉DELPHI的程序员都非常熟悉VC,因为他们对VC了解,所以他们知道VC开发程序的效率低下,比不上DELPHI,所以才会使用DELPHI的。
说VC效率低下,是针对DB吧,其实看看现在市面拿得出手的软件不都是用VC开发的呀,大的象office不说了,就那那些优秀的国产软件,超级解霸,下载工具netants,wps2000,甚至联众游戏,OICQ等难道用delphi开发出来的吗?就通信方面程控交换机的软件就首选VC,不会考虑delphi.不能把软件开发老是定位在数据库应用中! 这里顺便说一句,不知道谁是井底蛙。

>>我个人觉得delphi和VB属于同一档次
是吗?嗯,看来你只是一个初学者。我六年前学习VB的时候,我就认为VB = VFP = DELPHI,不过两个月后,我
学习DELPHI的时候,我就觉得两个月前的我简直就他妈的是一个大白痴。居然会有那样的言论出现。
你也不用太张狂,这里说一句,其实要说易用性,一个RAD开发工具,一个针对数据库应用,VB和delphi是不相上下的,大量的数据库服务器/客户机企业级应用,VB更普遍,ASP采用VB脚本语言。当然现在的VB.net就接近C语法了,也更成熟。
>>>>的,同是面向控件的编程语言,
面向控件,的确是,DELPHI是,VB是。但是,更加重要的问题是,DELPHI的控件的制作,VB是如何的呢?有DELPHI这么灵活吗?有DELPHI这么有效率吗?有没有这样美丽的封装框架?
VB制做控件也是很简单的,但离不开控件的支持,这一点上和delphi类似。但同样缺少灵活性。控件做好后扩充不易。讲到扩充性这却是VC的拿手戏,找个类,很少的改动就成了新东西。就比方说吧,写一个类似网格类,支持数据库,网格里支持多选行组合框,复选框,编辑筐,并支持popupmenu,等等。VC就用一些基本的类,消息等实现之,看不到在屏上拉拉拽拽,那种发明的感觉才真叫爽!delphi不用到控件能实现吗,效率怎么样呢。
>>>>现在VB.net将会在各个方面超过delphi,不管是易用
>>性,还是功能上,毕竟是微软的东东。VB.net将会在各个方面超过DELPHI?就因为它是微软的东东?
谁说微软的东东就是好东东?你有没有用过,你真是喜欢痴人说梦。
其实微软的东西是不是好东西大家心里都明白,看看大家在为这个认证那个认证的,就清楚。事实上VB.net是visual studio.net 很重要的组成部分,相互之间的类可以无间隙的使用,变化是巨大的,事实上VB.net和C#的界限也日趋模糊了。最核心的东西由微软操纵,interprise公司一直在追赶是不争的事实。你不了解也不要枉下结论。
>>VC是在什么时候出现的?当时的BORLAND C++买得非常火爆的时候,VC++就来抢市场了,于是,微软用它的贯用技俩,想做一个同类的产品来代替BC++,但是很可惜的是,VC++很多地方都不如BC++,就如MFC与OWL来比较的话,也不如OWL来得简单容易。

VC++很多地方都不如BC++,就如MFC与OWL来比较的话,也不如OWL来得简单容易。你说这话可以说很幼稚!!简单容易不一定是好东西!!!!说句笑话,刚开始时,我有想学BORLAND C++来的,当时有个搞计算机很不错的朋友就劝我,说,学这个做什么,“破烂的C”的公司都快倒闭了,要快速编成学VB,要不就学难的VC吧。可以
说是VC的出现,让BC++溃不成军了。
>>DELPHI无法体会到VC的底层控制,那我倒是想知道,你所谓的底层控制是什么,说来听听喽。我看看我体会
得到吗?我怎么就觉得是你无法体会得到呢?
底层控制当然有很多意义了。比方前面提到的各种可重用的类,效率高的基于socket api,wininet api,
类的开发,太多了......其实说穿了,不管delphi怎样RAD,不都是在api的基础上封装出来的!离不开windows api呀,如果很好地使用api,熟练掌握了,难道还不会使用delphi吗?学习的时间大大缩短!!只是现
在很多VC程序员不想转到delphi而已。

其实你心里很清楚,delphi是不能和VC++做比较,只是嘴中不承认而已。我本人一直在学VC,越深入就越觉得它的强大。也曾经学过delphi,写了些小程序,拉拉控件的感觉实在给不了自己快感,就改攻VC了。VC有些时候是繁琐一些,但也不全是,在大的工程中,它能发挥极大的威力。面向控件的开发工具最不好的就是结构性差,事件的跳转,搞得程序可读性差,代码的维护困难,封装性不好,这对于大的工程是致命的。这里我也不是说自己水平有多好,不象有些人目空一切!
我看你还是努力学习,天天向上吧,不要以为学了一点东西就有什么了不起的,你的路还长着呢。
谢谢你,我会努力的,也给你提个醒,认清形势吧。delphi 也许会象netscape公司一样的路,到时候,你就会谢我对你的提醒的。
我也回送你一句话:不要以为学了一点东西就有什么了不起的,你的路还更长呢。



苏梦枕 回复于 2001-10-31 10:37:43
--------------------------------------------------------------------------------
两位争论,呵呵,刀光剑影
为什么说是面向控件呢?这个术语谁发明的?vb是伪面向对象的基于对象语言,Delphi是纯粹的面向对象语言开发环境。你完全可以不用那些控件,用是聪明,不用是勤奋,如此而已。想扩展功能,写类来继承它,很舒服
一般用RAD的人,上手容易,进步不多,其实是被RAD的表象迷惑了,未能真正用面向对象的思路要求自己。我的理解是这样的:VB逼着你轻松构造,VC逼着你勤奋构造,Delphi迷惑你轻松构造(大部分人被迷惑了)
关于VB.net,一般来说,与原来的vb6大相径庭,是真正的面向对象了,改变太多。我以为它去掉了原有的易学性优点,前景并不看好。也许微软是期待用它实现大批vb程序员向网络时代的无缝转轨(不过这缝可不小:))
微软在vs.net中的主推语言是c#,其实就是java的影子,以后或许能大行于道,不过起步相对java晚了点,后者已成气候。微软现在在操作系统上太霸道(例如XP的激活),增大了困难
汇编的黄金时代早已过去,pb的黄金时代两年前也过去了,接下来过去的会是哪一种?我看好c++和object pascal一起退隐江湖:)
其实国外早已是Java的天下
等用一种语言的黄金一代程序员退出江湖,也就不会有关于它的太多争论了。
两位都是高手,何需为几门语言伤了和气,哪种语言风行,学习就是了。这叫做随风倒:)感觉语言不好用,大家一起痛骂之。
BTW:其实Borland的BC败于VC,不在于BC3.1,而是后续的4.0、5.0太令人失望。目前它的主要收益,分别来自JBulder和Delphi,以后或许会有Kylix,在java和linux大行于道的时代,要如netscape一下子死翘,并不容易(Interprise公司前不久重新改名为Borland)
吗啡 回复于 2001-11-1 19:11:06
--------------------------------------------------------------------------------
to: cnj
OK,我们直接一点
不错,“同样是理解操作系统的东西,也有深浅”。不过我不认为你选用PB、VFP针对系统级
的应用来说明DELPHI针对系统级的应用是明智的。我想你肯定是没有用过DELPHI吧,也许你
也是没有用过PB、VFP。这三种语言我都用过,不过,PB、VFP的侧重点不在于系统,而是针
对数据库。在PB中甚至没有指针类型,调用一个需要带STRING的指针API几乎是不可能的事情
(我还记得,我曾经用DELPHI制作了一个几K的DLL文件来帮助PB调用一些需要带指针字符串
的API)。而VFP呢,关键还是数据库,稍微深入系统一些的调用就已经做不来了。
DELPHI可不是你想像的那样,它对各方面的调用以及应用都非常顺手,因为PASCAL和C语言本
身就是兄弟语言,所以C的调用方式很容易就可以转变成为PASCAL,再加上对系统级的各种操
作,比如说:线程、COM、回调都与C非常接近。至少到现在为止,我都没有因为哪种功能实
现不了而要用到C的,如果你有,那么也是因为你对PASCAL的肤浅了解而导至。

“大学的C++教程只是教一种概念”,我从来就不认为中国的计算机教育很好,而我说的任何
东西请不要与大学扯上半点联系。不过从这一句话中可以看出,你好像不是怎么尊重概念性
的东西。不要忘了,哪一句程序不充满了概念?内存?链表?队列?指针?数组?流?面向
对象?“难学的语言就表明了复杂性”?两样菜摆在你面前,是不是难吃的那一盆就复杂过
好吃的那一盆?

“将来,都是微软的东西最有前途,看看外面招程序员就知道”?
你算了吧,外面招的程序员大部份还是要DELPHI的,而且,DELPHI的易用性和对系统深入程
度都是非常好的东西,RAD开发工具在市场上的份额会越来越大,用户会越来越多,以后更多
的程序员都会转向系统的分析,控件的制作,像这种一个程序一个人就完成的情况会越来越
少,而会转向网络的开发模式,提供出接口,别人就可以调用。一个程序员可以是做控件的
,可以做界面的,可以做系统核心的,可以做算法的,你只要在网络上搜索你所需要的资源
,然后进行调用就可以了(当然需要付钱),最后,将会使用最少的工作量来完成最多的事
情。不管你承不承认,VC淡出要比DELPHI快得多,必竞不是一个档次的,不容易应用于构件
开发。
关于用什么来开发的问题,我想我不用和你针论。连DELPHI那么大的一个集成环境都是用
DELPHI写出来的,我想这已经足够说明问题了。并不是说超级解霸,NETANTS,WPS2000等不
用DELPHI开发就表明了DELPHI不能开发,这个问题你可是要搞搞清楚。而且我所说的软件开
发并不是指数据库,甚至我可以抛开数据库不谈,因为DELPHI的数据库开发只是占DELPHI开
发很小的一个部份而已,而你不过是对DELPHI不够了解,造成了你认为DELPHI只能做数据库
。去DOWNLOAD.COM去看看,下载一些排名比较前的软件,就会发现有很多程序都是DELPHI开
发完成的,这也已经足够说明问题。
VB和DELPHI的易用性真的不相上下吗?DELPHI中的OBJECT PASCAL可是纯粹的面向对象的开发
语言,VB?算是什么,一大堆乱七八糟拼出来的东西,那也叫做开发环境,说出去就可以笑
死一群人。
DELPHI的控件做好后扩充不易?这是我在本世纪听到的最好笑的一句话。
你去www.torry.net去看看,分门别类,你要做什么都可以在上面找到相应的控件,如果说扩
充不易,哪来这么多的控件?而且,做DELPHI控件是一件最幸福的事情,只要你懂面向对象
,只要你了解VCL,你就会做,这一种易用性现在还没有什么语言可以比拟。用OBJECT
PASCAL做出来的控件直接就可以安装到DELPHI的集成环境中,这是任何一个DELPHI开发员都
知道的、而且效率很高,不过我想你是不会知道的。DELPHI本身的标准控件也是用这种方式
开发出来的,这一点你应该更不知道吧。
我觉得你还是停留在DOS的开发阶段。并不是每一句代码都自己完成的程序那才叫做好(虽然
这样做DELPHI完全可以做得到),为什么会有RAD工具?为什么会有DELPHI?就是为了解脱我
们程序员,希望大家可以轻松的做事情,不要再那么劳累,而你却并不知道这一点,你编写
程序只是为了满足你自己的心理需要而已,而我编写程序是为了用我程序的用户。
微软的东西就是好?BORLAND公司只是在追赶?为什么我觉得C#非常像DELPHI?为什么微软要
出一个和DELPHI类似的RAD工具?谁在追赶谁?只是因为操作系统是微软的而已,就可以证明
BORLAND在跟风吗?呵呵,你还是痴人说梦。
(另外:纠正你的错误,因该是INPRISE而不是INTERPRISE,而且现在已经改回成BORLAND。
这只说明你对BORLAND公司一点都不了解)
一年前,我还听说MICROSOFT投入了很大一笔资金到BORLAND,希望与BORLAND公司达成一个协
议,那就是:微软给BORLAND提供最新的操作系统的资料,希望BORLAND仍然制作在WIN32平台
下的开发工具。这是为什么你知道吗?这是因为MICROSOFT害怕BORLAND公司不再制作WIN32平
台的工具后,所有的使用BORLAND工具的程序员会转向LINUX或其它操作系统,这会导致
MICROSOFT的WINDOWS的市场份额不在那么大,而会被LINUX其它操作系统所占领了。因为在
WIN32下的很多应用软件都是用BORLAND的开发工具制作的。

“VC++很多地方都不如BC++,就如MFC与OWL来比较的话,也不如OWL来得简单容易。”
这句话很幼稚吗??!!!简单容易不一定是好东西??你的那个所谓的“搞计算机很不错
的朋友”劝说你的话才幼稚吧。
难道MFC不比WIN32程序开发来得简单,你难道可以说MFC不比WIN32程序好?(也许你是这样
认为的也不一定)
原来你所谓的底层控制是这样的吗?
1、各种可重用的类
这个是面向对象的范畴,不属于底层的东西,相反,它应该属于高层次的开发,不知道你
有没有真正的设计过一套框架类,用C++或OBJECT PASCAL来设计制作,这些东西将会在以后
是重点,而不是你所谓的API调用。API调用只是一些低级的东西,我可以说,只要给我手册
,我就知道如何调用,要不然就不会叫做API了(APPLICATION PROGRAM INTERFACE)
2、效率高的基于SOCKET API,WININET API,类的开发?
SOCKET API,WININET API的开发也不过是一些API的调用,需要高效率意味着需要一个很
少的网络传输和一些高效的算法,这些并不是说用C做得到而PASCAL做不到的,你要这么说,
我只能说是你非常愚蠢了。
你以为你学会了VC就学DELPHI会非常快吗?你拉倒吧。
我想我需要再次重申一个问题,你做程序只是需要满足你的所谓“快感”而已,而我做程序
完全是为了用我的程序的用户,我们俩个是无法比较的。学VC,越深入就越觉得它的强大,
这是肯定,因为我也有这样的感觉,但是就开发一个程序来说,我宁愿使用DELPHI而不是VC
,因为DELPHI做程序的开发效率很高,而且扩展性各方面也很好,你说不好,是因为你不会
,而我却从来就没有否认过VC的效率和扩展性,因为我也会。
我记得我以前在DOS下用汇编写中断调用程序的时候,写驻留内存程序的时候,用C写应用程
序的时候。那时候我也是认为代码就是一切,在使用DELPHI的时候也有过你这样的感觉,我
甚至没有办法忘记以前的编程方式,因为那时候的太多东西都花了我很多的时间来学习。但
是我还是接受并慢慢喜欢上了DELPHI的这种开发方式,因为这一种开发方式的确是让我摆脱
了很多不必要的时间精力的花费,喜欢写控件时就写控件,喜欢写应用程序时就写应用程序
,不管是界面上的,系统级的,类的,还是可重用的框架,都可以用DELPHI轻松的制作出来
,而且性能都是一流的,如果你说不行,那也只是因为你不会而已。
VC程序员不用DELPHI,因为他们憎恨(至少有一部份如此),他们憎恨这种开发模式,认为
这种开发模式会给他们带来厄运,因为一件用VC来做很复杂而且繁琐,不容易的事情到了
DELPHI下居然变得那么轻松,快捷,而且各方面性能都不差。
“面向控件的开发工具”只是你编造的一个骗人的名字而已,事件的跳转会导致程序的可读
性差吗?这个我不是这样认为,事件的跳转可以让程序员灵活地处理各种事件的的发生,而
且是以对象的形式处理,这不应该是可读性差,而应该是好才对。
拉拉控件只是你对DELPHI的一个肤浅认识,就像你的快感一样。 ^O^
不要拿DELPHI与NETSCAPE比较,那样很蠢。

吗啡

朱德祥 回复于 2001-11-1 20:03:26
--------------------------------------------------------------------------------
To:吗啡
我觉得用Delphi 与 VC++ 相比就好像用以前的Pascal 与 C 相比。那是不可比的!
我也觉得Delphi 在可用性方面比VC++要强,但在功能与性能方面要比VC++差!
吗啡 回复于 2001-11-1 21:06:18
--------------------------------------------------------------------------------
to 朱德祥:
Pascal &
C 为什么不可比?
Pascal做出来的程序比C的要小得多,速度快得多,编译速度快得多。C做出来的PASCAL一样做出来,而且不难。难道不是。PASCAL语法严谨,不容易出错,而且一样有灵活的指针。
PASCAL与C比,各有优缺,不相上下。

huanghq 回复于 2001-11-1 21:09:23
--------------------------------------------------------------------------------
语言并不是主要的,重要的是编程思想
朱德祥 回复于 2001-11-1 21:34:38
--------------------------------------------------------------------------------
PASCAL语法是严谨,但我只知道Pascal 用来教学,而 C 用来应用。
而且有很多事是Pascal 不能做而C能做的!运行速度方面,公认除了汇编,C是最快的!
吗啡 回复于 2001-11-1 21:39:32
--------------------------------------------------------------------------------
Pascal的速度不快?你用一下就知道了,没有用过就不要在这里扯
吗啡 回复于 2001-11-1 21:40:59
--------------------------------------------------------------------------------
什么事情C做得到PASCAL做不到?
你不会而已
朱德祥 回复于 2001-11-1 21:44:56
--------------------------------------------------------------------------------
TO:吗啡
Unix and Linux 是Pascal 能做的吗?而且还有windows!...
 
够激烈,不过看的好累,也不排版一下。
 
sorry,我偷了一下懒.
 
我也看过,说的真不错,但我还是觉得C比Pascal有用,希望在这里不要引起争议,
我不是程序员,但我喜欢编程,喜欢Delphi,Delphi能给我编程的快乐,而Pascal是
我唯一上课学过的语言,只可惜...,不说了,Delphi确实了不起,它使Pascal不死。
我为Delphi祈祷。
 
pascal不能做系统吗?
 
当然行,我把它贴完:
=================================================
吗啡 回复于 2001-11-1 21:52:11
--------------------------------------------------------------------------------
操作系统PASCAL为什么不能做?LINUX下一样也有PASCAL的编译器

吗啡 回复于 2001-11-1 21:53:43
--------------------------------------------------------------------------------
一样也有操作系统是PASCAL做出来的,你不知道而已
朱德祥 回复于 2001-11-1 21:57:26
--------------------------------------------------------------------------------
To:吗啡
有没有Pascal做出来的象Unix/Linux/Windows/Os2等诸如此类的强大的操作系统!Linux 下虽然有Pascal编译器,但Linux是Pascal做的吗?
吗啡 回复于 2001-11-1 21:57:54
--------------------------------------------------------------------------------
不过我想我没有必要与你争这个问题,因为这个问题没有什么意义。我只是想让你知道,PASCAL和C是同一重量级的语言
朱德祥 回复于 2001-11-1 22:04:07
--------------------------------------------------------------------------------
TO:吗啡
虽然Pascal 与 C 是同一时代的语言,但我还是那句话:Pascal主要用于教学,而C主要用于应用。
   在今天,VC++ 同样要比 Delphi 强大那么一点!这是不可否认的!
而且,有很多人是懂Pascal 与 Delphi 的,并不是你一个人才知道 Pascal / Delphi !
吗啡 回复于 2001-11-1 22:36:53
--------------------------------------------------------------------------------
那是你学生时代的事情,现在就不要拿来说了
回复cnj 回复于 2001-11-2 0:06:07
--------------------------------------------------------------------------------
to cnj
你见过速达2000的软件吗?它早期是delphi写的,后来改为c++ builder,它们都非常容易做成应用的控件,特别是界面的明细表
控件,cool,要是用vc来写,简直是做梦。开发delphi的作者现在给
microsoft抢出写c#,可见delphi的先进,我比较过众多的流行开发语言,最后还是选择了delphi,我被它简洁而又高效的特点所吸引,
特别是网上成千上万的控件(带原码)更是喜欢,我有一个感觉,就是学了delphi以后就懒得去学其它的。我赞同吗啡 的观点。
会思考的草 回复于 2001-11-2 14:20:38
--------------------------------------------------------------------------------
标 题: c/c++的圣战
发信站: 北大未名站 (2001年11月02日07:33:27 星期五), 站内信件
作者:李维
我的回忆和有趣的故事-C/C++圣战篇[长篇]
Borland C/C++的反击
当Visual C++ 1.0在C/C++开发工具市场获得了空前成果的之后,Borland才从
Borland C/C++ 3.1的胜利梦中惊醒,思考如何面对Visual C++的猛烈功势。事实
上当时的Borland如果脑袋清醒一点,好好看清当时C/C++开发工具的市场,那么
Borland应该会发现虽然Visual C++经过2年多的整军经武,实力已经大不前。不过
Borland C/C++ 3.1仍然在许多方面可以和Visual C++一争长短的。例如其时
Visual C++的最佳化编译器仍然落后Borland C/C++ 3.1一些,第2点是MFC仍然没
有完整的封装Window API,而且MFC是以较低阶的方式封装Window API,并不是很
对象导向,也不是很容易使用。事实上以我的观点来看,我认为就是因为MFC不好
用,因此Visual C++才需要在整合发展环境中提供以可视化方式产生MFC程序代码
的功能,第3是Visual C++当时并没有很好的封装数据结构的Container Class,而
Borland C/C++却有非常好用的BIDS类别库。第4,也是最重要的,Borland
C/C++ 3.1仍然拥有绝大的市场,而且几乎所有的外围公用程序,Shareware等都是
使用Borland C/C++ 3.1开发的。因此如果Borland不要急,好好的开发下一代的
C/C++开发工具,即使Microsoft Visual C++能够掠夺一些市场占有率,但是如果
下一代的Borland C/C++能够像Borland C/C++ 3.0一样立刻拉开和Visual C/C++的
距离,那么Borland在C/C++市场仍将拥有王者的地位。
可惜的是,也许Philippe Kahn在和Microsoft的FoxPro For Window一役中被吓到
了,因此急于在Visual C/C++ 1.0之后立刻推出新的Borland C/C++以扳回颜面。
但是Philippe Kahn忘了,在这段时间之内Borland失去了许多的人材,Eugene
Wang也离开了,更重要的是在过去近3年的时间之内,Borland几乎没有持续的开发
下一代的Borland C/C++,在短时间之内如何能够仓促的推出产品呢?
但是Philippe Kahn可管不了这么多了,急忙找来了Carl Quinn等人便要求立刻开
发出下一代的Borland C/C++,于是Borland C/C++ 4.0就在这么鸭子赶上架下匆忙
的开发了。Borland在开发Borland C/C++ 4.0时犯了许多的大忌。首先在这么短的
时间内Borland决定全新发展整合发展环境,第2是把OWL完全重写,第3是大幅修改
最佳化编译器,第4是整合当时棘手的VBX,Borland居然让16位和32位的程序能够
同时使用16位,丑陋的VBX。
上面所说的每一项都是大工程,Borland早应该在Borland C/C++ 3.1之后便开始做
这些工作,现在要在短短的一年多的时间内重新开发一个这么复杂的C/C++开发工
具,几乎是不可能的工作。但是在Philippe Kahn的要求之下,这些Borland的工程
师还是硬着头皮做了出来。
不过我必须很沉痛的说,当时我在Beta测试Borland C/C++ 4.0时便和台湾
Borland的人说,如果Borland仓促推出Borland C/C++ 4.0的话,那么不但不会对
Visual C++产生任何的影响,反而是自杀的行为,因为臭虫实在太多了,整个整合
发展环境的反应也很缓慢,它的最佳化编译器更是笑话,错误百出,真是像当时恶
名昭彰的Microsoft C 4.0一样。我还开玩笑的说,是不是因为Microsoft从
Borland挖了大量的Borland C/C++人才,因此好胜的Philippe Kahn也还以颜色,
从Microsoft反挖Microsoft C的人,却不幸的挖到了Microsoft C 4.0的人。
但是很显然的Borland并没有听到我的,或是其它Beta测试人的心声,在Visual
C++ 1.0推出后的1年多,Borland C/C++ 3.1后的4年,Borland终于推出了新一代
的Borland C/++ 4.0,这个肩负和Visual C++ 1.0对抗的C/C++开发工具。
在Borland C/C++ 4.0 当时所有重要的计算机杂志?,例如Byte,PC Magazine,Dr. Bo
b等等,都有4.0?
页的广告。这个广告的内容是以一个巨大的猫头鹰为主,再搭配蓝色底色系的
Borland C/C++ 4.0为主,选用巨大的猫头鹰当然是因为OWL的原因,只可惜我现在
找不到那幅广告了。
痛失江山的Borland C/C++ 4.0
当时Borland使用了如下的广告用词 :
『Visual Is Only A Facial Facade』
来讽刺Visual C/C++只提供了产生MFC程序代码的基本精灵,而Borland除了也提供
相对应的AppExpert精灵能够提供类似的功能以产生使用者选择的OWL程序代码之外
,Borland C/C++ 4.0的整合发展环境还提供了可视化的3面版窗口,能够让程序员
完整的掌握整个项目的情形。
例如在下图中便是当初令人眼睛为之一亮的AppExpert:
还记得Borland提供的AppExpert吗?
下图则是当时Borland C/C++的注册商标,3面版窗口开发环境。看到下图又令我想
起当初使用C/C++写程序的日子,下方程式码面版清楚的显示了我在1995年于鼎新
工作时写的智能型Window排程系统,时间过得是真快啊。
令人怀念的Borland C/C++ 4.0整合发展环境,三面版窗口
当时Borland C/C++ 4.0的3面版整合发展环境真是开创了一个新的局面,因为这个
整合发展环境允许程序员知道每一个应用程序定义的窗口讯息,并且能够立刻的显
示在下方的程序代码窗口中,的确是非常的方便,也比当时Visual C/C++的整合发
展环境来得先进。再加入Borland较为先进的编译器技术和架构更好的C/C++
Framework-OWL,照理说Borland C/C++ 4.0应该会获得极大的胜利,那么为什么最
后会以失败收场呢?
没错,在Borland C/C++ 4.0刚推出之后订单的确如雪片般飞来,销售情形非常好
,因为这毕竟是Borland在睽违了数年之后的大作,许多Borland的用户都迫不及待
的升级,就像当初我也是拚命的要求台湾Borland要第一个给我Borland C/C++ 4.
0。但是在Borland C/C++ 4.0推出一段时间之后,市场的反应就急速的冷却下来,
因为各种负面的批评不断涌现,这主要的原因当然是因为Borland C/C++ 4.0的品
质实在不好,就像前面我在Beta测试时说的,由于Borland太急于推出4.0,因此并
没有在最后阶段修正许多的错误,又没有经过最后系统微调的工作,又太大胆的加
入太多先进的技术,造成了整个产品的不稳定,而造成了大错。下面几点应该是造
成当初Borland C/C++ 4.0滑铁卢的主要原因:
*整合发展环境方面-臭虫太多,容易当掉而且反应速度缓慢
*编译器方面-最佳化玩得过火,产生错误的编译程序代码
*OWL方面-采用全新的多重继承架构,虽然是正确的做法,却和Borland C/C++ 3.
1中的OWL不兼容,造成许多程序员无法升级C/C++项目
*VBX方面-大胆的采用在16/32位都能使用VBX的技术,造成一些VBX无法顺利的在
Borland C/C++ 4.0中使用
我想其中最可惜的就是OWL了,因为OWL 2.0在各方面都有一流的表现,实在是MFC
强劲的竞争对手,OWL 2.0也获得了各方一致的肯定和称赞。无奈的是由于OWL 2.
0做了从基本架构的改变,这是为了解决当初OWL 1.x使用了不标准的C/C++编译器
技术的问题,但是这造成了原本Borland C/C++程序员极大的困扰,因为升级不易
。对于新的C/C++使用者来说又因为Borland C/C++ 4.0本身不稳定的因素而却步,
因此造成了OWL 2.0叫好不叫座的下场,真是可惜了 OWL小组的努力。
我记得当时我的项目有使用FarPoint的SpreadSheet VBX组件,由于一直无法顺利
的在Borland C/C++ 4.0中使用,并且会造成应用程序的当掉,最后追踪执行程序
代码却发现应该是Borland C/C++ 4.0的问题,因此最后只好在咒骂中放弃使用4.
0,而回到Borland C/C++ 3.1。我当时想,对于我这个长期使用Borland产品的人
都无法忍受4.0的品质,其它的程序员又怎能使用这个产品。我想这就是为什么后
来4.0全面溃败的原因,因为Borland推出了根本不堪用的产品。
在我于Borland工作的时间,有一次在新加坡和现在Borland开发者关系部门的副总
裁David Intersimone谈起这一段往事,David也很感慨这一段往事,David直呼『
We screwed it up!』,『It's a mess』。David并且说当时整个Borland C/C++开
发小组都很混乱,和以往Borland C/C++ 3.0/3.1的开发小组比起来实在是差太多
了,除了因为一些重要的人物相继离开Borland,而且Microsoft也挖走一大票人之
外,Philippe Kahn的直接介入,造成人事不和也有很大的原因。
David I.说『We Screwed it up!』 ,『It's a mess』
在Borland C/C++ 4.0快速失利之后,Borland也体认到问题的严重性,因此立刻的
着手开发Borland C/++ 4.0的Patch,当时是称为Service Pack。但是在稍后的4.
01版中并没有完全的解决问题,一直要到4.02才稍为解决一些严重的问题,无奈时
不我予,拖的时间太长,市场已经起了巨大的变化。
在Borland C/C++ 4.0失利之后,立刻造成了严重的后果,首先是Borland C/C++的
市场大量且快速的流失,让Visual C/C++快速的成长。第二点是当初Borland
C/C++ 3.1在公用程序市场打下的江山也拱手让人,原本许多硬件厂商也使用
Borland C/C++ 3.0/3.1撰写驱动程序也开始转换到Visual C/C++,而严重的是在
应用程序市场方面由于4.0的品质以及稍后OLE的关系,也开始大量的开始转为使用
Visual C/C++来撰写应用程序。
Borland在3个主要的应用市场接连败退,C/C++的江山注定将易主,其势已不可挽

Borland C/C++,Visual C/C++,Watcom C/C++和Symantec C/C++的缠斗
自Borland C/C++ 4.0一役大败之后,Borland在C/C++市场上建筑的巨大堡垒似乎
再也不是牢不可破了。Visual C/C++固然在不断的接收Borland C/C++失去的市场
,此时在C/C++市场上也加入了另外两个坚强的对手,那就是Symantec C/C++和
Watcom C/C++。
Symantec C/C++的发展史
说起这两个对手也都是个个来头不小,先说Symantec C/C++吧。它的Think C/C++
在Macintosh上便是非常有名的编译器,因此早在C/C++领域便有深厚的基础。在
Symantec并购了PC上第一个C/C++编译器Zortech C/C++之后,Symantec进入PC的开
发工具市场也是箭在弦上了,只可惜的是其时Symantec还未找到一个在PC上有丰富
经验的开发工具领导者。
也许是上天注定要引起稍后的C/C++编译器大战吧,此时Borland C/C++ 3.1的幕后
支柱Eugene Wang刚好和Philippe Kahn闹翻,离开了Borland。Symantec见此时不
可失,立刻重金延揽Eugene Wang到Symantec,为Symantec推出第一个C/C++开发工
具。在1993年左右吧,Symantec C/C++在Eugene Wang的掌舵之下推出了第一个
Symantec C/C++版本,立刻便获得了市场的好评。自此之后Symantec C/C++军心大
振,不断的继续改善,也逐渐的获得了不小的C/C++市场,隐然成为可以对抗
Borland C/C++,Visual C/C++的另一山头。当时Symantec C/C++是以最华丽,先
进的整合发展环境获得市场的高度认同,在C/C++编译器最佳化方面的表现也不会
输给其它的编译器。
当时我在RUN!PC上写C/C++的文章,因此Symantec C/C++也有和我连络,并且送给
我一套最高档的Symantec C/C++,希望我除了为Borland写C/C++的文章之外,也能
够为Symantec C/C++写一些东西,我想这就是做为写技术文章的一个好处之一,那
就是可以拿到许多最Hot的开发工具。我还记得在当时安装Symantec C/C++之后,
的确被它的整合发展环境吸引的说不出话来,因为实在是太棒了,Borland C/C++
和Visual C/C++的整合发展环境和Symantec C/C++的整合发展环境比较起来,立刻
的就变成索然无味,平凡无奇了,到现在我仍然必须竖起大拇指对Symantec
C/C++的整合发展环境说声『赞』。我想Eugene Wang在这么短的时间内把Symantec
C/C++打造的好此之好,除了证明他的不凡功力之外,也有向Philippe Kahn示警
的意思。证明Philippe Kahn让他离开Borland是错误的决定。我之所以如此说是因
为其时Symantec C/C++最喜欢点名挑战的对象便是Borland C/C++了。
对我的感觉而言,Symantec C/C++就像是一个技艺精良,又装备华丽的C/C++军团

Watcom C/C++的发展史
真是非常有趣的是,Watcom C/C++走的路子和Symantec C/C++几乎是完全相反的。
当时出品Watcom C/C++编译器的是一家加拿大的小公司,不过这家公司却对最佳化
编译器有深入的研究。当时Watcom C/C++是以在DOS下能够产生最好的最佳化程序
代码闻名于世的,在其时有许多写游戏和DOS Extender的厂商都是指名要使用
Watcom C/C++,因为不论是Borland C/C++或是Visual C/C++产生的最佳化程序代
码都比Watcom C/C++的最佳化程序代码差上一截。再加入当时最有名的DOS
Extender厂商PharLap公司也是使用Watcom C/C++,因此Watcom C/C++在专业的
C/C++程序员以及系统程序员心中是第一品牌的C/C++开发工具。
不知道还有多人记得PharLap这家公司,或是有没有人记得Andrew Schulman这位伟
大的软件技术人员。当时Andrew Schulman的Undocumented Windows一书红遍了半
边天,也惹得Microsoft要告Andrew Schulman。而Andrew Schulman便是PharLap公
司的首席工程师,也是当时最著名的『The ANDREW SCHULMAN Programming
Series』的总监,例如当时由Matt Pietrek撰写的Windows Internals也是轰动一
时的巨著。而PharLap公司是当时出版DOS Extender软件最成功的软件公司。
谈到Matt Pietrek,熟悉Window Programming的人应该很少有不知这位大师级人物
的。Matt长期在Microsoft System Journal撰写Under The Hood专栏,专门写一些
深入系统的程序设计技术,在数年前便和Andrew Schulman,David Maxey成为
Widow System Programming的三大巨头之一。Matt也是著名的Window除错工具
SoftIce,BoundsChecker的主要研发工程师。Matt本身也是从Borland出道的,当
Matt初至Borland工作时便是在Turbo Debugger小组中研发除错工具。当时
Borland的Turbo Debugger是DOS下最强的除错工具,即使是Microsoft也无法推出
能够和Turbo Debugger抗衡的除错工具。Matt在这个小组中吸收了大量的知识,并
且快速的成为这个领域的专家。后来Turbo Debugger小组的部份成员被Microsoft
挖走,让Microsoft掌握了Borland的核心除错技术,以致后来也能够推出不错的除
错工具。而Matt也出走到NuMega公司成为开发SoftIce,Bounds Checker的关键人
物。写到这里还是不禁要佩服Borland,因为当今许多名满天下的重量级软件工程
师都是由Borland培养出来的。
在Watcom C/C++于DOS市场占稳了脚步之后,由于Window已经逐渐成为市场的主流
,DOS势必将被逐渐淘汰出局,因此Watcom C/C++要继续的生存下去,也一定要推
出Window平台的C/C++开发工具。大约也是在1993,1994年左右Watcom终于推出第
一个Window的开发工具。
不过当时Watcom C/C++在Window推出的C/C++开发工具实在是平凡不已,其整合发
展环境和另外三个对手比较起来简直像是远古的产品,一点特色都没有,不过
Watcom C/C++仍然是以它的最佳化编译器做为号召。因此在当时发生了一个非常有
趣的现象,那就是许多软件公司会同时买Borland C/C++,或是Visual C/C++,
Symantec C/C++之一,再搭配一套Watcom C/C++。在开发应用系统时使用其它三套
开发工具之一,最后要出货时再使用Watcom C/C++来编译以产生最佳的程序代码。
在Watcom C/C++推出了Window平台的开发工具之后,仍然吸引了一群使用者,虽然
Watcom C/C++的市场比起其它的三家来说是最小的,但是也在一方撑起了一片天,
成为四大C/C++开发工具之一。稍后Watcom C/C++被Sybase并购,并且成为后来
Sybase的Optima++的前身。
对我的感觉而言,Watcom C/C++就像是一个穿著朴素,但是却拥有最佳训练的白色
C/C++军团。
关键的时刻-MFC Or Not
在Symantec C/C++和Watcom C/C++逐渐的站稳了脚步之后,四大编译器决战的时刻
也逐渐逼近了。在1994年未的决战之前,Symantec和Watcom同时面对了一个非常严
厉的考验,那就是C/C++ Framework的选择。
虽然Symantec和Watcom都以各自的特色占得了市场,不过在当时对于一个C/C++开
发工具来说,最重要的因素之一就是C/C++ Framework。因此Symantec和Watcom也
都必须提供使用者一套C/C++ Framework。不过这对于Symantec和Watcom都是一个
难以解决的问题,因为当时的C/C++ Framework已由Borland的OWL和Microsoft的
MFC所占领,如果要自己发展新的C/C++ Framework,那么Symantec和Watcom并没有
如此雄厚的资源,也无法在短时间之内完成。因此Symantec和Watcom必须下一个决
定到底是要使用MFC或是OWL做为它们的开发工具C/C++ Framework。
在1993年初Symantec和Watcom分别和Microsoft签约License MFC做为它们的开发工
具的C/C++ Framework。至此大势以定,在C/C++ Framework的市场已经形成三家夹
击一家的形式。当时许多人便预估Borland将成为输家,因为市场已经成为一面倒
,MFC看起来已经是胜券在握了。在当时于Borland的内部也展开了激烈的辩论,讨
论是否也要License MFC做为C/C++的Framework,停止继续开发OWL。不过后来
Borland还是决定继续开发OWL,而不使用MFC,因为Borland的C/C++技术小组认为
MFC不论是在架构上或是设计上都比不上OWL。而且由于Visual C/C++在当时对于
C/C++的标准支持不如Borland C/C++,因此在MFC内部使用了大量的Macro以及不标
准的语法,因此如果Borland C/C++要使用MFC,那么还需要修改编译器来编译MFC

对于这一点我认为Borland还是做了一个正确的决定,因为如果当时Borland也
License MFC,那么不但在气势上便输了一截,而且当MFC的发展是完全掌握在
Microsoft的手里,那么就等于脖子是掐在别人的手里,动弹不得了。可惜的是
Symantec和Watcom并没有看清这一点,以为有了和Microsoft一样的Framework,就
可以在其它地方和Microsoft以及Borland一决雌雄,Symantec和Watcom却没有想就
是这一点决定让后来的决战一败涂地,终究完全推出PC的C/C++开发工具市场。
时序到了1994年未,C/C++开发工具的四大天王决战的日子终于愈来愈近了。
OLE的搅局
不知道是时运不济或是Microsoft的刻意如此,在1994年Borland C/C++和Visual
C/C++决战的前夕,Microsoft推出了OLE(Object Linking And Embedding)技术。
OLE是Microsoft为了对抗Apple的文件技术以及IBM OS2的Workplace和文件技术应
运而生的。OLE可以让Window平台的文件能够内嵌在不同的应用程序中并且能够让
文件在应用程序中被即地编辑(In-Place Editing)。说实在的,Microsoft的OLE和
Apple以及IBM的技术比较起来实在是差多了,OLE在稍后也被证明是失败的技术,
不过不管是Microsoft的OLE或是Apple/IBM的文件技术也都是失败的技术,都没有
造成巨大的成功。虽然这些文件技术都没有成功,但是OLE却足以成为Borland,
Symantec和Watcom失败的重要因素。
我还记得当时OLE似乎成为了一个令人趋之若鹜的时髦功能,因为Word的文件能够
内嵌在Excel之中,并且可以点选此Word文件,应用程序又立刻成为Word来编辑它
,实在是令人觉得非常的神奇。不过在其时所有的软件厂商中只有Microsoft的应
用程序有如此的功能,其它的厂商例如Lotus,WordPerfect等都无法实作出这种功
能。这造成了不公平的竞争,因为OLE技术是由操作系统厂商Microsoft推出的,但
是却让它的应用程序部门同步拥有这种技术,而其它的软件厂商都无法获得第一手
的OLE技术来实作,这是为什么当时其它的软件厂商如此火大的原因。
虽然后来其它的软件公司在取得了OLE的技术信息之后也推出了具备OLE功能的应用
程序,但是毕竟是慢了Microsoft许久,市场也流失了许多。不过我也很奇怪的是
在当时内建OLE功能的应用程序之中,几乎所有的软件厂商推出的应用程序在激活
数个应用程序而且使用OLE之后,就非常容易的当掉,只有Microsoft的应用程序不
太会发生这种情形,因此许多人便认为Microsoft有隐瞒一些技术没有让其它的厂
商知道。
由于OLE是如此的复杂,因此Borland无法立刻在OWL之中实作出这种功能,于是就
造成了市场上负面的影响。至于Symantec和Watcom虽然是License MFC,但是在其
时它们License的是MFC 1.x的版本,Microsoft并没有把OLE实作在MFC 1.x中,而
是在实作在MFC 2.0之中。在MFC 2.0推出时最重要的功能就是Microsoft加入了
20000多行支持OLE的程序代码,但是MFC 2.0却仅限于Visual C/C++使用,就是这
关键的一点让其它三家厂商吃了亏。
对于OLE这个关键技术的影响,Borland是深知在心的,因此在计划在Borland
C/C++ 4.5的OWL 2.5中支持OLE。当时Borland推出的解决方案便是OCF(Object
Component Framework)。
Borland当初在设计OCF时有几个重大的目标。这些目标包括了: 一、如何能够使得
OLE琐碎 、复杂的接口能够单纯化;
第二、如何能够使得OLE在窗口环境下写程序
的思考方式 一致化--即使用「事件驱动」的方法。第三、如何能够在微软占尽天
时、地利(未必人和) 的情况下使得Borland的产品具备OLE的功能。第四、如何能
够让大多数C++的程序员都能够享受OLE的功能而不局限于OWL的程序员。由于上述
的设计目标, 而造就了典雅而具有弹 性的OCF。由于OCF本身是一完整而独立的
Framework, 因此它可适用于各种应用程序发展Framework。
不晓得各位使用过Borland C/C++的朋友们是否还依稀记得下图OCF的架构图之一,
以及下面的OCF范例程序代码,这些可是我把1994年写的文章挖出来之后找到的,
真是令我感慨,也回想起了当时的情景,也让各位回忆一下OWL和OCF。对于不熟悉
OWL和OCF的朋友,也可以从下图和程序代码中观察一下当时的技术以及设计的概念
。基本上我现在看这些图形架构,会发现它们并没有落后现在太多,可见当时设计
者的功力(Carl Quinn Again)。
//
// Insert an OLE object into the view
//
void TOleWindow::CmEditInsertObject()
{
001 PRECONDITION(OcView);
002 TOcInitInfo initInfo(OcView);
003 if (OcApp->Browse(initInfo)) {
004 TRect rect;
005 GetInsertPosition(rect);
006 SetSelection(new TOcPart(*GetOcDoc(), initInfo, rect));
007 OcView->Rename();
008 InvalidatePart(invView);
}
}
程序1 OWL的TOleWindow支持OLE插入对象之成员函数
//
// Handle left do
uble-click message
//
void TOleWindow::EvLButtonDblClk(uint modKeys, TPoint&
point)
{
PRECONDITION(GetOcDoc() &&
GetOcView());
TOleClientDC dc(*this);
dc.DPtoLP(&point);
TOcPart* p = GetOcDoc()->GetParts().Locate(point);
if (modKeys &
MK_CONTROL) {
if (p)
p->Open(true);
// Ctrl key forces open editing
}
else
{
SetSelection(p);
if (p &&
p == GetOcView()->GetActivePart()) { // resync the active
flag
p->Activate(false);
}
GetOcView()->ActivatePart(p);
// In-place activation
}
}
程序2 OWL的TOleWindow支持左键双击之成员函数
虽然Borland及时的在OWL 2.5中加入了OLE的支持,无奈Microsoft随后又在OLE中
加入了许多其它的功能,因此让OCF并无法完整的支持OLE所有的功能,B无法不断的延后
Borrland C/C++的推出,因此在1994年未,Borland终于推出了决战
的4.5版本。
C/C++开发工具的最后圣战
『虽然已经过去了许久的时间,但是我仍然忘不了那场最惨烈的战役!』
1994年未, 1995初Borland在痛定思痛之后,终于清除了Borland C/C++ 4.0中所有
的问题,也开发出了自Borland C/C++ 3.1以来最稳定,最快速的Borland C/C++
4.5的版本,准备和Microsoft决一死战。我还记得当时在书籍市场中许多有关
Borland C/C++和Microsoft C/C++的书籍都是使用十字军的封面,而Borland
C/C++的系列丛书都是以蓝色为色系,而Microsoft的则是以红色为色系,仿佛两大
军团终将决战似的。
C/C++四大天王决战一役的Borland主将-Borland C/++ 4.5
不过这次的战役不光是Borland的蓝军和Microsoft的红军相对抗,在Symantec的华
丽军团经过了经军经武,Watcom的白色劲旅枕戈待旦,而且都从Microsoft
License了MFC之后,蓝,红,花,白四大军团决战的日子终于到了。首先当
Symantec和Watcom分别取得了MFC之后,Symantec便推出了C/C++ 7.x的版本,和
Watcom C/C++混战了起来。两个使用系出同门的C/C++ Framework产品战得不亦乐
乎,随后Borland C/C++ 4.5和Visual C/C++的新版本也加入了这场最重要的决战
。但是让Symantec和Watcom C/C++大吃一惊的是Microsoft使用的MFC居然比它们的
版本高出了一个版本(1.x对2.x),而且新版本的MFC包含了完整的OLE支持能力。而
Borland虽然也有OCF,但是仍然不敌新版MFC中的OLE能力。由于当时几乎所有的应
用程序都需要支持OLE,但是却只有使用Visual C/C++最新的版本才能够开发完整
OLE能力的应用程序,因此不管OLE到底有没有用,反正先加入再说。因此市场上的
情势很快的就发生了巨大的变化,几乎大部份的应用程序开发因为OLE的原因都选
择使用Visual C/C++,Symantec和Watcom军团很快的就败阵下来。
至于Borland C/C++ 4.5虽然是一流的产品,如果没有OLE的因素,Visual C/C++新
版本真的并没有比4.5好。虽然4.5也有OCF,但是在市场上只有Borland和Novell,
WordPerfect选择使用OCF,在和Microsoft的Visual C/C++经过将近一年的缠斗之
后,其它大部份的厂商都选择了Microsoft的MFC 2.x版,真是形势比人强。基本上
OCF的架构真的是个好东西,只是OCF无法完整的支持OLE,因为OLE的发展是掌握在
Microsoft手中,因此虽然OCF的架构良好,终究在功能上不及对手。Microsoft结
合操作系统,开发工具和应用程序的手段真是无往不利。击败Lotus,Borland是如
此,歼灭Netscape也是如此。
对于Symantec和Watcom来说,这场战役就如同『长平之战』,秦军坑杀40多万赵军
一样。杀得Symantec和Watcom全军覆没,大败而归,至此Symantec弃受PC的C/C++
开发工具市场,转而开始研发Java开发工具,进而在稍后推出了著名的Visual
Cafe, 至于Eugene Wang则离开了Symantec,自此也离开了PC开发工具的领域。
而Watcom则是更为凄惨,整个公司在DOS的市场逐渐式微,而Window平台的开发工
具又大败而归,两头落空。不久之后Watcom便被新兴而起的Sybase并购,从此消失
于竞争激烈的市场。
归纳Symantec和Watcom失败的原因是C/C++的Framework MFC掌握在Microsoft手中
,在决战时刻Microsoft居然手握比Symantec和Watcom更新的MFC利器,而且在
Visual C/C++精进最佳化的技术并且改善整合发展环境之后,Symantec和Watcom诉
求的重点功能完全被Microsoft封死。因此在产品,技术,市场和气势上完全不如
对手的情形下,自然只能任人宰割了。
对于Borland而言,虽然没有像Symantec和Watcom那么溃不成军,但也是再次败下
阵来。虽然平心而论Borland C/C++ 4.5的确是一个非常好的产品,无论在OWL,最
佳化编译器,整合发展环境方面都有一流的表现,和Borland C/C++ 4.0比较起来
简直有如脱胎换骨一般,到现在Borland C/C++ 4.5仍然是我最喜欢的版本之一。
但是无奈当初Borland C/C++ 4.0给人挥之不去的负面印象,以及无法完整支持当
时如火如荼的OLE技术,因此还是在决战之中败了下来。好在蓝色的Borland大军毕
竟是训练有素的,虽然自此让Microsoft占据了超过50%的市场,成为C/C++开发工
具的老大,但是Borland仍然掌握了超过30%的市场,稍做喘息,并且支撑Borland
在各重要战役失败之后维持公司的运作,等待Delphi的浴火重生,再重新出发。
经过这一役之后,Microsoft终于清除了大部份的对手,对于Microsoft而言程序语
言开发工具的战争已经结束,这个市场注定将被Microsoft占据大部份的市场。在
Microsoft手握操作系统,Office软件和开发工具三大获利市场之后,Microsoft也
开始将矛头对准下两个竞争目标,关连数据库以及主从架构开发工具。在
Microsoft正式进军这两个市场之后,当然也展开了连番的好戏,尤其是在主从架
构开发工具方面又开启了VB,PowerBuilder,Gupta/Centura和Delphi的惊天动地
大会战。另外一个意外开启的战争则是Microsoft在1995年和Netscape的挑起的浏
览器大战。
对于Borland而言,在C/C++最后一役之后,基本上我认为开发工具的圣战已然结束
,Borland也正式开始走下坡。更严重的是我认为自此之后Borland不但丧失了
C/C++的江山,也失去了对于C/C++开发工具的创意,这是我感觉最遗憾的地方,到
现在为止我仍然认为Borland尚未重拾当初在Borland C/C++ 3.0/3.1时代独领
C/C++创意风骚的精神。也许,也许,要看看C/C++ For Kylix或是C++ Builder 6
是否能够重新找回这个失去已久的精神,不要再让我失望了。
雄霸数年的C/C++的世界冠军-Borland C/C++ 3.1-永远的怀念
永不成气候的C/C++开发工具-IBM Visual C/C++
IBM在C/C++开发工具扮演的角色一直令人啼笑皆非,因为在C/C++编译器战争最激
烈的时刻,IBM这个全球信息大厂却一直是缺席的。一直到了1995之后,C/C++编译
器市场大势已定之后才慢慢的加入战局,推出VisualAge C++ 3.0,企图进攻此市
场。但是此时市场早已由Microsoft的Visual C/C++称雄。IBM的VisualAge虽然以
创新的可视化设计家能够定义对象之间的关系,但是在其它方面却乏善可陈,整个
整合发展环境也缓慢如蜗牛,需要非常高文件的硬件配备才能够顺利的执行,和
Visual C/C++以及Borland C/C++等工具比较起来就像是恐龙一般,因此几乎没有
在市场上引起任何的反应。
在IBM推出VisualAge 3.0并没有在PC的C/C++开发工具市场获得任何的明显成果之
后,IBM又再次的集中了许多的资源,开发下一代3.5的版本,希望能够在此市场占
有一定的比率。我知道IBM在VisualAge投注了大量的资源,因为从Beta版开始台湾
的IBM便有人和我接触,希望我也在RUN!PC上为VisualAge 3.5写一些文章。因此在
1996年的6月我写了一篇C/C++编译器的比较文章,下面的资料便是数年前当时还在
Beta版的VisualAge 3.5和其它编译器的比较:
从上面的数据中可以看到其实VisualAge 3.5的表现还不错,只是对于当时还在使
用AMD DX4-100/32M RAM机器的我来说,实在是跑不太动VisualAge 3.5。后来台湾
IBM负责VisualAge的产品经理请我吃饭,在此饭局中这位李经理同时请了贺元(后
来为资迅人的总裁),薛晓岚(后来为资迅人的副总裁)以及其它两位作者,希望大
家在计算机杂志中继续的为VisualAge 3.5写写东西,一起Promote此产品。在这个
饭局中我是第一次和贺元,薛晓岚见面,当时贺元在中文PC Magazine有一技术专
栏。记得当时我向这位李经理提起我的机器几乎无法跑VisualAge 3.5,他还立刻
一口答应愿意借我一台当时IBM最高檔的PC,同时每写一篇VisualAge的文章,除了
RUN!PC原本的稿费之外,IBM会再付一字2.5元的稿费。乖乖,IBM真是大手笔,我
算算当时我的产能,写一篇文章就能够赚2到3万,又有免费的最高档机器可用,真
是太好康了。不过后来我还是觉得IBM在此市场可能不会深耕,在不愿意违背自己
写作习惯和得罪Borland的顾虑下,最后还是没有答应。现在想想当时真是太笨了
,放着好赚的稿费不赚,嘻。
IBM的C/C++开发工具之所以在市场无法成功是一是因为并不了解在此竞争激烈的市
场中使用者到底要什么。另外一个原因则因为IBM并不以PC上的开发工具软件为重
要的事业,即使无法竞争对于IBM来说也没有什么影响,不像Borland这可是生命之
争。因此IBM只是兴起玩玩,随即放下。所以我觉得在PC平台使用IBM的工具是很危
险的,因为IBM可能随时会放弃此市场。例如不知道现在VisualAge C/C++到底如何
,是不是还在3.5或是4.0版,已经数年没有任何的维护和改善了。
稍后IBM为了想在OS2和Window平台上推出能够和Microsoft相抗衡的Basic工具,因
此秘密的研发了一个Object Basic。我也曾看过这个工具,但是Object Basic跑起
来慢得跟乌龟一样.后来不知道是不是一直无法改善这个问题,因此IBM从没有推
出此产品,现在IBM似乎只对Java有兴趣,VisualAge For Java还算发展的不错,
希望不会有一天IBM对VisualAge For Java的态度会和VisuaAge For C/C++以及
Object Basic一样才好.
快速殒落的潜力之星-Sybase的C/C++ RAD工具Optima++
在1996年吧,Sybase并购了Watcom之后,终于推出了石破天惊的C/C++开发工具,
Optima++。Optima++是当结合了Watcom的最佳化编译器以及类似Delphi的组件拖曳
开发环境的第一个RAD C/C++开发工具,更棒的是Optima++的组件架构(类似
Delphi的VCL)完全是以纯正的C/C++程序代码撰写的。这可不得了,因为这代表
Optima++是一个融合了Visual C/C++和Delphi两大王者开发工具为一身的超级赛亚
人工具。
在我知道这个工具,并且取得实际的使用之后,令我极为震惊。因为这个工具对于
我这个使用了C/C++ 5,6年的人来说,是比Delphi还具有吸引力。因此在当年我立
刻的在RUN!PC上介绍了此不可置信的工具。果然,Optima++很快在开始风卷市场,
虽然没有立刻的占据很大的市场量,但是已经造成了一股气势,开始为Visual
C/C++和Delphi带来了压力。
我记得当时台湾Sybase办的产品发表会也吸引了数百人与会,不可一世。在我的
RUN!PC文章出版之后,台湾的Sybase立刻和我连络。由当时的余协理和我见面,也
是希望我继续为Optima++写文章,台湾Sybase也提供额外一字加2元稿费的待遇。
但是我告诉余协理,Optima++ 1.0虽然很棒,但是仍然有一些臭虫,而且和中文环
境相冲突,无法处理中文,需要立刻的解决问题才能够在台湾的市场成功。她答应
我立刻的向总公司反应。我也老实的告诉她在问题没有解决之前我无法写一些不确
实的东西。后来台湾Borland的总经理方先生也找我去询问有关Optima++的事情,
我告诉他Optima++是好东西,但是中文有问题。如果中文问题能够解决,那么将对
Borland的产品有很大的影响,当时我还不知道Borland由于Optima++的影响,已经
开始准备发展C++ Builder。
在1996年底左右吧,Optima++ 1.5终于进入Beta的阶段,但是在我拿到Beta版时仍
然非常的失望,因为中文的问题仍然没有解决。后来台湾Sybase又找我去,这次和
我见面的是台湾Sybase总经理郭俊男先生,以及Sybase的新加坡技术总裁,不过我
忘记这位先生的名字了。我们见了面之后,我立刻的把Optima++ 1.5中文的问题以
及许多的臭虫告诉他们,希望他们能够解决,如此Optima++ 1.5才能够在中文市场
成功。可是出乎意我意料的是,他们似乎并不急着这些问题,反而询问我是否有意
愿为Sybase工作,做PowerBuilder的产品经理。
也许是因为我为Delphi写了太多的东西,让PowerBuilder受了很大的影响,因此他
们希望我到Sybase工作,以打击Delphi并且Promote PowerBuilder。当时他们提出
的待遇条件实在是非常,非常的诱人,比我当时的薪水高出一倍左右(我当时在资
策会工作)。不过由于我对PowerBuilder实在没有什么兴趣,因此我告诉他们如果
是做Optima++的产品经理,那么我将会考虑并且接受。
没有想到Sybase的新加坡技术总裁告诉我Optima++在1.5推出之后就可能会停止,
因为Sybase要把资源移去为当时愈来愈红的Java研发一个新的Java RAD开发工具,
那就是后来的PowerJ。于是他问我如果不愿意做PowerBuilder的产品经理,那么是
不是愿意做PowerJ的产品经理?由于当时我已经知道Borland开始了Open
JBuilder的研发,而我对Open JBuilder的兴趣远大于PowerJ,因此并没有答应
Sybase。果然,在Optima++ 1.5推出之后,不但中文的问题没有解决,Sybase也没
有继续的对Optima++研发下去。
一个如此有潜力的产品就这样消失了,真是令人遗憾,Optima++应该有很好的机会
可以成功的,我相信如果当时Sybase知道C++ Builder后来的成果,可能就不会放
弃Optima++了。而C/C++的RAD工具一直要到后来的C++ Builder来完成这个梦,又
是Borland成功的进入这个工具市场。
C/C++的开发工具之争到此算是告一段落了,虽然后来Borland继续推出了
Borland C/C++ 5.0但是品质仍然不够好,市场反应也不佳,后来Borland终于在
Borland C/C++ 5.02之后

吗啡 回复于 2001-11-2 17:43:43
--------------------------------------------------------------------------------
C/C++的開發工具之爭到此算是告一段落了,雖然後來Borland繼續推出了Borland C/C++ 5.0但是品質仍然不夠好,市場反應也不佳,後來Borland終於在Borland C/C++ 5.02之後宣佈停止此條產品線的開發,Borland C/C++的光榮歷史也就從此打止,真是令人不勝感嘆,而Visual C/C++從此在C/C++開發工具市場中再也沒有對手。不過沒有競爭的市場的確會讓人鬆懈的,後來的Visual C/C++進步的幅度愈來愈小,MFC也數年沒有什麼大進步,不像當時和Borland C/C++競爭時每一個版本都有大幅的改善。看來寡佔的市場的確是不好的。
As Promised-李維
Edited by - Gordon Li on 11/01/2001 18:53:06

cnj 回复于 2001-11-2 21:15:28
--------------------------------------------------------------------------------
to 吗啡:
其实每个人用熟了那种语言感情上会偏重于它,也许你我都带了些主观的色彩。不过你看看本站对VC和Delphi 的评价,多数是认为VC优于Delphi的,不要不承认,是事实,就是从学习的角度,delphi比VC容易上手多了,是不争的事实,看看网上的朋友从delphi 和其它开发工具转入VC的开发是怎样一个痛苦的过程就知道。也没有必要再和你多争辩了。
另外用API开发并不象你说的那么简单,涉及到很多的细节,delphi 的很多属性和方法都是通过API封装起来,因此更底层一些,不过对系统的实现就更清楚一些,要实现Delphi等RAD开发工具绝对是对api运用得出神入化才行的,只不过这种水平你我都难于达到,所以还是拉拉控件,设设属性来得简单明了。
另外,你对vb的看法我也不敢恭维。正如delphi一样,vb几乎也可以做任何的开发,涉及到几乎所有领域,你说说看它那些活不能胜任,网络?数据库?多媒体?COM?就因为你使用delphi就高人一等,傲视使用群体最广的VB使用者吗?为你悲哀!事实上这些天我看了一些studio.net,delphi对vb来说最引以为傲的VCL和面向对象的特性在VB.net 中已经全面解决了,以前VB为了简单,隐藏了很多特性,比方在form中加控件,在代码中无从知道,现在你可以看到最底层的代码,包括它的各种属性的设置,都一清二楚。而且,继续保持简单易用性。甚至它的所有属性都可以在运行时修改,微软封装了更多的属性。对网络支持是前所未有,感觉搞开发就象在使用WORD 一样,简单方便极了。做程序不再是很复杂的事情,是一件很轻松的工作。用一两条语句就完成了VC要很多语句才可完成的工作,用很少的代码就完成了复杂的任务。
在这里和你争论真的很愚蠢,不过我想在RAD开发工具中,Delphi的淡出应该是必然的。在微软.net的强大攻势下,是一种趋势。因为面向应用的RAD开发工具中有C#,和VB.net ,面向系统的开发中有VC.(VC并没有停止脚步,现在的版本是VC7.0,功能方面也更强大,它和C#,VB.net 组成了微软的studio.net)


cd 回复于 2001-11-2 21:32:36
--------------------------------------------------------------------------------
读完C++圣战后有一种悲壮的感觉,真没想到软件的背后会有这么多故事。我从来都认为只要肯学习就没有不会的,可没想到从此后连决定学什么都那么难。
“只要掌握编程思想,用那个工具都得心应手”,高手们都这么说,唉,谈何容易呀。
吗啡 回复于 2001-11-2 21:55:22
--------------------------------------------------------------------------------
to cnj:
我并没有看不起用VB的程序员,选择什么语言并不代表一个人的能力,这只不过是一个程序员的选择(也许是被迫)而已。我所有的言论都是对开发工具的评论,不是对人的评论,请不要有任何误解。
但是VB的问题我相信你自己也是非常清楚。没有错,它是可以做任何方面的事情,不过编译出来的程序好与坏就很难说了。据我所知,VB对线程的支持不是很好,而且没有一个正统的面向对象的语法,光这两点就已经让很多开发商望而止步了。你说的VB运行时修改属性,这个问题在DELPHI中从来就没有出现过,因为在DELPHI 1出来的时候就已经是这个样子的。
你说的VB.NET已经解决了以上的问题,但也只是.NET出来了以后才可以解决的,而且,最重要的一点是,VB.NET的语法都做出了修改,一个类似C的语法,不知道M$的这一动作会让多少VB程序员受不了,我真的为他们感到难过。
你说到,运用API到一个出神入化的程度,其实这并不是很难的,只要认为有必要这样做的话,大多数程序员都可以,这只是一个时间的问题。而像我这样的程序员更多的精力不应该放在这个上面,而应该是整个程序的组织与结构问题。
本站是一个VC站,我也会经常来光顾,因为VC我并不讨厌。而在该站上面的VC与DELPHI的比较我是从来不宵的,因为这是一个VC站点。我想大多数使用VC的人都会认为VC好的,就象你去到WWW.DELPHIBBS.COM上去看看,应该没有使用DELPHI的人会说DELPHI不好。就象一个人一样,得到了别人的好处如果还要回头踩别人一脚的话,这样的人也就太不像话了。
我始终对你的拉拉控件不同意。
做DELPHI程序并不是拉拉控件就可以解决问题的,因为那只是界面的一些东西,方便好用是DELPHI的目标,但是,算法与程序结构才是DELPHI程序员大显身手的地方。你用其它的开发工具,只是拉拉控件就完成什么程序的话,我想信那个程序肯定不合用。
最后,我也不想再对这个问题继续做出什么讨论了,因为这已经是没有意义的事情,什么好与什么不好已经是非常清楚的事情,不须多言。
M$自己会让VC++淡出的,不用BORLAND亲自出马。

cnj 回复于 2001-11-2 23:08:58
--------------------------------------------------------------------------------
本来这个问题不想再提了,吗啡理解错了我的意思 ,我是说看不到窗体怎样加入控件的代码,并且也看不到控件属性的代码,因为现在在.net中InitalizeCompent函数中可以看到,在delphi和BCB中看不到,顺便提一下,BCB中的智能感应的响应速度比VC慢100倍,太慢了。
吗啡 回复于 2001-11-3 0:08:58
--------------------------------------------------------------------------------
安装完DELPHI后有VCL源码,把其中一个文件拷贝到当前工程的目录下重新编译后就可以跟踪调试,于是就可以看到控件属性的操作过程。
不要拿.net硬是要跟VCL比,它有InitializeComponent不一定VCL就一定要有,这简直就是无理取闹。
BCB的智能感应的响应速度是比较慢,但是不可能慢100倍。在DELPHI中的速度是很快的。而且,慢,肯定是因为工程包含的内容太大了,可以拆分成不同的LIBRARY就可以解决问题。
BORLAND的RAD开发平台中的智能感应有一个功能,不知道你知不知道,它可以根据前面的代码来自动过滤出后面的对象需要列出什么属性,没有必要列出来的内容是不会列出来的。比如说,前面的变量类型是整型,那么,后面的对象在输入->或.之后只会列出返回整型的属性及方法,其它的内容是不会列出的。


cnj 回复于 2001-11-3 4:24:10
--------------------------------------------------------------------------------
不可否认,Delphi是个很优秀的RAD开发工具,正如吗啡所说的。摆脱了VC的痛苦的开发过程,缩短了开发周期。但“天下没有免费的午餐”,它是对效率有很大的牺牲的。从生成代码就可以看出。我特别找了BCB5.0,和delphi同宗的Borland公司的开发工具做测试,BCB虽然可以和VC相兼容,可编译通过MFC,不过效率差得太远了。比方在VC自带的collect例程,在VC6.0编译成release版本有72K,在BCB编译居然有349K,差别有5倍之多。然后我又找了BCB自带的Example的CsDemos工程,看上去不是很复杂,也就几个form,可生成的exe代码竟也有936K,真够大的啦!我最近有留意到国内程控交换机生产厂家华为公司用VC开发的程控交换机客户端软件,功能很多,很复杂,有很多的界面,可是看看生成的exe文件居然只有328K,相信用这些RAD开发工具开发,生成的exe文件至少要几个M才行了,效率差得比较远,特别对大工程来说,更是如此。所以在要求效率的软件开发中,delphi这些开发工具不适合的道理。wps2000用VC做也生成了几个M的exe文件,真不知道用delphi做会有多大了。虽然用VC做写了更多的代码,但是生成了非常高效的,短小的执行代码。想想那些大型的软件,操作系统就别提了,就拿CoreDraw,CAD这类的软件来说,用RAD开发工具开发,真不知道会不会变成乌龟爬行了。所以VC绝对是开发大型系统软件的首选开发工具,它特别合适用在效率高的场合,从这点看VC程序员一定会对VC充满信心,也更自豪。
吗啡 回复于 2001-11-3 11:17:15
--------------------------------------------------------------------------------
不知道你是懂VC的还是不懂VC的。如果你是懂VC,那么你就是混蛋,如果你是不懂VC,我劝你还是去学学好了以后再来这里说。
用VC6编译COLLECT例子只有72K是吗?对,我拿来编译了一下是这个样子的,但是,关键不在这里,COLLECT中的编译SETTING中的默认MFC LIB链接情况是SHARE LIBRARY,你明白是意味着什么吗?你这个程序脱离了MFC库的话,就不可以运行,因为少了个环境的支持。把SETTING中的链接设置设置成为STATIC LIBRARY再看看,编译后的文件也有差不多300K。
你自己用VC做一个BCB自带的EXAMPLE中的CSDEMO工程试试看,做死你,光是数据库方面你就有得受,用VC做数据库如果使用ADO的话,光是COM连接方面都需要自己去QUERY INTERFACE,简直就是浪费生命。
至于你说到的要求效率的软件开发中不适合用DELPHI,这更是天方夜谈,你有没有玩过DELPHI做的游戏?效率一点也都不低,速度一点也不慢。以前我还有在DOS下做过PASCAL的拷贝内存的程序,效率也是非常之高。
为什么编译出来的程序会大?因为默认的DELPHI程序已经用到了很多UNIT,而这些UNIT都提供了很多的功能,不可否认的是,一个基本的BCB编译出来的程序就已经可以做很多基本的VC编译出来的程序做不到的事情了。
程序最后的RELEASE的大小问题不是说按照你这种算法的,DELPHI程序因为要挂上一些有用的动态链接库,所以才会大,而往后的话,程序的增长是不会按照增加一句就会增加一培的量来算。而且,程序如果有好的规划,很多东西是可以SHARE,这样一来,程序的空间,SIZE就可以节约很多。所以,一个程序的SIZE大小不是看编译器,而是看程序员以及程序设计。
吗啡 回复于 2001-11-3 11:29:49
--------------------------------------------------------------------------------
不过,从cnj的的口气变化来看,真是可喜可贺了,一开始cnj说:“DELPHI是什么东西”到最后的“不可否认,Delphi是个很优秀的RAD开发工具”来看,这一次争论还是有意义的。
我的目的已经达到。不说了
吗啡 回复于 2001-11-3 11:29:51
--------------------------------------------------------------------------------
不过,从cnj的的口气变化来看,真是可喜可贺了,一开始cnj说:“DELPHI是什么东西”到最后的“不可否认,Delphi是个很优秀的RAD开发工具”来看,这一次争论还是有意义的。
我的目的已经达到。不说了
cnj 回复于 2001-11-3 14:06:46
--------------------------------------------------------------------------------
在这里争论也没有多大意思,VC编译效率应该高一些,你不会不承认。VC做的程序代码小也是因为是不用控件和少用控件,比较接近底层的开发,在此基础上有好的设计,就更短小精悍了。至于数据库也不至于象你说的那么恐怖,我就是用VC做数据库的,感觉很好,高效。
不说了,废话连篇。
吗啡 回复于 2001-11-3 14:15:41
--------------------------------------------------------------------------------
从“快十倍”到“高一些”,看来cnj兄又有进步,哦呵呵呵……
海水 回复于 2001-11-3 17:24:38
--------------------------------------------------------------------------------

>>你自己用VC做一个BCB自带的EXAMPLE中的CSDEMO工程试试看,做死你,光是数据库方面你就有得受,
>>用VC做数据库如果使用ADO的话,光是COM连接方面都需要自己去QUERY INTERFACE,简直就是浪费生命。
我曾经在 MFC的 ODBC,ODBC API,MFC DAO ,OLE DB以及ADO层次上编程,写数据库时也没有做死啊
我到现在还活得好好的,至于你说你精通vc++,这种感觉,我三年前就有过,我自以为对vc++无所不知。
我现在只能说我即使不是一无所知,也是知之甚少。
>>程序最后的RELEASE的大小问题不是说按照你这种算法的,DELPHI程序因为要挂上一些有用的动态链接库,
>>所以才会大,而往后的话,程序的增长是不会按照增加一句就会增加一培的量来算。而且,
>>程序如果有好的规划,很多东西是可以SHARE,这样一来,程序的空间,SIZE就可以节约很多。
>>所以,一个程序的SIZE大小不是看编译器,而是看程序员以及程序设计。

我怎么听着好像是vc++就没有挂上一些有用的动态链接库,或者挂了一堆垃圾,程序反而稍小呢?
写vc++程序的增长是增加一句就会增加一培的量么?天啦,莫非vc++程序员根本就不知道dll,com?
看来在你的vc概念里,vc++的很多东西是不可以SHARE的么?

>>VC程序员不用DELPHI,因为他们憎恨(至少有一部份如此),他们憎恨这种开发模式,认为
>>这种开发模式会给他们带来厄运,因为一件用VC来做很复杂而且繁琐,不容易的事情到了
>>DELPHI下居然变得那么轻松,快捷,而且各方面性能都不差

确实我憎恨这种开发模式,因为一件用VC来做很复杂而且繁琐,不容易的事情到了
DELPHI下居然变得那么轻松,快捷,而且各方面性能都不差,佩服,想来用VC都应该
自杀才对,复杂而繁琐的东西,delphi都轻松完成,那么VC简单的完成的用delphi的
婴儿都可以完成!我现在听到了delphi这个上帝对我说,“哦!来吧,我就是一切。
我就像婴儿一样的简单和强大!”

>>我想我需要再次重申一个问题,你做程序只是需要满足你的所谓“快感”而已,而我做程序
>>完全是为了用我的程序的用户,我们俩个是无法比较的

听着这句话,还觉得有那么一点顺耳,"而我做程序完全是为了用我的程序的用户"这还像一个程序员的
声音.在你的眼里,用vc++是满足各人的所谓“快感”而已?看来要么你不是vc程序员,或者你们那里
就没有真的vc程序员,我没有听说哪个程序员单纯的为了追求所谓的“快感”而学习vc?我只是听说
为了追求更大的竞争优势学vc。(当然没有“快感”,你就不会深入,我想你学delphi也是一样的道理)
后记:
我本不想加入这场争论,讨论两种开发平台的优劣其实意义不大,选择什么平台纯粹是个人的习惯和爱好,
以及他自己本人所希望的发展方向来决定的。谁都会说自己好,关键在于根本就没有一个统一的尺度来衡量,
一个平台能够吸引更多的后来者,他才是有前途和持续发展的可能。我欣喜的看到学vc的人越来越多。
说vc马上退出历史舞台,为时太早。说delphi一统天下,那简直是天大的笑话!!!
关于vc与delphi的比较问题,我想可以告以段落了,建议版主删除之。
绝大多数人是文人相轻,党同罚异的。
做一些自己软件,或者自己人员配备整合的工作,远比在这里互相辱骂强的多……
xdzhan 回复于 2001-11-6 9:40:49
--------------------------------------------------------------------------------
to 朱德祥
你怎么知道没有pascasl做的操作系统?孤陋寡闻!!
Apple的MAC OS操作系统比windows华丽不知多少倍,更别说功能了!Windows就是跟apple学的!
“Pascal主要用于教学”
应该说Pascal的确当初被设计成教学用为目的的语言,但正是由于其功能的强大,才历久不衰,否则早就被淘汰了!当初如果M$选用pascal写windows的话,也许今天的windows也不会有这么多的bug!
c/c++和pascal/object pascal/delphi一个是倚天剑一个是屠龙刀,都是神兵利器,放在不会用的人手上,那一把都不顺手!
朱德祥 回复于 2001-11-6 21:04:19
--------------------------------------------------------------------------------
TO:xdzhan
你所说的话有些片面性,我确实没听过Pascal做的操作系统,那又怎么样,当前主流操作系统大部份是c/c++/asm做的,这是不争的事实!
>>孤陋寡闻!!
谈技术就应该谈技术,没必要说其他的吧???
难道一些“孤陋寡闻”的人做出来的东西没听过就是"孤陋寡闻"啦???
我并不是指苹果公司!!
>>Windows就是跟apple学的
  那又怎么样,好的就是好的,誰在哪方面好一点,大家就跟着学,为什么不行,难道apple就不向其他人学?难道你就是天生的天才,那你又为什么不自己做一套操作系统,为什么不自己做一个编程利器,
为什么不自己做一台自己设计的电脑!你为什么要学别人的、用别人的!!!!
>>c/c++和pascal/object pascal/delphi一个是倚天剑一个是屠龙
>>刀,都是神兵利器,放在不会用的人手上,那一把都不顺手!
简直就是废话!
  几十年以来,大部份操作系统、应用软件是用c/c++做出来的这就说明了一个事实!!!!!!

朱德祥 回复于 2001-11-6 21:13:55
--------------------------------------------------------------------------------
TO:xdzhan
>>看了大家写的一些
>>文章,觉得有些看法正确,有些就很偏颇甚至错误(也许无知?很>>抱歉我这样说:-)。我
>>无意与任何人争论,更愿意把这看成是技术上的讨论。应该本着公>>正,不带偏见的态度
>>(这并不意味着非要平分秋色,一切应以事实为准)。

>>你怎么知道没有pascasl做的操作系统?孤陋寡闻!!
>>Apple的MAC OS操作系统比windows华丽不知多少倍,更别说功能
>>了!Windows就是跟apple学的!“Pascal主要用于教学”应该说>>Pascal的确当初被设计成教学用为目的的语言,但正是由于其功能>>的强大,才历久不衰,否则早就被淘汰了!当初如果M$选用
>>pascal写windows的话,也许今天的windows也不会有这么多的bug!
>>c/c++和pascal/object pascal/delphi一个是倚天剑一个是屠龙
>>刀,都是神兵利器,放在不会用的人手上,那一把都不顺手!

绝妙的讽刺!!!!
公正??正确??
  偏颇??错误??

吗啡 回复于 2001-11-6 21:32:22
--------------------------------------------------------------------------------
看来老朱已经气得不行了……

刘棒棒 回复于 2001-11-6 21:37:08
--------------------------------------------------------------------------------
老朱同志,
恩.沃斯的Pascal是由algol66上改进的,目前能一次扫描编译
成机器码,连汇编都得两次扫描。 可见科学的就是强大的,尽管因它出得晚,并不为最大多数人接受,但是它是严谨的,科学的。所以一直在发展中。
朱德祥 回复于 2001-11-6 21:58:56
--------------------------------------------------------------------------------
本来吗,好东西就是好,只是因为你的偏见你就说它不好,可它还是好的!!!
  不像有些人,自以为是天下第一高手,“号令天下,莫敢不从”!!!
我一直都说Pascal是严谨的,我们很多人也都是从学Pascal而来的。但在实际商业软件开发中c/c++确实是首选!!!
xdzhan 回复于 2001-11-7 13:35:22
--------------------------------------------------------------------------------
真心向朱德祥同志道歉!
您说得对 “谈技术就应该谈技术,没必要说其他的吧???”

cd 回复于 2001-11-7 17:48:56
--------------------------------------------------------------------------------
我了解到c#程序只能在.net环境下运行,这样的话安装一个c#程序还得装.net吗?那c#何时能普及?
这本来是一个c#和delphi的论坛,可最后还是成了c++的了。
cnj可能是个高手,但我想他不了解delphi,观点有些偏颇,再加上一些言词的激烈,我认为他并不是真正的程序员,因为真正的程序员只用实力说话,而不用偏见。
其实delphi已不是pascal那么简单,应该说他是一个强大的开发工具,pascal只是他所用的语言。borland公司已经给这个工具注入了强大的功能,为什么人们在比较时只注重语言而不注重工具呢?还有object pascal也不是pascal那么简单,历史上原本没有object pascal,是borland后来发明的,不用说肯定融入了c++的思想,也就是说object pascal 和borland c++是一家人做出来的,要说object pascal 和c++是同一重量级的语言是一点也不过分。
同志们,我想引发大家比较各种工具的初衷无非是想尽显各种工具的优缺点,也给各位同行借鉴,取长补短。
为什么总是吵来吵去,那vc再好是你家的吗?那delphi再好是你开发的?干吗为了人家的东西争个脸红脖子粗的。要是真比,比谁写的程序好,把你们的作品放在网上,写明是谁开发的,用什么写的,获了什么奖,让大家评比。那些拿不出作品而又而又出言不逊的人,趁早闭嘴。
磊磊 回复于 2001-11-8 21:59:44
--------------------------------------------------------------------------------

a
如今呆得实在无聊,除了上网还是上网!
  在网上漫游过程中,我发现了一个问题,
  有很多的各个网站都说能为你赚到很多钱,为啥呢?
  就连读一封 E-mail 点几回广告栏都能挣到钱?
  难以置信,天下哪有免费的午餐?(后来才弄清是广告商买单),
可呆着实在是无聊啊,反正闲着也是闲着,
我就找了一个不要身份证,不要会员费,
只要有个地址,电话号码就能挣到钱的网站,
申请成了会员……(反正挣不到钱也不会吃亏,哼!)(再加上有前人的先列在先怕啥:))
也如前人一样:
  等了一个月,两个月……
  什么汇款单?连个影子都没有!
  不过一想,无所谓了,反正也没吃亏!
  就当是鬼迷心窍一回吧! 哈哈!
  可一直到了3个月……
  突然,汇款单到了!不看不知道,一看吓一跳!
  5百多美金?折合人民币不就是4千多了吗?
  半信半疑,到了银行,交了几十元的手续费,换回了4千多!
  真像做梦一样……买了一些一直想买的东东。
  兴奋之余,又开始了我的宣传,宣传越多,挣的越多吗?
  果然,不到一个月,又飞来了一张单子!
  1千3百多美金…… 真是难以置信!
  又过了一个月上涨到了2千4百多美金。
  如今,不用上班也有钱花了,真是乐哉乐哉!
  你不信?那没办法!只可惜这白花花的银子喽。
  不过,古人云:“宁可信其有,不可信其无”啊!
  反正也不吃亏,就当疯一回试试看嘛!
  相信我,没错的!
  加入方法很简单的哦:
http://www.MintMail.com/?m=1464700
  进入上面网站(如若点击不成,复制、粘贴到地址栏)
  打开网页,点击右上方 click here 活动图标,
  或点击蓝色 FREE Sign-up page 字样也可!
  然后,跟着提示,一步一步输入信息就ok了。
  值得高兴的是它能识别中文信息,而能100%加入!
  下面是我为了方便大家的加入详细说明了加入过程中的细节
  First name*: 名字(例:海林)
  Last Name*: 姓 (例:张 )
  Company Name: 可不填
  Street Address*:
家庭住址:(一定要详细填写,不然收不到汇款单喽!)
  例:上海市 **地方
  City*: 城市名 (例: 上海市)
  State*: 可不填
  Zip*: 邮编 ( 填 000-000 )
  Country*: 国家( 选 china )
  Phone*: 电话号码 ( 国家代码 86 + 去掉区位号前0
的电话号码)
  例:010-64243365 → 86-10-1451254)
  Fax: 可不填
  E-mail*:
电子信箱(所有的交流都通过信箱传递,所以务必填写正确)
  Confirm E-mail*: 再次输入信箱地址 *****
  Year of birth*: 出生年例:1970、1980
  Gender*: 性别 Male(男), Femaie (女)
  Password*: 密码 (6位以上),
  Confirm Password: 确认密码 (必须与上相同)
  how do
you want to receive commissions that you
earn?
  以什么形式接收礼品?
  gift certificates(double$$) 奖品 *cash 现金
  如要奖品能收到双倍价格的东西,
  但都是一些英文版的书籍、磁带、光盘 等,
  对于中国人来说,还是选择现金比较合算些,请选择
cash
  do you want to be notified when your referrals
sing up?
  加入会员成功时通知你吗?选 yes
  MintMail.com 请选择自己的爱好或兴趣
(最多可选10种)
  Submit 点击它 屏幕上就会出现 thank you 的字样
  同时你的ID(用户名 数字)和密码也会出现在屏幕上
  记住它,加入完毕,一切ok了!恭喜发财 !
  然后,5分钟之内你会收到一封欢迎信!.
  宣传方法:
http://www.MintMail.com/?m=1464700
  先介绍给你的亲朋好友们,
  然后,到各个网站的留言板中,把上面的内容全部复制、粘贴进去!
  只要有人点。你就可以挣钱了!好多啊!
反正不管怎么样都不会有什么损失的,去试试又何妨吗!:)
none 回复于 2001-11-8 23:10:18
--------------------------------------------------------------------------------
比较的意思,并不是要得出哪一个更好的结论.
犹如比较钳子淤改锥哪个更好用一样.没结果.
但比较更能找到各自的特点,所以更有利于学习.
我学过basic,那是为了考试.后来很久才开始学
vc,asm,delphi,标准c,有的是为了兴趣,有的是
工作需要,现在我写数据库用Delphi,本职工作(工控,QNX)
用c.
试用过C#,感觉不错,但就是速度慢了,(在以前的那个
很长的帖子里我发过粗略的比较,和Delphi比是数量
级的差别吧),但那不是C#的错,是jet编译器的效能
还没有起来,以后会好的.
现在感觉c#不如Delphi的地方是不能内嵌asm.当然我
的这个要求有点无理,但有时候也限制了C#的应用范围.
C#作界面比Delphi要强,那是GDI+的功劳.
真正用Delphi的人,起码是要过一遍VCL的,API不都在
里面吗,用asm编程(Win32Asm)道理也是一样的,不过
是一些系统调用,有什么好争论的.
我也喜欢asm.但我为了作一个masm编译器的IDE,用Delphi
来编,犯得着也用asm吗?
看了前面那么多,就觉的那个cnj特没有道理,喜欢和爱护
自己手里的工具是对的,但好像你对各种语言(编译器\平台)
没有一个是弄明白了的,都是一些道听途说的东西,其实效率呀
尺寸呀什么的自己写几个小程序来测试一下不就知道了,不是
吵出来的,除非你连个测试程序也写不出来.对于自己完全不
知道的东西,还是不要乱发言的好啊,图增笑耳.在这一点上,
你还不如我这个被人称为"农民程序员"的半路出家汉哦.
  这几天用Intel C/C++(编译器)5.0.1来玩玩,听说有的
浮点优化达VC6(7)的两倍(程序执行速度),有用过的同志吗?
交换一下心得和信息吧.
老李同志 回复于 2001-11-10 9:34:18
--------------------------------------------------------------------------------
有一种jini语言,它和c#相比又如何呢
abc 回复于 2001-11-13 16:55:06
--------------------------------------------------------------------------------
to:朱德祥
你以为Unix/linux/windows pascal不能做吗?这只是编译器没加这个功能罢了,所有的问题不在与语言,而在于编译器,语言是为提高开发效率的。
所谓VC/delphi,都是在同一个层次的,OOP+API,你掌握了oop和api就没什么难得到你。
Ykang 回复于 2001-11-14 10:30:35
--------------------------------------------------------------------------------
听人说,苹果的麦金托什就是用PASCAL写的。
那些辱骂PASCAL的朋友,你懂pascal吗?
叶君临 回复于 2001-11-14 21:07:29
--------------------------------------------------------------------------------
test

叶君临 回复于 2001-11-14 21:16:51
--------------------------------------------------------------------------------
>恩.沃斯的Pascal是由algol66上改进的,目前能一次扫描编译
>成机器码,连汇编都得两次扫描。 可见科学的就是强大的
就我学过的编译原理知识,好像是除了某一种特殊的语言(忘记是什么了)外,其他的所有语言都可以实现一次扫描。编译的时候,几次扫描并不能说明语言的优劣,事实上,扫描的遍数越多,越有可能实现更多的优化。c++当然可以实现一次扫描。

另外,我觉得未来,至少是windows平台上的未来,将是c#或者java的天下。本地码将没有前途。
为什么,因为很显然,随着intel和amd在cup指令上的分歧,64位的两种cpu将不公用一种指令集。也就是说你的本地码将必须编译为两份,一份是for intel, 一份是for amd。
如果你升级了机器,cpu从intel的换成了amd的,那么你的软件就不能用了。
这种情况,很麻烦。会影响到软件的销售。所以我认为,除了少数对速度效率有特殊要求的软件外,其他的都会被编译成某种中间码,正如java,c#那样。所以,vc/delphi都会淡出。
学c#吧。or java
叶君临 回复于 2001-11-14 21:21:38
--------------------------------------------------------------------------------
我认为c++真正的精华在stl,如果弄通了stl, 具体在哪个平台进行c++的编程,是很容易的事情。
使用mfc,我感觉主要还是一些表象的东西。vcl也是这样。
关键是要领会那种编程的思想。
codez 回复于 2001-11-16 13:20:48
--------------------------------------------------------------------------------
我总觉得 c# 的本意并不一定是针对java,虽然他们很像。
从生成的结构上比较,也许c#更像vb,不过,我觉得 c# 是
新的一类语言,总体上来说,它是m$ 的.net计划的扩展基础。
我觉得delphi 如果不像被丢掉,最终也会.net 话,不过,
程序员们不用担心,borland 肯定会向下兼容的,编程方法不
会变,底层的东西~不必关心~
我们也许只是杞人忧天而以~

简单 回复于 2001-11-16 21:32:51
--------------------------------------------------------------------------------
搞笑!两样都喜欢用不就完了。我是两样都用,不错。都棒。VC#出来了。我正忙这学呢。感觉很好!
zlxym 回复于 2001-11-17 16:47:11
--------------------------------------------------------------------------------
我同意叶君临的说法,未来Windows上的应用程序很可能运行在字节码中,要解决的问题就是如何尽量缩短字节码的机器码之间的性能差距。
另外,争论哪种语言的好坏毫无意义,而是使用这种语言的对应工具,看这种工具能给你从事的工作带来哪些好处。C++的最新标准已经发布三年了,但迟迟没有出现一个完全遵守标准的编译器,这就说明了其厂商已经不把是否遵守某个语言标准作为首要考虑的问题,而是他的产品能给用户带来哪些好处。
Pascal语言比C语言出现得早,而其生命一直延续到今天,说明它还是有它的优点的,C语言的设计者一定也是参考了Pascal的某些特点,如结构化等,C和C++在今天能如此流行,说明这种语言风格很受大多数人欢迎,包括Java的语言风格与此也是一致。但大家应该看到,Java和C#和C++已经有了很大的不同。
对于各种开发工具而言,它们各自有各自的适用领域,但又不只局限在对应的领域中,所以单独说哪种开发工具的好坏是没有意义的,要看在哪个领域中进行比较。比如说,你要使用VC去开发一个MIS系统,显然是不明智的。而你非要使用PB去开发一个驱动程序,显然也是愚蠢的。不过大体说来,有些开发工具的专用性比较强,如PB,VFP,Develper 2000等,另外一些工具的通用性比较强,如VC, Delphi,BCB, VB等,可将其划入通用开发工具。古人云:工欲善其事必先利其器,对一个软件开发过程来说,工具选择虽不是最重要的,但也会对开发进度有相当大的影响。一般说来,如果要开发的软件属于涉及技术较单一的,如MIS系统,应选用专用的开发工具,这样可以大大提高开发效率而免去不必要的复杂性,但如果要开发的软件有某些特殊要求是专用工具做不到的或是不能轻易做到的,这时应该搭配其它工具一起使用。毕竟,我们的工作主要是向客户或市场以尽快的速度提供高质量的产品,而不是为了显示个人能力的高低。我们是工程师,不是科学家。
Kyo 回复于 2001-11-19 23:28:52
--------------------------------------------------------------------------------
朱德祥这样说就大错特错了,“Unix and Linux 是Pascal 能做的吗?“这句话根本就完全错了,Unix and Linux虽然不是Pascal做的,但是不代表用Pascal做不了!凡是都不是绝对的,是你写Unix和Linux的吗?又或者你是"Bill Gate"?
吗啡 回复于 2001-11-20 11:29:21
--------------------------------------------------------------------------------
to Kyo:
这种问题不值得浪费我们的时间。
 
嘿嘿,这个讨论看了半个小时了,总算看出了点门道,原来XX 回复于 XX时
才是一篇讨论的开始啊,都快把我搞糊涂了。
对于语言和开发工具的讨论真的这么重要吗?不过入乡随俗,我先对此事进行
以下说明。首先我个人是用Delphi的,但是我从来就没有认为VC不好,
因为我对它理解可能也没有朱德祥深刻,所以说的可能有所偏差,VC是个功能
强大的工具,但是它的编程效果不是太好,我这里不是说代码的运行效果,而
是完成同样的功能要花多少时间,学习多少东西而言,学习VC需要花费大量的
时间去学习,因为它有海量的类库和及其难记的类名称,然后还要在编码的时候
考虑一些朱所说的“底层”的东西,所以用VC编一个东西要比Delphi,VB编花更
多的时间,这起码在市场的角度不是太核算。
说到市场,我想说的是其实当年财务软件市场的70%份额的软件都是用VB编的
VB和Access在您的眼里是不是很低级,但是他们却创造了巨大的财富,所以
我开始说的语言和工具的选择只能在一定程度上影响你的产品,而不是决定
的因素,特别是象Delphi和VC这两种势均力敌的IDE环境,两种工具都很好
但是要综合考虑各方面的因素,如项目要求、资金限制、时间限制等等,而不
只是从功能上,当然朱好像一直瞧不上Delphi,我觉得这不是特殊现象,很多
学习VC的程序员,都有一种天生的莫名其妙的优越感,好像就是上面说到的那
种唯我独尊的感觉,觉得其他的东西都是垃圾,反正VC可以干所有的事情,你
说VC强大可以,但是你说其他语言也和VC一样强大就不行,VC才是老大,他们
因为要保持这份荣耀的感觉所以会对一切可能危及到他们地位的人进行攻击。
兴许是因为他们在VC上下了大功夫,所以如果说Delphi可以完成一样的功能的
话,心理多少会有些不平衡,其实不就是一种集成开发环境和语言吗?如果说这
些东西是你开发的还说的过去,可如果只是应用就这么排他的话,人的思想就
可能会有问题,这对于合作开发的氛围是很不利的。
大多数朋友都看过《射雕》吧,里面有句歌词很好,“绝招,原是同途异路”
高手在努力研究自己武功的同时,还要博采众家之长,很少有对其他神功不懈
一顾的。搞软件也是这样嘛,语言、设计、软件工程、UML和CMM等的东西不都
是为了优美地完成一项软件吗?为什么非要盯着其中的一个环节不放呢?要
有整体感觉,看了这么多评论,感到有些朋友还是很成熟的,有些就象是刚出
校门的新手。作为一个软件人,你要达到的最后的目标,而不是出个工具就
跟上,跟着工具跑太累,而且会在盲目的奔跑中忽视了方向,结果南辕北辙
所以这些事情一定要停下来思考才行。
Pascal和C其实都是早期的两种语言,六十年代就有了,谁年纪大一点都不用
争论了,C因为编写了Windows所有现在变的尽人皆知,而且在直接调用API的
时候好像可以表现出天生的“血缘关系”,但并不是说其他语言在使用这些
API的时候有天生障碍,会调用API也不是什么高级技术,只不过是现在那些
出入门读物骗门外汉的罢了,其实Pascal调用也是很容易的,只不过很多的
时候没有必要用罢了。对了,我发现大多数喜欢VC的朋友都喜欢把简单的事
情复杂化,就象是出门到邻居家一样,你可以直接走过去,也可以往相反的
方向绕行地球一周,然后再去。效果是样的,但是为什么要那么把一些事务
变的那么复杂呢?整个人类的历史不都是在寻找一种统一的简介吗?哲学一
句话概括了世界的本原,爱因斯坦的经过了那么多计算的质能公式不也就那
么几个字母,你用的时候不是只用公式就行了?还用那么多的演算吗?
所以软件出现了封装,大家用的都很开心,可是为什么还有人不喜欢并视其
为低能呢?我们要尽量的利用现有成果,向前发展,而不是什么都自己来做
象小农经济。
朱说的又底层啦,又系统啦,是什么意思?做过啊?编过Vxd?我好怕
Delphi可以做任何VC可以做到的东西,不过这些可不是New几个窗口,拉
拉属性框就可以学到的,深入的学习Delphi花费的时间一定不会比学习VC要
少,说VC的编译效率高,这个我不同意,Delphi的编译器的效率是众所周知
的,VC的前身当年就是因为其编译器而屡屡战败的,而且现在你编译一个VC
程序一定会比编译一个Delphi程序慢许多,至于产生代码的大小,因为Windows
平台是微软的,微软不象宝兰提供支持,所以Delphi的程序才会大一点,
不过Delphi也可以编一二十K的程序的,你用它编过吗?
没错!Mac系统确实是Pascal编的,不过那是高端专业系统哦,象你我这样的
又没有艺术细胞的俗人是用不上的,这个可以说明Pascal的用途了吧?另外
如果你如此信任微软的产品的话,那下回你去做飞机的时候就给那个飞机按
个98、2000什么的系统,旅途保准很爽。高端应用一直不是微软的强项。
好了不说了,吗啡在吗?交个朋友吧!lofa@263.net
 
我只想问两个问题
一、是不是越复杂、越难学的东西就越好?
那你干脆用汇编算了,何必学VC。或者直接用机器语言,程序全部用0和1写!!!
二、可不可已告诉我什么东东只能用VC,不能用DELPHI写?
要有说服力啊!!!千万别因为WINDOWS是C/C++写的就说DELPHI写不了,因为我也
可以说VC写不出DELPHI,因为这是DELPHI写的嘛!!!
 
今天搜索我以前答复的帖子,居然把我在VCHELP的讨论搜索出来了,不过想想看,其实也
没有什么必要和这些人争论这些问题,其实用好手上的工具才是最重要的。呵呵
我的EMAIL 是:morphia@163.com 我在大富翁上也有帐号,是:吗啡
 
To 玛啡:
不要和那些井底之蛙争了,有什么意思?Delphi是一个功能强大的编程工具。真正的
Delphi程序员可不是拉拉控件就行了,VC能做的,Delphi都能做。用Delphi一样可以做
vxd。至于有些人一动就要提什么系统、底层之类的东西,那他们应该去学习汇编语言。汇
编和VB比更是无所不能了。学习用汇编语言编写Windows程序才能更快的掌握底层的东西。
不过我想那些人大概不会。别和他们争了,还是留个好心情过年吧!
祝大家新年快乐!
 
你们真硬!!!跟我是一伙的!
 
这是永远的话题,一山看得是一山高!
VC程序员的高工资摆在大伙面前。
看过《程序员过沟》的精彩对白,你会感慨更多。
VC就是VC,因为难,让许多人被挤出去,弄得许多人在葡萄架下说葡萄是酸的!
DELPHI就是DELPHI,它做它该做的事,否则BORLAND造BCB出来做什么?
筷子有筷子的用处,调羹有调羹的用处,如此而已。
语言不分有劣!也无须多学,关键是你每天需要做什么,你就须学什么。
学多了不用,还是一个字:忘。
君不见著名的VOPTME(WINDOWS快速磁盘整理)是VB写的,闻名天下,
作者的收入岂是你我能比,百万美圆都不止。
===
程序员过沟》:奇文共赏 Cool!
  本剧内容纯属虚构,如有雷同……HEHE……俺也没办法了。
  话说某市街道改建,某某软件公司门口横七竖八挖了几条大沟。
  一群程序员(SDK程序员赵某,VB程序员钱某,VC程序员孙某,DELPHI
程序员李某)下班从公司里出来,看到门前的几条沟,于是各显神通……
  门前第一条沟也就半米来宽,SDK程序员赵某二话没说,轻轻一跃跳了
过去,看到其他人纷纷把随身携带的公文包(类库)横在沟上踩着过沟,
不屑地说,这么小一条沟,犯得着小题大做用那个吗?看我多么轻松多么
洒脱多么……多么……(众人皆怒目横视之……)
  接着第二条沟有点宽度。
  SDK程序员赵某还是还是一马当先,飞跃而起……不好,还差一点才
到……
  幸好凭着多年的(跳远?编程?)经验,单手抓住沟沿,颤巍巍地爬
了上来,嘴里还念念有词“高手就是高手啊,虽然差一点就……不过毕竟
……HEHE……跳远是过沟的基础嘛,有基础(SDK)就有一切的说……”
  (众人作瞠目结舌状……)
  看到别人跳过去了,可自己又跳不了那么远,只好再想办法了……VB
程序员钱某,DELPHI程序员李某打开手提,连上手机,开始上网找可供过
沟的控件……VC程序员孙某却不慌不忙,打开公文包,把几块衬板拆了下
来,然后三下五除二拼成一个简易木桥……“虽然这几个板子(类)做得
不怎么样,不过先把这个项目应付过去,有时间我自己做一个好了……”
于是踩着板子过了沟。
  这时钱某和李某也分别找到了合适的东东。
  钱某找到的是“钢丝绳.ocx”,安装简单,使用方便,拉出一头,对
孙某说“大虾,顺手拉兄弟一把……”,于是把绳子系在沟两边的绿化树
木上,踩着钢丝就过了沟。刚刚站稳就四方作揖,“小生这里有礼了”。
这时一戴着黄袖圈的老太太跳了出来,抓住钱某,“破坏绿化树木,罚款
XXXX元,交钱,交钱,交钱!”
  (老人家作双枪老太婆怒视伪军状……钱某被逼无奈,只好边掏钱,
边对着后台叫道“导演,我这可是因公牺牲,不给个烈士称号也得报销”,
后台一个臭鸡蛋飞出,“叫什么叫,我这个月的粮饷还不知哪里去领呢,
都什么时代了,你不下岗都不错了……”)
  李某看着刚刚好不容易从台湾拖回来的“铝条.ZIP”,自言自语道,
“现在就用这个未免小题大做了,不如就将就一下用那个“钢丝绳.ocx”
好了,于是不声不响地跟着钱某过了沟……(观众一片嘘声……)
最后一条沟就有点过分了,若干米宽,深不见底,估计市里把街道改
建工程临时改南水北调了:)
  赵某得意了两回,这次却没了脾气,看着深不见底的沟,心里直打鼓,
但又不能不过,于是只好自己给自己打气道:“理论上只要有沟,会跳远
就一定能过,能不能过不取决于沟的宽度,而由跳远的距离决定,偶一定
能过、一定能过、一定能过……”,于是回头说了一句“兄弟先走一步
了……”(背景音乐:小白菜;赵作生死离别状,众人眼含热泪……)
纵身一跃,消失在沟内的阴影里(破碎虚空?),隐隐约约听到叫声的回
音“我胡汉三还会回来的……”
  钱某刚刚出了一回风头,急忙又拿出“钢丝绳.ocx”,想了一个办法
(剧情需要,具体实现办法请勿深究……如有问题,请到VB版发文提
问……),把钢丝系好,然后颤巍巍地走了上去……由于手上平衡木太短,
加上有风,时速只能达到3.1415926cm/h,估计明天上班前能够顺利过沟,
但他意志坚定,做出了“无论速度如何慢,进展如何困难,为了不辜负党
和人民的信任,为了弘扬中华民族5000年的光荣历史,为了给已过去的建
国50周年、澳门回归和即将到来的新世纪、台湾回归献礼,一定要把这个
大项目拿下来”的英明决定,让我们拭目以待,新时代的人定胜天的决斗
一定会胜利!(背景音乐:雄壮的进行曲响起……众人鼓掌……)
  孙某计算了一下钱某的速度,心想“虽然偶也可以用这个‘钢丝绳.ocx‘
搞定,但这样不就无法体现出咱们社会主义的优越性了吗,不行,偶不能
这样堕落的说”。又看了看李某手上的“铝条.ZIP”,心想“这个东东看
起来倒是不错,可惜解包后的东东偶八成不兼容,虽然M$投资inprise,但
inprise就是不愿被招安……哼,偶是M$的亲兵,难道还被怎么小条沟吓倒
了吗?”于是从包里拿出手锯,乘着刚才那个老太太正在唾沫横飞地数钱,
偷偷开始锯树……“反正偶有公文包做例子再自己做个超大的公文包应该
不成问题……就是做起来比较麻烦,等会多看看MSDN好了……”
  李某则不慌不忙,把“铝条.ZIP”解包,编译,安装……变成了“铝
梯.bpl”,于是端着往沟边走去,心里想“这个“铝梯.BPL”包倒是不错,
可惜有30天试用期,而且只能在IDE里运行……不爽……反正付不起注册
费,赶明儿到教育网上搜一把,找个cracker就万事大吉了……HEHE :)
  这时突然警报响起,屏幕上出现“Alert! Alert! Boss! Boss!……”
忙着过沟的众人急忙按下“~”(Cterm中的老板键),装作认真工作的样
子……
  这时只见到公司门口出现一人形阴影,一个烟头的火光一明一暗……
忽然光点作抛物线落到地上,一低沉男中音道“你们在干什么?没看到我
要过沟吗?各就各位……你,小钱,躺那儿;小孙,小李,到那儿、那
儿去;小赵!小赵?小赵那儿去了?你干吗?还躺在沟底装死吗?这个月
的奖金不想要了吗?快!”
  于是BOSS稳稳当当得踩着众人躺在沟上搭成的人桥过了沟……
  出场演员表
  程序员: 赵某:资深SDK程序员
       钱某:VB程序员
       孙某:VC程序员
       李某:DELPHI程序员
  隐藏BOSS:未知:系统分析员
  群众演员:若干……
  友情出演:居委会X大妈
 
SDK这么差呀,哦,我不知道的,VC偶也不会用,M$的那一套东东偶只玩过VB,还行,是人
牙会耻 ! delphi偶现在正在用,呵呵 ! BCB 也不错,偶喜欢耶!
不过偶还是觉得好好学习unix操作系统和C语言比较有前途也有钱图呀!
谁知道微软帝国能不能统治到娶老婆的时候呀!
 
后退
顶部