精通VC必须具备的几个条件。
有人再网上发布这样的消息,请大家评论是否客观?
告诉你的比较客观的说法, 精通VC必须具备的几个条件。
1。重点理工科大学计算机科学技术专业(注意不是计算机应用)毕业。
2。有5年以上C,C++编程经验。
3。深入熟悉WIDows 体系结构,运行机制。至少做到熟知所有WINDWOS系统每个文件的用途。
4。深熟WIDNWOS系统所有的变量,结构和API函数,深熟MFC。
5。能把MSDN倒背如流。
6。做个10个以上基于VC++的项目,至少有5个以上是以自己为主进行开发。
7。精通汇编,熟练使用SOFTICE等调试工具。
8。还有什么等想起来再说。
问题点数:10、回复次数:246Top
1 楼Tanya8088(一只小小鸟)回复于 2001-11-30 09:20:34 得分 0
恭请各位高手指点,小弟是新来的,菜鸟级。Top
2 楼ccnuxjg()回复于 2001-11-30 09:27:30 得分 0
这个人是吃什么长大的,我就不信他能这么牛,
要真有这么牛的人也寥寥无几,要不就超过35了,到那时候谁还去搞开发Top
3 楼flowerfly(随风飘)回复于 2001-11-30 09:30:53 得分 0
不相信,MSDN倒背如流?????Top
4 楼ccnuxjg()回复于 2001-11-30 09:36:01 得分 0
哎!难怪我的VC不能达到炉火纯青的境界的了。
看来是没指望了,呵呵。Top
5 楼huxianwei(飞狐)回复于 2001-11-30 09:41:22 得分 0
我觉得仍旧是应用为主,语言只是工具罢了.Top
6 楼lizmei001(暗黑)回复于 2001-11-30 09:41:49 得分 0
小弟十分佩服,为什么老天只幸他一人。
看来我的vc不能入门了Top
7 楼konfyt(勇敢的心)回复于 2001-11-30 09:42:13 得分 0
对第一条有点反感
如果有些人在读计算机应用专业,而自己学习的是计算机研究方面的课程呢? 那他怎么厉害也成不了 精通VC级别?
MSDN "到背如牛"? ^o^
Top
8 楼zeaing()回复于 2001-11-30 09:42:29 得分 0
显然不可观。
不过,如果需要好好做VC的话,的确需要比较好的数据结构和C++的功底,还需要对面向对象比较了解。一些计算机原理和编译原理方面的也最好知道一点,否则就不可能理解STDCALL和PASCAL有什么区别,就不可能理解calling convention是怎么回事情。
总之,需要提高的话需要一个人的综合知识,并不只是买两本书看一看就可以的了。Top
9 楼konfyt(勇敢的心)回复于 2001-11-30 09:48:20 得分 0
对了,精通VC就能编出好的应用?
我觉得 huxianwei(飞狐) 说得很好Top
10 楼xiumu(朽木)回复于 2001-11-30 09:48:52 得分 0
这都列的什么阿,一堆狗屎
精通VC的必备条件1.01版:
星际操的好,
打牌打的好,
能大碗喝酒,
V C 一定好。Top
11 楼zhoushihua(白水票)回复于 2001-11-30 09:49:11 得分 0
MSDN "到背如牛"? 我看是吹牛!!!Top
12 楼peng_dw(雨人)回复于 2001-11-30 09:57:10 得分 0
这写的都是什么呀,微软写VC的人恐怕也不能把MSDN倒背如流吧Top
13 楼mensong(吉他乐手)回复于 2001-11-30 10:03:53 得分 2
1。重点高校的只能说明自己是考试的机器,不能说是VC的本钱。
2。5年以上C,C++编程经验不一定理解什么是MSDN。
3。熟知所有WINDWOS系统每个文件的用途,你行吗?。
4。你知道WIDNWOS系统所有的变量,结构和API函数有多少吗?
5。把MSDN倒背如流,就是放屁。
6。谁"做个10个以上基于VC++的项目,至少有5个以上是以自己为主进行开发",那么谁是神仙。
7。天~~~~
8。:还有什么等想起来再说。 "这句话说明你在骗人.Top
14 楼ccnuxjg()回复于 2001-11-30 10:04:26 得分 0
对于xiumu(朽木)的观点我非常的赞同,呵呵。
顺便帮他升一下及
精通VC的必备条件2.0版:
星际操的好,
打牌打的好,
能大碗喝酒,
美美泡的到,
V C 一定好。
照这个条件的话,我的VC已经登锋造极了,哈哈!Top
15 楼pinel()回复于 2001-11-30 10:07:19 得分 0
精通编程和精通VC是两回事
重要的是数学和思维能力
我更精通数据结构和C/C++的Top
16 楼pinel()回复于 2001-11-30 10:09:59 得分 0
精通编程和精通VC是两回事
重要的是数学和思维能力
我更喜欢对数据结构和C/C++有独到见解的人
除此之外,VC等工具只是用来赚钱吃饭的Top
17 楼likevclinux(流浪的小狗)回复于 2001-11-30 10:19:22 得分 0
说这话的人是sb,真正的高手会去背msdn?笑话Top
18 楼goldpigX(金猪)回复于 2001-11-30 10:22:05 得分 0
何谓高手?何谓菜鸟?术业有专攻吧。Top
19 楼toguru(托轱辘们的福,验收通过)回复于 2001-11-30 10:28:31 得分 0
第一条是臭屁,烂学校也有高手。
第二条太刻刻,两年足以。
第三条第四条是绝对需要的,举双手赞成。
第五条嘛,同意likevclinux(流浪的小狗)的观点。
有了第二条,第六条就是废话。
以上条件都满足,再加上第七条,那就是高高手了。Top
20 楼Linux2001(闭关开发中)回复于 2001-11-30 10:32:04 得分 0
这种事也有,叫他找Bill算了Top
21 楼show_me_the_money(zzz...)回复于 2001-11-30 10:38:00 得分 0
我对说这段条件的人进行诊断,得出以下结论:
1、这家伙得了妄语症;
2、脑子进了水或者脑子里有屎;
3、有精神分裂倾向!
大家以后碰到这人小心点,很可能是刚从精神病院逃出来的。Top
22 楼penny_xx(vc菜菜鸟)回复于 2001-11-30 10:55:08 得分 0
要求太高,
怎么达到?
难呀!Top
23 楼shengao(TopGun )回复于 2001-11-30 11:08:44 得分 0
大家相信,这个人一定不是个高手。
可能仅仅是一个渴望成为vc高手的初学者的计划书。
可惜是个没有可操作性的计划书。
哎~~~~~
1条说明此人一切 从想象出发。
3、4说明此人不了解msdn以及windows本身。
Top
24 楼TalentSprite(举头望明月)回复于 2001-11-30 11:31:51 得分 0
那是一台用了5年的电脑吧!Top
25 楼yheysj(vc_help)回复于 2001-11-30 11:53:44 得分 0
不会吧!!这么严格!!!Top
26 楼sunshine2001()回复于 2001-11-30 12:22:10 得分 0
呵呵,有这样的本事偶去微软作程序员了Top
27 楼sunsphei(单遐思)回复于 2001-11-30 12:25:19 得分 0
真正的编程功底与开发工具无关Top
28 楼Colorstone(不偏不倚谓之正)回复于 2001-11-30 12:54:12 得分 0
就是Bill也未必能够办到上面提到的这几条Top
29 楼bzshow(风人)回复于 2001-11-30 12:59:28 得分 0
错,
最重要的是面向对象分析。Top
30 楼royontheline(若维(roy))回复于 2001-11-30 13:07:35 得分 0
重点理工科大学计算机科学技术专业(注意不是计算机应用)毕业
这条绝对不同意,是计算机专业的就刁啊,我不是说的,中国的计算机编程方面的专业都在老外眼里是小儿科,跑出来说两句行话吓大家的。看看作出来的软件就知道了。计算机本来就是一个广泛的应用工具,谁对它领悟深谁就可以从事编程上的工作,叫一些考试机器去编程,以为这两种机器有相同的接口啊?我认为计算机专业大不必要,因为在大学里,有不知多少非计算机专业的人比科班出来的要强的多,毕竟,出去要靠真本事,学的才是真东西,而不是拿个计算机的文凭去虎人,人家还以为是电脑高手那,其实——只有理论,我在大学学的双专业,对此深有体会
最后说一句:vc属于对编程领悟高的人,而不是有计算机文凭这个空架子
Top
31 楼royontheline(若维(roy))回复于 2001-11-30 13:07:44 得分 0
重点理工科大学计算机科学技术专业(注意不是计算机应用)毕业
这条绝对不同意,是计算机专业的就刁啊,我不是说的,中国的计算机编程方面的专业都在老外眼里是小儿科,跑出来说两句行话吓大家的。看看作出来的软件就知道了。计算机本来就是一个广泛的应用工具,谁对它领悟深谁就可以从事编程上的工作,叫一些考试机器去编程,以为这两种机器有相同的接口啊?我认为计算机专业大不必要,因为在大学里,有不知多少非计算机专业的人比科班出来的要强的多,毕竟,出去要靠真本事,学的才是真东西,而不是拿个计算机的文凭去虎人,人家还以为是电脑高手那,其实——只有理论,我在大学学的双专业,对此深有体会
最后说一句:vc属于对编程领悟高的人,而不是有计算机文凭这个空架子
Top
32 楼ji_hui(我是谁)回复于 2001-11-30 13:10:48 得分 0
Bill肯定做不到,恐怕上帝也难噢!Top
33 楼wgc(才)回复于 2001-11-30 13:12:38 得分 0
实际上,用VC主要事作用户界面。没有必要
学的太深Top
34 楼snlee(新丁)回复于 2001-11-30 13:23:11 得分 0
…………
5。能把MSDN倒背如流。
…………
这一点有谁能做到呢?????
Top
35 楼jackysoft2001(雪狼)回复于 2001-11-30 13:28:01 得分 0
问问比尔-盖瓷,看他怎么说?Top
36 楼dog_dog(狗狗)回复于 2001-11-30 13:32:53 得分 0
唯有叹息而已……Top
37 楼lxp981818(lxp981818)回复于 2001-11-30 13:46:56 得分 0
msdn,什么东西啊?????
1.6G啊!!Top
38 楼langjingling(蓝金灵)回复于 2001-11-30 13:47:41 得分 0
如果真有那么一个人,那比尔可能就要下岗了,555555555555555555555555~~~~~~~~~Top
39 楼zhxx(做个好流氓有多难)回复于 2001-11-30 14:23:31 得分 0
关键是要看天赋Top
40 楼yavid(隐风)回复于 2001-11-30 15:20:44 得分 0
这种人哗众取宠,大家不要理睬Top
41 楼111222(www.111222.cn)回复于 2001-11-30 15:27:05 得分 0
看来只有我这种百年不遇的天才才能精通VC了
这帖子尽胡扯Top
42 楼1995111()回复于 2001-11-30 15:27:28 得分 0
有绳子卖吗?Top
43 楼royontheline(若维(roy))回复于 2001-11-30 15:33:55 得分 0
回复人: wgc(才) (2001-11-30 13:12:39) 得0分
实际上,用VC主要事作用户界面。没有必要
学的太深
应吧vc换成vb你这句话的返回值才是TRUETop
44 楼Ashura(阿修罗)回复于 2001-11-30 15:35:56 得分 0
绳子没有,面条你要不?Top
45 楼Tiga(Cabinet)回复于 2001-11-30 16:06:59 得分 0
有这么历害,比尔盖茨也要请你了。Top
46 楼Flwu()回复于 2001-11-30 17:54:01 得分 0
如果对“高”的理解不同,那么,标准也不同Top
47 楼cwanter(亚玛逊河上的渔夫)回复于 2001-11-30 18:21:38 得分 0
有这样的人 BILL也得叫他老大Top
48 楼mahongxi(烤鸡翅膀)(色摸)回复于 2001-11-30 18:54:17 得分 0
最新消息:
比尔盖茨已经含羞自尽了。Top
49 楼sword_king(sword_king)回复于 2001-11-30 18:56:19 得分 0
发布这消息的人是个SBTop
50 楼jacklondon(jacklondon)回复于 2001-11-30 19:35:56 得分 0
编程有侧重点,如果没有机会,有的东西可能一辈子也不会用到。比如SDK,DDK,在我的工作中从不用到。再比如ole,象WORD中可以直接看公式(另外一个公司的东西),WORD,EXCEL,ACCESS可以互相嵌套对方的对象,一般人也不会用到。Top
51 楼ljren_t(千幻华舞)回复于 2001-11-30 19:39:22 得分 0
有这样的人,现在的软件业还能这样吗?Top
52 楼MAGGIN(一个人静静的)回复于 2001-11-30 19:57:11 得分 0
乱编乱造,无聊!
Top
53 楼tangjun801(Thinker)回复于 2001-11-30 20:01:47 得分 0
wookoooooo! NBATop
54 楼microsl(小林)回复于 2001-11-30 20:26:45 得分 0
这只鸟的屁话,大家不要听了。Top
55 楼SQ856(SQ)回复于 2001-11-30 20:31:49 得分 0
谁敢说自已精通!!!!!!!!!!!11Top
56 楼shoyour(凤凰城主)回复于 2001-11-30 20:37:33 得分 0
相信MICROSOFT的创始人“该死”也不能把MSDN顺被如流~!Top
57 楼sleky(菜鸟)回复于 2001-11-30 20:53:36 得分 0
我把他这些话在vc上编译了一下,出现:800个error,8000个warning!Top
58 楼lance(我想忘掉所有不眠的夜晚我已厌倦所有..)回复于 2001-11-30 20:55:09 得分 0
具备了这些条件的人,肯定不会到这来灌水.Top
59 楼seabelial(真没劲)回复于 2001-11-30 20:56:22 得分 0
放TMD的狗屁,去TNND的!畜生!Top
60 楼cafecai(入门新手㊣)回复于 2001-11-30 21:02:14 得分 0
能把MSDN倒背如流?
天啊!那是上帝吧Top
61 楼wangao88(呆子)回复于 2001-11-30 21:06:22 得分 0
Bill肯定做不到,恐怕上帝也难噢!
如果真有那么一个人,那比尔可能就要下岗了,
放TMD的狗屁,去TNND的!畜生Top
62 楼sans(长风半日)回复于 2001-11-30 21:08:45 得分 0
无所谓了,能挣到Money才是正点,谁在乎你精通不精通呢?Top
63 楼no007_hx(风魔)回复于 2001-11-30 21:12:27 得分 0
你去问问盖茨,看他能否把MSDN倒背如流?Top
64 楼florist2000(我爱susan)回复于 2001-11-30 21:23:48 得分 0
编程而已,编程而已
编的再好能怎么的。
何况此人纯粹放屁Top
65 楼oldginger(武军强)回复于 2001-11-30 21:38:57 得分 0
就是把VC精通的不能在精通了有能怎样?
你能作出客户需要的东西吗?耗费了那么多
精力最终也只能coding base ,你理解不了
需求,因为你在没有精力了;你不懂工程
做不了大项目,设计不料数据库,不知道最基本
的网络协议,你无法理解网络拓扑。。。。。
不是说你苯,学不懂,只是你没时间了,也没有精力了,
不过你可以到我们项目组来,你可以给大家做 coding,不过
这活不怎么值钱!我建议这种人才可以到职业的培训学校去
教书,我感觉那才能真正发挥他的才干!Top
66 楼Tanya8088(一只小小鸟)回复于 2001-11-30 21:48:39 得分 0
诚挚的感谢各位!
如果有哪位VC高手不服气,可以请我吃顿饭,然后找个安静的地方切磋一下。Top
67 楼RGB_YUN(彩云)回复于 2001-11-30 21:51:21 得分 0
5。能把MSDN倒背如流
这一条谁能?Top
68 楼kingfish(工作很忙,很少来csdn...)回复于 2001-11-30 21:55:09 得分 0
MSDN又不是拿来给大家背的!Top
69 楼coldsnake(外表的冷酷掩盖不了内心的热情)回复于 2001-11-30 22:11:12 得分 0
我可以请他过来给我当活的msdn,TMD,这样还是有大大的利用价值吗,声控msdn,多好。。。。。。。。。。。。。。。。。。。。Top
70 楼kk_wyx(桃花岛)回复于 2001-11-30 22:32:13 得分 0
不知道侯捷做过几个项目Top
71 楼Serlen(Serlen)回复于 2001-11-30 22:42:52 得分 0
能把MSDN倒背如流????--不可能,除非他是个书呆Top
72 楼minkerui(你好)回复于 2001-11-30 23:03:25 得分 0
MSDN嘛!只有1个多G^_^Top
73 楼dynamic_cast(梦的解析)回复于 2001-11-30 23:25:31 得分 0
对于xiumu(朽木)的观点我非常的赞同,呵呵。
顺便帮他升一下级
精通VC的必备条件3.0版:
星际操的好,
打牌打的好,
能大碗喝酒,
WIDow泡的到,(参考第3条)
V C 一定好。
照这个条件的话,我的VC怎么也不能登锋造极了,哈哈!
Tanya8088兄,你挨了这么多骂,受得了?可不可以请我吃一顿,我教你个消气的办法。Top
74 楼xtky_limi(窗外细雨)回复于 2001-11-30 23:32:54 得分 0
旁听Top
75 楼magicblue(小飞侠)回复于 2001-12-01 00:12:18 得分 0
太幼稚了,当笑话还可以。顺便提一下,老兄对VC和C++的关系好象不太清楚啊,呵呵Top
76 楼Go_Rush(我的技术博客http://ashun.cnblogs.com/)回复于 2001-12-01 00:17:43 得分 0
RE:
告诉你的比较客观的说法, 精通VC必须具备的几个条件。
3。深入熟悉WIDows 体系结构,运行机制。至少做到熟知所有WINDWOS系统每个文件的用途。
8。还有什么等想起来再说。
::::
看样子您的条件确实很"客观",而且是精通VC"必须"具备
您所谓的 “深入熟悉WIDows 体系结构”,那么我想请问你 WIDows 是什么东西,
我很菜,只知道有个叫 windows的系统, WIDows是什么呢?请指教.
另外,我最讨厌帖子中有 "还有什么等想起来再说" 这句话,一幅世外仙人的口气,
恶心之极; 我认为讨论问题,什么话都要自己想清楚了,想明白了再发贴。还没有
想透的话就不要说 "还有什么等想起来再说" 这样不负责人的废话,浪费大家的时间
Top
77 楼thomasnew(重新得到)回复于 2001-12-01 00:19:22 得分 0
msdn是不断增加的,不可能背的
高手不一定都是计算机系的,事实上,很多都不是
Top
78 楼sunshine2001()回复于 2001-12-01 00:22:44 得分 0
to Tanya8088(编程是为了混日子):
求求你,别在这儿现眼了!!!
你列的那都是些什么呀!
我给你引申几点:
学文学写书的作家:
要不要把康熙字典,现代汉语字典背下来?
要不要知道茴香豆的茴字有四种写法?
要不要知道每个汉字是怎么造出来的?是谁造出来的?变过几次型?
是不是“重点大学”文学专业博士后毕业?
你是白痴,读书读迂了,计算机界的孔乙己。
另外,我有钱有时间也不陪白痴吃饭,骗(蹭)饭的! Top
79 楼zhouli_5(ok)回复于 2001-12-01 02:58:08 得分 0
第一条不成立。Top
80 楼SouthPole()回复于 2001-12-01 04:30:38 得分 0
Go to bed and sleepTop
81 楼csguy()回复于 2001-12-01 05:34:59 得分 0
胡说八道Top
82 楼shh1979(萧山)回复于 2001-12-01 08:42:47 得分 0
简直胡说Top
83 楼hsq972(野人)回复于 2001-12-01 08:53:43 得分 0
什么狗屁呀!简直是痴人自大!Top
84 楼fz_zhou(vcfan)回复于 2001-12-01 08:54:18 得分 0
不是计算机专业怎么了!Top
85 楼leeseon(leeseon)回复于 2001-12-01 09:10:54 得分 0
I faint!
这种话,居然也有人信!Top
86 楼ClassDialog()回复于 2001-12-01 09:14:42 得分 0
撤蛋Top
87 楼lzumcj(流水无情)回复于 2001-12-01 09:20:19 得分 0
高手大多不是计算机系的——大概比较符合中国国情,具有中国特色。这些所谓的高手,准确的说应该是编程高手,而不是计算机高手。要知道,现在的软件开发已经不是一个人能完成的了。就算程序写的好,也不一定能做出好的作品。为什么中国的软件也不行,也许有一点就是存在了太多的“高手”。印度的软件代码编写是由高中生做的,因为现在的代码编写最重要的不是编程技巧,而是规范。还有,在国外,计算机大师大都是计算机系的,对数学有很深的理解。Top
88 楼zhangnanonnet(鱼欢)回复于 2001-12-01 09:30:17 得分 0
这人真他妈傻逼Top
89 楼superssp(Blue风儿)回复于 2001-12-01 09:46:07 得分 0
That is impossible!!!
上帝也哭了!!!
因为他也做不到!!!Top
90 楼xiaobing24(逍遥剑)回复于 2001-12-01 10:33:56 得分 0
简直是扯淡!Top
91 楼Yangye()回复于 2001-12-01 10:41:43 得分 0
说什么XX,白痴Top
92 楼microsl(小林)回复于 2001-12-01 11:30:24 得分 0
这个白痴的话有许多语法,逻辑错误,有两种可能,一种是没受过教育,另一种是智商太低。Top
93 楼cctime()回复于 2001-12-01 11:36:27 得分 0
等他有这个水平的时候,他胡子肯定也不少了,windows也成古董的时候了Top
94 楼jacket3(小蛇)回复于 2001-12-01 12:01:21 得分 0
呵呵,你是红警2玩多了吧,呵呵TANYA,只会打仗吧,呵呵……VC改VS吧。哈哈…………Top
95 楼silodiq(赛乐迪克)回复于 2001-12-01 12:07:38 得分 0
太可笑了。我认为的高手要有创新的天赋。Top
96 楼wormholes()回复于 2001-12-01 12:16:37 得分 0
msdn到背入流,牛人Top
97 楼gmng(aloha)回复于 2001-12-01 12:52:14 得分 0
有的人用小米粒构建软件工程,有的人用积木,用小米粒的人是“高手”,确实具有灵活的特性,但也是傻瓜。在VC里改个颜色都困难,漂亮的界面不说,丑陋的界面肯定都是用VC做的。还有,VC中用ActiveX控件就更不如VB了Top
98 楼yplin(第五次被甩:其实我不是程序员)回复于 2001-12-01 13:27:32 得分 0
重要吗?Top
99 楼hellowbh(OneBowie)回复于 2001-12-01 14:19:48 得分 0
这大概是指的是美国微软软件开发部的人们吧!我看只有他们才能达到这个程度,其实也只有他们才需要达到这个程度。Top
100 楼xhb9381(荒漠狼)回复于 2001-12-01 14:44:06 得分 0
uupTop
101 楼baifeng(天苍苍,野茫茫,风吹裤裆毛飞扬。)回复于 2001-12-01 14:48:54 得分 0
one sb...he....Top
102 楼moonrose(风中笑)回复于 2001-12-01 14:49:06 得分 0
天呀,那不是死跷跷了,2,5好像很难做到Top
103 楼bauhaus()回复于 2001-12-01 14:49:37 得分 0
纯粹fp
计算机专业只能有一些基础
能不能行那可不一定
msdn倒背如流?
那是机器吧?Top
104 楼alpasino(地狱天使)回复于 2001-12-01 15:23:39 得分 0
上帝今天休息,没时间处理你!!!!Top
105 楼lakegogo(实事求是地说)回复于 2001-12-01 15:45:35 得分 0
机器人Top
106 楼ydogg(灰毛兔频频)回复于 2001-12-01 16:03:06 得分 0
/*注意不是计算机应用?*/
为什么呢?现在计算系所有的专业课都是一样的,选修课除外Top
107 楼ytweiwei(又穷又丑农村户口!!!!)回复于 2001-12-01 16:04:02 得分 0
呵呵,我就是比他差了点,我只能达到 SDK 文档倒背如流,呵呵。Top
108 楼popwei(旋风)回复于 2001-12-01 16:07:39 得分 0
啊,我倒!!能将sdk文档倒被如流,那也是个高手了,我服了!!Top
109 楼netvc(netvc)回复于 2001-12-01 16:10:27 得分 0
只需一个条件:能精通VC就行!!! 最重要的是:要是人,不是。。。。Top
110 楼sunge(happy)回复于 2001-12-01 16:29:00 得分 0
我可不行了,累了。。。Top
111 楼zdan2001(※我爱天山※我爱赛湖※)回复于 2001-12-01 16:51:28 得分 0
对这种SB的话居然还有这么多人去回,
哈哈~~~Top
112 楼jinghuawen(jing)回复于 2001-12-01 17:44:18 得分 0
ok
Top
113 楼XCY81(Tiger.Net)回复于 2001-12-01 17:47:16 得分 0
这个讨论很不错,我认识VC学好的人中:
起点:不会C++语言,不会Windows程设,不懂面向对象编程的人
到达:能做大多数的普通桌面应用程序,能自己找到技术文档学习新领域
的程度,没有少于一年的。
因此,我认为一年大致熟练、两年左右运用自如是正常的。Top
114 楼richen(苦行僧)回复于 2001-12-01 17:51:50 得分 0
一群傻逼,被人耍了还不知到咋回事,呵呵!Top
115 楼sealovesand(海恋沙)回复于 2001-12-01 18:11:33 得分 0
提出这个条件的人可能有病,
转贴这个条件的人也可能有病,
想要达到这个条件的人肯定有病!Top
116 楼domustdo(大头)回复于 2001-12-01 18:15:22 得分 0
太不现实了!Top
117 楼21bird(世纪笨鸟:csdn的blog啊啥时能不出错?!)回复于 2001-12-01 18:47:25 得分 0
to gmng(aloha):
你说的一点不对.vc做的界面难看是你没本事,不是vc不行...
要是有本事,vc做的界面最好看...Top
118 楼WarFather(战神--插鲜花专用牛粪)回复于 2001-12-01 19:55:12 得分 0
msdn倒背如流还不简单?不就是"ndsm"嘛!
一群SB!!!Top
119 楼a_ray1(罗嗦)回复于 2001-12-01 20:09:19 得分 0
sb 你有什么资格做出评论?
这些东西是那个权威说的????Top
120 楼wanghainiu(牛牛)回复于 2001-12-01 20:24:10 得分 0
太无聊了!!!!!!!!!!!!!!Top
121 楼Tanya8088(一只小小鸟)回复于 2001-12-01 20:26:39 得分 0
首先声明重要一点:
说这话的人并不是我!我也是觉得这话说得有点偏才放在这里让大家评论的。Top
122 楼windows_editor(十年树木,百年树袋熊)回复于 2001-12-01 20:32:29 得分 0
怎么好象在说我?Top
123 楼Tanya8088(一只小小鸟)回复于 2001-12-01 20:34:26 得分 0
sunshine2001,你TMD少放屁,一边玩去!Top
124 楼richen(苦行僧)回复于 2001-12-01 20:43:03 得分 0
Tanya8088(编程是为了混日子)
看看 sealovesand(海恋沙) 仁兄的话:
提出这个条件的人可能有病,
转贴这个条件的人也可能有病,
想要达到这个条件的人肯定有病!
明白了?
Top
125 楼sunshine2001()回复于 2001-12-01 20:45:45 得分 0
哟,都急了,说脏话吗?你真他妈的逊!Top
126 楼Tanya8088(一只小小鸟)回复于 2001-12-01 20:52:43 得分 0
sunshine2001, 你是谁?如果你是 ZPH 的话请不要捣乱。Top
127 楼sunshine2001()回复于 2001-12-01 21:12:48 得分 0
我不是,呵呵,想针对我吗?我的首写字母是G
有本事别急眼,有理就说!
Top
128 楼stonex_2000(三棱镜)回复于 2001-12-01 21:20:29 得分 0
如果真要这样的话!
我相信没人精通VC,不是吗?Top
129 楼_i_(活着就是为了折腾)回复于 2001-12-01 21:25:56 得分 4
看你的样子好像把vc当作亲爹(oh,sorry)?
精通VC具有以下几条即可。
1.不是文盲,能学到高中代数的地步。对高能数学略知一二。
2.1000多个英文单词量,基本认识IDE的菜单、按钮、对话框上的单词80%以上,曾经使用67%以 上。
3.知道面向对象是怎么一回事,不要整天在嘴上挂着“面向对象”四个字。
4.对MFC结构有所认识,知其不足及优点,不要求精通,~不求甚解~即可。
5.结构化的?思维方式,思路清晰。对项目实施方案能做到庖丁解牛般熟悉。
6.工作代码25000行以上(自学代码以五折计)。基本bug较少。使用时间根据臂力、悟性、根骨、身法、福缘、容貌计长短。
7.了解SDK,能在一定时间内知道某个API的用法.
8.痛恨MSDN或常看MSDN.
9.喜欢自由或者严谨刻板居其一。
10.有耐心。
Top
130 楼Delit(Delit)回复于 2001-12-01 21:52:37 得分 0
跟大伙开个玩笑,何必认真呢?Top
131 楼IOLIR(我是云,闪电是我的朋友)回复于 2001-12-01 22:26:58 得分 0
这种人它不是人,估计是智慧的外星人。Top
132 楼lanzhengpeng2(兰征鹏)回复于 2001-12-01 22:35:28 得分 0
啊木啊木,我也是唉Top
133 楼Tanya8088(一只小小鸟)回复于 2001-12-01 22:47:58 得分 0
_i_(插标卖首) 说的好,加10分!Top
134 楼lanzhengpeng2(兰征鹏)回复于 2001-12-01 22:48:21 得分 0
21bird(世纪菜鸟:不经历风雨,怎么见彩虹!):我深切的同意你的观点。最玄,最酷的界面都应该是VC做的。Top
135 楼lanzhengpeng2(兰征鹏)回复于 2001-12-01 22:52:07 得分 0
精通VC具有以下几条即可。
1.不是文盲,能学到高中代数的地步。对高能数学略知一二。
2.1000多个英文单词量,基本认识IDE的菜单、按钮、对话框上的单词80%以上,曾经使用67%以 上。
3.知道面向对象是怎么一回事,不要整天在嘴上挂着“面向对象”四个字。
4.对MFC结构有所认识,知其不足及优点,不要求精通,~不求甚解~即可。
5.结构化的?思维方式,思路清晰。对项目实施方案能做到庖丁解牛般熟悉。
6.工作代码25000行以上(自学代码以五折计)。基本bug较少。使用时间根据臂力、悟性、根骨、身法、福缘、容貌计长短。
7.了解SDK,能在一定时间内知道某个API的用法.
8.痛恨MSDN或常看MSDN.
9.喜欢自由或者严谨刻板居其一。
10.有耐心。
_i_(插标卖首):你再说我?
Top
136 楼wangguoqian(新机器的灵魂)回复于 2001-12-01 23:33:35 得分 0
需要“精通VC”这样的说法吗?,我们要的是:“精通MFC”,“精通图像处理”等等。
Top
137 楼beyondtkl(大龙驹<*好久没来了,兄弟们好吧。*>)回复于 2001-12-02 01:23:48 得分 0
倒,看来这一辈子我都不可能精通了啊,晕!!!Top
138 楼zw963(笨笨熊)回复于 2001-12-02 06:51:01 得分 0
大家好! 在VC的网站里发放这篇M$与Borland发生在很多年以前的所谓的圣战,也许不太恰当,可是,我还是这么做了。
第一:我认为,这是每个程序员都应该了解病非常感兴趣的历史。
第二:通过这篇文章,我试图让大家了解多一些有关C/C++另一方面的事情,并对伟大的BORLAND公司有一个真正的了解。
第三:大家一定都想了解解Borlnad公司和它的Delphi究竟是怎么产生的。
我不要求达到什么目的,至少,还是那句话,希望大家宝这一颗与VC平等的心态去面对并客观评价BORLAND的每一个产品,而不要有门户观念。
达到此目的足以。
欢迎转载,请注明作者所有权归李维所有。
我的回忆和有趣的故事------C/C++圣战篇(上) 投稿请注明转载还是原创。转载请注明原链接位置及相关信息,如文章牵涉至版权问题请来信告知,谢谢!
我的回忆和有趣的故事---C/C++圣战篇(上) by 李维(台湾)
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刚推出之际,Borland确实为4.0做了极大的造势,我记得在当时所有重要的电脑杂
志中,例如Byte,PC Magazine,Dr. Bob等,都有4.0整页的广告。这个广告的内容是以一个巨大的猫头鹰为
主,再搭配蓝色底色系的Borland C/C++ 4.0为主,选用巨大的猫头鹰当然是因为OWL的原因,只可惜我现在找
不到那幅广告了。
图1
痛失江山的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:
图2
还记得Borland提供的AppExpert吗?
下图则是当时Borland C/C++的註册商标,3面版视窗开发环境。看到下图又令我想起当初使用C/C++写程序
的日子,下方程序码面版清楚的显示了我在1995年於鼎新工作时写的智慧型Window排程系统,时间过得是真快
啊。
图3
令人怀念的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的直接介入,造
成人事不和也有很大的原因。
图4
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++
之后,Syman-tec进入PC的开发工具市场也是箭在弦上了,只可惜的是其时Symantec还未找到一个在PC上有丰富
经验的开发工具领导者。
也许是上天注定要引起稍后的C/C++编译器大战吧,此时Borland C/C++ 3.1的幕后支柱Eugene Wang刚好和
Philippe Kahn闹翻,离开了Borland。Symantec见此时不可失,立刻重金延揽Eugene Wang到Symantec,为Sy-
mantec推出第一个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让他离开Bor-
land是错误的决定。我之所以 如此说是因为其时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长期在Micro-
soft System Journal撰写Under The Hood专栏,专门写一些深入系统的程序设计技术,在数年前便和Andrew
Schulman,David Maxey成为Widow System Programming的三大巨头之一。Matt也是着名的Window除错工具
SoftIce,BoundsChecker的主要研发工程师。Matt本身也是从Borland出道的,当Matt初至Borland工作时便是
在Turbo Debugger小组中研发除错工具。当时Bor-land的Turbo Debugger是DOS下最强的除错工具,即使是
Microsoft也无法推出能够和Turbo Debugger抗衡的除错工具。Matt在这个小组中吸收了大量的知识,并且快
速的成为这个领域的专家。后来Turbo Debugger小组的部份成员被Microsoft挖走,让Microsoft掌握了Bor-
land的核心除错技术,以致后来也能够推出不错的除错工具。而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,就可以在其
他地方和Micro-soft以及Borland一决雌雄,Symantec和Watcom却没有想就是这一点决定让后来的决战一败涂
地,终究完全推出PC的C/C++开发工具市场。
时序到了1994年未,C/C++开发工具的四大天王决战的日子终於愈来愈近了。
OLE的搅局
不知道是时运不济或是Microsoft的刻意如此,在1994年Borland C/C++和Visual C/C++决战的前夕,Micro-
soft推出了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虽然是LicenseMFC,但是在其时它们License的是MFC 1.x的版本,Microsoft并没有把OLE
实作在MFC 1.x中,而是在实作在MFC2.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 double-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所有的功能,Borland又无法不断的延后Borland C/C++的推出,因此在1994年未,Bor-
land终於推出了决战的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的则是以红色为色系,仿佛两大军团终将决战似的。
图6
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是否能够重新找回这个失去已久的精神,不要
再让我失望了。
图7
雄霸数年的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 Mag-azine有一技术专栏。记得当时我向这位李经理提起我的机器几乎无法跑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对Visual-Age ForJava的态度会和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之后宣佈停止此条产品线的开发,Borland C/C++的
光荣历史也就从此打止,真是令人不胜感叹,而Visual C/C++从此在C/C++开发工具市场中再也没有对手。不过没有
竞争的市场的确会让人松懈的,后来的Visual C/C++进步的幅度愈来愈小,MFC也数年没有什么大进步,不像当时和
Borland C/C++竞争时每一个版本都有大幅的改善。看来垄断的市场的确是不好的。
感谢网友 方 圆 提供本文档
Top
139 楼wwtmw(剑重无锋 大巧不工)回复于 2001-12-02 10:02:19 得分 0
请您对您的言行负责,遵守中华人民共和国有关法律、法规,尊重网上道德Top
140 楼thindz(半截)回复于 2001-12-02 10:14:06 得分 0
对呀。请您对您的言行负责,遵守中华人民共和国有关法律、法规,尊重网上道德Top
141 楼oceanmap(弄潮儿)回复于 2001-12-02 10:53:08 得分 0
计算机专业毕业有什么牛的,搞软件你们不如数学专业,搞硬件你们不如物理专业,还好意思写出来Top
142 楼Lighter(火机)回复于 2001-12-02 11:34:52 得分 0
谁相信有人能把MSDN倒背如流?
扯蛋一样!Top
143 楼P_hantom(Phantom)回复于 2001-12-02 12:03:50 得分 0
瞎鬼,我认识很多 VC nb 的人都不是学计算机专业的。Top
144 楼hncdsun(魔)回复于 2001-12-02 12:32:15 得分 0
如果以这种方式来恒量,世上没有一个VC高手啦
唉,那些用编出很好软件的人,不牛?Top
145 楼litdong(不到黄河不死心)回复于 2001-12-02 12:34:29 得分 0
扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡扯淡Top
146 楼ydogg(灰毛兔频频)回复于 2001-12-02 14:09:35 得分 0
搞硬件你们不如物理专业?
这时啥意思?没听说过那个牛是物理毕业的Top

