打印〗〖选项
编程工具的回忆
  TPW的成功不仅对那些怀疑Borland的人是一记有力的回击,同时也表明Pascal语言的潜力是不可低估的。我至今还记得当Delphi 1.0刚推出不久的时候,各种Delphi论坛上最热门的问题就是“如何用Delphi产生一个小于4k的应用程序”。答案当然就是抛开VCL,纯粹采用API来编写。不过要让可执行文件的大小不超过4k,除了汇编以外,唯有TPW和它的后继者Delphi能够做到。

  TPW的发展只经历了两个版本,因为Borland已经日益感受到Visual Basic的威胁:Borland也需要一个真正的RAD环境来和VB相竞争,而TPW基本上仍然是类似于Borland C++的文本编辑环境,不是真正的RAD工具。至于Borland为什么选择Pascal而不是C++作为RAD环境的基础语言,一方面自然是因为Borland在Pascal语言上的深厚家底,另一方面恐怕也是出于效率的考虑。别忘了在当时386/486还是相当普及的机型,Pentium在那时候还是少数人的奢侈品,在这种机器上Visual Basic的效率实在是不敢恭维。而作为VB Killer的Delphi,一个主要的目标就是在效率上超过它,让快如闪电的Pascal编译器来扮演这个角色当然是再合适不过。Borland的功力确实不同凡响,虽然Delphi的推出比VB慢了一拍,但是Delphi 1.0一出世就在各项指标上全面超越Visual Basic 3.0,其中Borland特别强调的一点就是“Delphi 1.0程序的速度要比Visual Basic 3.0快40-50倍”。是否差距真的那么悬殊我无从知晓,但Delphi 1.0效率比VB 3.0高得多却是不争的事实。再加上Delphi其他方面也非常优秀,比如说Delphi 1.0提供的组件比VB 3.0中丰富得多,而且Delphi 1.0对数据库的支持也比VB 3.0要好。所以Delphi 1.0一经面世,不仅Turbo Pascal的老用户趋之若骛,而且不少原先的Visual Basic用户也逐渐转移到Delphi上面来。

  说到这一段历史的时候我常常为Borland感到惋惜,因为Borland中有一批非常有远见的工程师,他们在Borland C++ 3.0还在雏形阶段的时候就已经提出了开发一个RAD开发环境的构想,现在看来这个想法实在是非常的富有远见,可惜Borland当时的总裁Kahn太过陶醉于Turbo系列和Borland C++的巨大成功,对手下的建议没有引起充分的重视,反而把心思都用在Borland并不擅长的其他一些领域。后来的结果大家应当都知道了,Borland由于一系列的决策失误,导致在C++开发工具、数据库和电子表格等领域全线溃败,自己也跌入了公司成立以来的最低谷。如果Kahn能够早一些审时度势,及时采纳合理意见,早一些推出Delphi(当然那样就未必仍然是Delphi的名字了)的话,那么眼下的Delphi恐怕还将远远不止目前的局面。不过,在Borland最困难的一段时期,也正是由于有Delphi这根中流砥柱的支持,Borland才能够熬过那段不堪回首的岁月,不至于全军覆没。所以说Delphi之于Borland,也正如同Visual Basic之于Microsoft,已经不仅仅是一个产品那么简单,而已经成为一种复兴的象征和辉煌的纪念碑,从某种意义上说也是整个公司的希望和灵魂。

  在Borland最为黑暗的这段日子里,让Borland损失最惨重的恐怕还不是市场的流失,而是许多优秀人才的纷纷出走。在经历了公司业绩下滑、市场萎缩、客户转向的打击之后,不难想象曾经辉煌的他们会是怎样的一种心情。最让他们感到痛苦的可能还是公司的内部产生了难以弥补的裂痕。Borland总裁Kahn是一位技术上无可挑剔,而且非常有雄才大略的难得的领袖人才,正是他领导Borland创造了开发工具市场上的一个神话,还有Borland长达10多年的黄金时代。但是Borland的强大也使得Kahn开始逐渐变得刚愎自用,当时Borland在高速的发展过程中已经出现一些不合谐音,公司中一部分敏锐的员工也察觉到这些问题并建议Kahn尽快解决,而这时候的Kahn已经很难听进任何不同意见了。因为自己的意见不被重视,所以Borland中一部分非常优秀的技术人才在Borland的鼎盛时期就负气离开了Borland,这也间接导致了后来Borland C++ 4.x版本的水平下滑。最终,在风雨飘摇的愁云惨雾中,许多顶尖人物带着爱恨交织的复杂心情离开了曾经寄托他们梦想的Borland。唉,可惜了这些技术精英,可惜了Borland啊!

  这些优秀人才离开Borland以后,其中一些人靠着在Borland培养起来的深厚技术继续从事开发工具的编写,比如Numega这一类的公司中很多高级工程师都和Borland有着或多或少的关系;而Microsoft在这个时候也不失时机、不惜血本地展开挖角战术,我们所熟悉的Turbo Pascal和Delphi的缔造者之一,也是Borland创始人之一的Anders Hejlsberg最后也投奔了微软。这个结果对Microsoft来说无疑是梦寐以求的,因为多年来在编译器技术上MS只有跟在Borland后面亦步亦趋的份儿,有了这样一大批优秀的工程师和他们带来的技术,再加上同一时期Microsoft从Unix平台上网罗的许多资深专家,Microsoft终于能够在编译器技术上有一个质的飞跃,登上开发工具老大的位置了。尽管Microsoft当时不择手段的挖角攻势激起了业界的普遍反感包括许多盟友的指责,但Microsoft宁肯受此恶名也要达到自己的目的,所以我们后来看到Visual Studio系列中的Visual C++ 5.0和Visual Basic 5.0编译器比起它们的前辈来说真的是焕然一新,Visual C++编译器第一次能够和Borland的C++编译器一较高下,甚至在许多代码优化的功能上还超过了Borland C++;而Visual Basic通过将代码编译成native code的功能,也终于洗刷了长期以来饱受“Visual Basic代码效率低下”诟病的耻辱。

  流光容易把人抛,红了樱桃,绿了芭蕉。转眼之间数十个年头过去了,而DOS/Windows平台上Basic/C/Pascal这三大程序语言的兴衰,则是一个讲不尽、道不完的故事。近年来,三大语言又面临着像Java和C#这些新生代语言的强力挑战。不知为什么,这种形势总让我联想起中国几千年来的历史,来自北方的、骠悍尚武的游牧民族,一次又一次的入主中原,成为军事上的征服者,最终却成为文化上的被征服者的情况。我觉得,Java和C#这些语言也与此多少有些类似,因为Java和C#都是属于那种带有极强的功利主义色彩的语言,它们讲求的是快速,准确,一击必杀的效果,而不像C++那样讲求理论和传统。这些新兴语言带来的活力和激情是毋庸置疑的,然而在我看来,它们都还缺乏像C++那样深广的内涵和强大的包容能力。所以我猜想这种情况发展的结果,最后必将是某种程度的融合,就象是马背上的征服者最后融入中华民族数千年来绵延不绝的血脉之中——当然,其间恐怕也少不了残酷的斗争和文明的碰撞了。



【本文分页】[1][2][3]

文章作者:未知