下面我来讲一个不为人知的传奇:有一天我做梦自己成了一个微软
的程序员,周围都是大师,我好象从来都没有做过真正的程序,不过我
见证了一些不为人知的事情,虽然记忆已经很模糊,但事情好象是这样
的:
【关于VB的Native Code的传奇】
有不少人从VB1.0开始就在用VB做着软件,VB一直以来就能编译,但
总有人抱怨,VB编译的东西太慢了(p-code是以牺牲速度为代价的),
于是VB开发小组经过长时间的激烈讨论,最终还是决定必须要让人相信
我们VB开发小组的能力,他们想向世人证明:我们有能力开发出生成的
代码速度上并不慢的编译器。是要推出一个惊人的产品的时候了。
他们的决定最后上报到微软的高层领导,领导们认为这是VB占
领市场的一个重要步骤,于是为VB开发小组请来了VC编译器小组的专家。
专家们看看了VB编译器实现细节后,大都认为VB的解释执行器做得非常
棒,不过也大都认为要做一个真正的编译器几乎要重新动手重写VB,在
经过深入分析后,这些专家一致通过了下面的意见:
必须开始一个新项目,这个项目的工期至少得二年,我们会尽可能
保证它能和VB和VBA保持兼容,但有些地方是不可能的。这些专家们可以
保证只要给他们二年时间,他们能够开发一个全新的VB,在代码效率上
甚至不逊于VC,可以让市场彻底把Delphi抛弃,甚至会有不少VC程序员会
改用VB。大家看到了市场前景,大家激动万分。但VB开发小组却认为兼容
是必须的,因为VB已经有很大的用户郡,有很多代码是用VB写的,并且
市场等不了那么二年那么久,这些观点如一盆冷水,让大家都冷静下来。
于是大家又展开激烈讨论(这种讨论的激烈程序不亚于,VB.NET项目
计划出台前的讨论),讨论当然没有什么结果,事情又到领导那儿。
领导一句话:"兼容肯定要,Native Code更是非要不可,最多给你们
半年,做不出来就滚蛋。"。
这下,VC和VB开发小组都吓坏了,不过已经成了一条船上的蚂蚱,没
办法,大家都开始埋怨第一个提出这个想法的人。
这时,VB开发小组里有一个名不见经传的小程序员,站起来怯生生
地说:"我们不需要重写,我们可以加一个模块,把VBA的东西转也
Native code不就行了吗?"
VC专家们听了哈哈大笑:"你以为象你写VB例子代码那么容易,如果有
一年半也许可能完成,半年连再写一个VBA函数库都不够"。
这个小程序员更胆怯了,不过他还是鼓起勇气说:"是啊,我们不需要
全部重写,我们只需要重写一部分。解释执行的部分我们可以不动"
一位VC专家肯切的说:"小同志,你的心情我能够理解,不过那样的话,
我们做出的东西不就不伦不类了吗?这样怎么能行,噫,也许……"
另一位VC专家也站起来:"小同志,我觉得你的办法可行,是的,的确
可以,我们的确可以重写一部分比较慢的函数,那样时间上就来得及。"
又有一位VC专家也站起来:"小同志,你的思路给了我很大的启发,我
们的确更根就不用重写,甚至我们还能用我们现成的VC后端优化器来进行最
终的代码优化,这一部分也可以不重写"
大家猛然看到希望,又有VB开发小组的专家说:"是的,p-code技术我们
研究得很深,再加上VC小组各位同仁的帮助,要把它转成VC后端优化器能识
别的中间代码,我想应该不难。"
大家都对这位小程序员大加赞许,这位小程员一听各位专家的吹捧,就
有点飘飘然了。
我笑着,从梦里醒来,觉得刚才好象有几位大师夸过我?!
其后有一天,我又梦到了VB开发小组。
已经半年了,我们小组的东西都已经做出来了,大家都对自己的产品充满
了信心,大家一致认为可以拿给领导看了。
领导用了一用,皱着眉头说:"怎么用起来感觉上和原来没有什么区别?
你们这半年到底做了些什么东西?我给你们的钱都干了些什么?"
VB开发组长,冷汗直滴,毕恭毕敬的说:"比尔总载,这正是我们产品的
特点,虽然用起来没有什么区别,但速度上快了不少,您看,这个Abs函数可
比原来快了4倍都不止啊!"
领导不高兴了:"你以为我不知道这些?我做Basic的时候,你们连计算机
是什么都不知道!不管怎么样,给我搞出点区别来,我们要让我们的用户觉得
他们买我们的东西值得,要他们一用就知道这是新版。赶快修改,我们已经接
到了大批定单。给你们一个星期。"
VB开发小组长没有办法,他马上召开紧急会议,向全体同仁反映了新的
问题,这时大家都看着我,有人说:"小熊同志,这些鬼点子都是你想出来的,
现在怎么办吧!要知道这样,当初就应该坚持多要点时间做个完全不同的版本"
我一时也想不出好主意,就说:"我们肯定是不可能进行大的修改了,有
什么改一改能让老板满意呢?比如我们能不能改改IDE,老板一看就知道?"
"那又能怎么改?把工具箱改成红颜色吗?老板准骂死你,要让老板知道
我们改了核心的东西!"
我一时记上心头:"对了,我们就改改语法检查程序,让老板知道Abs现在
是关键字了,哈,我的点子肯定能行。"
我的梦又醒了,我很想知道最后的结果。
直到最近有一天,我又梦见了VB开发小组的组长,他高兴的告诉我。上次
多亏了有我,领导看了非常高兴,那一年的年终分红每人都大分了一笔微软股票,
不过,这已经过去好几年前事了,这几年VB小组的日子总没见更好,只是过得
去,这不VB开发刚借.NET的春风又进行了一次大改革,上次那几位VC专家都来了,
都说VC已经没前途了,好多专家都去搞C#去了,我们这儿又来了几位专家,刚搞
过C#,他们都说要完成几年前他们没有完成的工作,因为这次简单了,.NET平台
小组的人都是精英,其中有些就是操作系统小组的,我们只需要在它上面实现一个
Basic语言的C#就行了。
Native Code? 解释执行?都见鬼去吧!现在市场在网络上,在WEB上。
不过现在VB小组里原来的人是越来越少,尤其是小熊你走了后,大家都在混
日子,这次搞VB.NET进行了人员大调动,好多有思想的人都被调到市场部写广告
词了,专家也忙着到处演讲,没有当初我们搞Native Code时那种激情了。
……
……
……
又是一个梦。
以上传奇纯属虚构,如有雷同纯属巧合。
-微软非官方技术研究自由人,VB非官方技术支持
本贴子仅供参考。本人不提供数据库、VB文档已有说明的和任何未经思考的技术
问题之支持。若你有百思不得其解的问题,请给本人发短消息。
本人近期常于以下贴子出没:
http://www.csdn.net/expert/topic/533/533904.xml