按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
Delphi R&D研发小组中却上升得很快。
Eddie在加入Delphi R&D小组之后,便开始了Delphi中Diagram Designer的研发工
作,原本Eddie的工作是准备在Delphi中开发出UML的功能,以便为Delphi/C++
Builder提供完整的OOA/OOD的功能。
不过由于后来Borland高层决定和Rational合作,而且Eddie小组需要极大的资源来开
发,因此Borland的RAD部门便在Diagram Designer实现之后决定暂停这方面的研发工
作。其实在Delphi 3时,当时的Delphi产品经理Ben Riga就想为Delphi加入UML的功
能,只是一直无法拥有足够的资源来投入这方面的研发工作,一直到Delphi 5之后才
逐渐在Delphi/C++Builder看到这方面的初步成果。
现在Eddie Churchill和Danny等人投入开发Borland方面的产品,并且是VCL
的Architect,负责把VCL移植到中,在2002年的BorCon中,Eddie Churchill就
说明了把VCL移植到之上的困难和挑战,目前在Delphi使用可下载的Delphi For
NET Preview中已经可以看到Eddie Churchill在VCL方面的初步成果了。
WebSnap始祖
Jim Tierry是在Eddie Churchill之后不久加入Delphi R&D研发小组的,他的第一个
工作就是接手Delphi的WebBroker技术,以开始打造Delphi/C++Builder的下一代Web
技术,初步的成果就是Delphi 5的InternetExpress。
不过在InternetExpress推出之后,Jim自己并不满意,因此立刻开始进行
InternetExpress下一代的开发工作,那当然就是WebSnap了。由Jim带领的WebSnap
开发小组终于在Delphi 6中推出WebSnap技术。不过也是由于资源的限制,因此在
Delphi 7中,Borland决定使用更为完整的IntraWeb作为Delphi在Web方面的主力。
目前Jim Tierry应该是在开发下Web方面的技术和产品,我也希望在2003年能够
有机会和Jim见上一面,让他谈谈目前工作的方向。
Delphi Plug…In第一把交椅
我在日常使用Delphi时,一个少不了的工具就是Eagle Software出品的CodeRush,虽
然有些人认为CodeRush有点不稳定,但我认为CodeRush是一个非常好用的工具,当然
这也是为什么CodeRush几乎在每一年Delphi Magazine的年度产品评比中都是第一的
Delphi Plug…In工具。
CodeRush是由著名的Delphi高手Mark Miller先生开发的,Mark不但是多个产品的作
者,更是BorCon中经常受邀的主讲者。我曾经在许多地方和Mark有着交往,在2000年
澳洲的BorCon时我还曾经告诉Mark当时的CodeRush在中文Windows 2000中有臭虫,因
为当我使用CodeRush的快捷键时,CodeRush会送出重复的字符。Mark当场便拿出
NoteBook查询CodeRush的程序代码,并且要求我也打开我的NoteBook展示CodeRush
的臭虫给Mark看。在Mark了解了问题之后便询问我的旅馆房号,这才发现我们是住
在同一个旅馆。没有想到的是,当晚Mark便打电话到我的房间请我过去再次追踪这
个问题。后来Mark确定CodeRush没有问题,应该是中文Windows 2000在某些地方处
理的方式和英文Windows稍有不同,这应该是IME方面的原因,不过Mark答应我将会
提供walk…around的方式来克服这个问题。我回国后不久,就收到Mark寄来的一个
Patch档案修正了这个问题,其工作效率真是令人惊讶。如果读者也在使用CodeRush
这个产品,那可以经常到CodeRush的论坛看看Mark的发言,许多时候Mark的信件都
是深夜二三点寄出的,Mark工作的狂热的确令人吃惊,不过在Mark有了Baby之后这
个现象就比较少发生了。
MIDAS/DataSnap的掌舵手
Borland在Delphi 3便推出了MIDAS,一直开发到现在的DataSnap。其实Borland一开
始时就对MIDAS有非常大的野心,准备把MIDAS开发成中间件的标准技术。不过随着中
间件从以RPC为主变化成CORBA、/+以及EJB,Borland也很快地放弃了这个想法,
因为Borland不可能单独推出中间件技术来对抗业界的标准。
因此在Delphi 4之后,Borland便开始转变MIDAS的角色,把MIDAS定位成一个通用的
数据存取处理层技术,让MIDAS能够使用在CORBA、/+之中提供方便有效率的封
装数据存取功能,以弥补这些组件技术在存取数据方面的不便必须使用一笔一笔数
据的方式来处理数据。
MIDAS这样的转变是非常正确的,因为在CORBA、/+中要存取数据实在是非常的
不便,经常必须在对象接口中提供特定的方法让客户端存取特定的数据,并且在移动
数据时也非常的麻烦,而MIDAS却提供了完整的解决方案。正是由于MIDAS的方便好用,
因此Microsoft也仿照在ADO中开始模仿MIDAS的功能,在ADO中更是全面使用MIDAS
的观念来处理数据的存取。Borland也曾经把MIDAS移植到Java中成为JMIDAS,可是由
于Java世界非常强调标准,所有的标准都必须由SUN来制定,而SUN又使用JDBC、
Entity Bean以及现在的JDO来处理数据,因此JMIDAS之后就停止了开发。
Delphi 3、Delphi 4中的MIDAS都由不同的工程师负责。在Delphi 4中是由Josh负责
的,在这期间Josh和Dan Miser合作提供MIDAS的技术和解决方案,当时的Dan Miser
并不是Borland的员工,而只是MIDAS的爱好者。后来由于Josh离开了Borland,Borland
就把MIDAS的维护和新版本开发工作contract给Dan Miser,因此在Delphi 6之后的
DataSnap是由Dan Miser开发的,而Dan也成为了DataSnap的头领。
由于Dan Miser非常喜欢DataSnap,愿意为Borland工作,因此现在Dan已经到Borland
应征,准备正式成为Bodand的员工,继续把DataSnap移植到上,并同时开发新的
DataSnap功能。
Delphi Spirit
Marco Cantu这位意大利的仁兄,应该是许多Delphi初学者都知道的人物,因为Marco
Cantu的《Mastering Delphi》一直是Delphi书籍中的长青树,深受初学Delphi的人
所喜好。
Marco Cantu也经常是BorCon的讲座主讲人以及Delphi相关杂志的专栏作家,不过我
一直无缘聆听Marco Cantu先生的讲座,因为每次我都选择了同时进行的其他讲座,
真是令人遗憾。
元老重臣
最后一个我想介绍的人物可能许多人并不熟悉,但是这位仁兄却一直是Borland开发
工具中的要角之一,那就是Bruneau Babet先生。Bruneau Babet很少公开露面,除非
在BorCon中读者才有可能见到他。
Bruneau Babet从Borland C/C++产品开始就是Borland的研发人员,在Borland C/C++
结束之后也转入Delphi R&D小组开发Delphi,而Bruneau Babet工作的重点一直是以
方面的技术为主。
Bruneau Babet除了进行Delphi的研发之外,主要的时间是负责C++Builder的开发工
作,因此他也从事C++Builder中融合ATL方面的工作,在BorCon中,Bruneau Babet演
讲的主题主要是Borland开发工具在/+的技术支持。
在这里,我无法介绍完所有相关的重要人物,除了上述几位外,许多大家熟悉的人物,
包括Dr。 Bob、John Kaster等,我都没有介绍到。这是因为Dr。 Bob和John Kaster
是许多人非常熟悉的,他们的照片在网站上可以经常看到,因此就不再列为重点,这
里是以读者不太熟悉的人物为主,让喜欢Delphi/C++Builder的读者能够看看这些杰
出软件人员的长相、了解他们的个人资料,让许多〃久闻其名〃的人物真实地呈现在我
们面前,作为我们学习的借鉴。
^v^v^v^v^v^v^v^v^v
第五章 逆转的奇迹Borland JBuilder的战斗发展史
〃没有JBuilder,Borland就不可能拥有今日的荣景!〃
Java的快速兴起和成功是谁也没有预料到的,即便对于SUN自己似乎也是一个极大的
意外,但是成功者一定是果断而且行动迅速的。当SUN察觉到Java的光明未来之后,
便立刻开始大力推销Java。SUN的总裁McNealy先生数年来苦于没有直接和Microsoft
对抗的机会,这下在Java的身上似乎找到了契机,当然更重要的是SUN接下来的一连
串行动都被证明是正确而成功的。这些行动包括和各种厂商合作;与Addison…Wesley
公司合作出版一系列畅销且成功的Java书籍;在各大媒体占据版面发表所有与Java相
关的文章、专栏等;快速培养Java使用者的基础,吸引大众对于Java的兴趣。这完全
是Microsoft一向无往不胜、攻无不克的手法,SUN也发挥得淋漓尽致,并且〃以彼之
道还施彼身〃。更重要的是McNealy立刻果断地投入大量的研发资源,不断地改善Java,
终于使Java从1995年开始展露锋芒,并且快速地成为业界焦点,自此展开了PC发展
史上最大规模对抗Microsoft的争霸战,也改变了许多软件开发的习惯和方向。当然
对于Borland来说,Java的发展史也是一场惊涛骇浪的生死之战,是Borland从未经历
过的大规模集团军混战。
对于Borland来说,事情并没有那么顺利。1995年,当Java开始起飞时,Borland并没
有预料到Java成长的速度会如此之快。Borland一开始只是把Java当成C/C++的延伸,
因此只在Borland C/C++5。0中加入了支持Java的P1ug…In。不过Borland很快就发现事
情并不是如此简单,因为除了Java的Plug…In反应并不好之外,也发现Symantec很快
在Java开发工具找到了新舞台,而且发展得相当快速。在Microsoft对Java的态度未
明之前,无疑Symantec占据了先机,Borland这才警觉到自己的失策,Java大会战一
开始Borland就已经落后了。Borland如何才能在下一场最重要的开发工具大战中进行
反攻呢?
Java开发工具初期的争战
当Symantec从C/C++开发工具市场大撤退之后,Eugene Wang不愧是相当高明的开发工
具好手,立刻察觉到尽管在C/C++市场遭遇失败,但利用原有力量却可以在即将茁壮
成长的Java市场上扳回一城,因此立刻率领原先Symantec C/C++的开发团队快速进入
Java开发工具的领域。Eugene很快以当初Symantec C/C++的集成开发环境作为基础,
开始开发Java开发工具,这就是后来著名的Visual Café。
Symantec几乎是第一个介入Java开发工具的软件公司,又利用了Symantec C/C++的基
础,因此在1995年,当Java获得愈来愈多人的注意之后,Symantec也准备好了她的第
一个Java开发工具Visual Café。1996年10月,Symantec赶在JDK 1。1之前正式推
出了Visual Café。虽然当时许多人批评Symantec为什么不等到JDK 1。1之后再推出,
以支持最新的JDK标准(因为当时的JDK 1。0x版本有许多的问题),不过这些批评并
没有妨碍Visual Café的成功。
由于当时许多软件人员急于投入Java的学习行列,因此当Symantec推出了Visual Café
之后,立刻在市场获得了极大的成功。特别是在Java学习市场和教育市场,Visual
Café几乎是以席卷市场的姿势迅速占据了Java开发工具第一名的地位,成为炙手可
热的产品,而Symantec公司也一扫在C/C++开发工具被挫败的怨气,再次成为开发工
具市场的领导厂商。
由于当时Microsoft对于Java采取敌视的态度,因此几乎不可能推出Java开发工具,
而Borland也还正陷于C/C++的苦战之中,尚未查觉到Java的潜力。至于另外一个死对
头Wat则已被Sybase并购,无法在开发工具市场再成气候。这对于Symantec来说简
直是天赐良机,一个可以独打Java开发工具市场的绝佳机会。剩下唯一的威胁是SUN
要推出的Java开发工具。但是Symantec已经抢得市场先机,而且已经成为领先者,只
要好好的把握,就能够以逸待劳和SUN对战。在这个Java开发工具萌芽的阶段,Symantec
似乎是占了绝对的优势,不过很可惜的是接下来Symantec也接连犯了几个错误,逐渐
失去了取得的优势。
首先是当Visual Café推出之后,Eugene Wang便离开了Symantec自己开公司做生意
去了。这对于Visual Café有着相当大的影响,因为Symantec靠着Eugene Wang的技
术能力和眼光,才能够和Microsoft、Borland和Wat在C/C++开发工具市场对抗;
Eugene Wang又独具慧眼打造了第一个Java开发工具Visual Café。Symantec应该在
Visual Café获得初期的胜利之后再次借重Eugene Wang的功力继续攻城掠地,但是
Symantec居然让Eugene Wang离开,立刻少了开发工具掌舵的大将。
第二个错误是Symantec当初为了尽快推出Visual Café以抢占市场先机,因此集成开
发环境是使用C/C++语言撰写的。这造成了数项缺点,其一是由于使用了C/C++来撰写
可视化窗体设计家(Visual Form Designer),因此程序员在设计时看到的可视化效果
和真正Java程序执行时的效果是有一些差异的;其二是为了维护Java的控制组件程序
代码和以C/C++撰写的可视化窗体设计家保持同步的状态,在可视化窗体设计家产生
的原始程序代码中内嵌了一些Visual Café控制卷标(Control Tag)。这些控制卷标
并不是Java的程序代码,只是为了可视化窗体设计家使用。如果程序员不小心修改或
是删除了这些控制卷标,就会造成Visual Café的可视化窗体设计家的失效。这是非
常严重的缺点,Symantec应该在Visual Café 1。0之后立刻改善这些问题,然而Symantec
却似乎一直无法有效地加以改善。当然,问题的根源在于Visual Café的集成开发环
境是使用C/C++语言撰写的,要完全改善这个问题,Symantec必须使用Java语言重新
改写集成开发环境,这正是Borland后来采取的策略。不过使用Java撰写集成开发环
境也是非常冒险的行动,Borland后来因此付出了沉重的代价。Symantec之所以没有
如此做,大概也是因为当时的Java并没有成熟到可以如此做的地步。不过SUN显然不
这么认为,其对Java信心百倍,不久就推出了SUN的Java开发工具,Java Workshop。
当Java成功地掳获了开发者的心之后,对于Java开发工具的要求便与日俱增。虽然
Symantec已经推出了Visual Café,但是许多人仍然希望Java的正宗厂商SUN能够推出
Java开发工具,让所有想要学习、使用Java的开发人员能够使用最标准的Java开发工具。
当然,许多人也希望SUN能够使用Java撰写Java开发工具来向世人证明Java的能耐,让
质疑Java能力的人以及Microsoft闭嘴。当然,SUN在Java成功之后也信心满满地宣布
了SUN的开发工具计划,以满足广大开发人员的需求。McNealy多年来进攻Microsoft
地盘的希望似乎即将出现光明的未来。
之后不久,在万方期待之下,SUN终于推出了Java开发工具SUN Workshop。在Java
Workshop即将推出之前,Symantec非常地紧张,因为这关系到Symantec是否能够在Java
开发工具市场站稳脚跟。我记得在Java Workshop推出之际,所有的媒体、杂志都大
幅报道Java Workshop,SUN也大力地宣传和促销Java Workshop。从当时的气势来看,
Java Workshop颇有〃千秋万世,一统江湖〃的味道。我所认识的许多朋友不管是用买
的、借的、下载等和嗯那个的……各种手段,都热切地想取得一套Java Workshop
来玩玩。不过丑媳妇总要见公婆的,在许多人使用了Java Workshop之后,才发现它
不但执行缓慢得像乌龟一样,而且问题多多,和一般的PC开发工具水准比起来简直是
差了十万八千里。看来Java Workshop只适合使用在昂贵的SUN工作站计算机上,而在
当时大多数人使用的PC上则根本跑不动,除非是拥有异于常人的耐性。
Java Workshop雷声大雨点小,不久之后就人气溃散了。许多原来对Java有信心的人
在用了Java Workshop之后,也开始质疑Java是否适合使用来开发复杂的应用程序?
是不是只适合用来撰写Applet?是不是只适合使用在SUN的工作站和计算机之上?虽
然之后SUN仍然很努力地推出Java Workshop 2。x的版本,希望一洗Java Workshop
1。x的恶名,但是仍然无法挽回Java开发人员的信心。至于其他仍然对Java有兴趣的人
则转而使用Symantec的Visual Café,让Visual Café进一步地扩大了市