一、当Borland已成往事
老方说偶占着Borland分类的位子,却很久没谈Borland,想想也是。不过现在的Borland还有什么可谈的呢?
[被屏蔽广告] 昨天看了高论发的关于Borland最新的IDE——DeXter的一个DemoVideo,令狐8了一篇关于Borland的东东。对于Borland这个公司,我们的观点是基本一致的。
Borland已经变了。不再是以前那个意气风发的江湖侠客,而是一个脑大肠肥的地方富贾;他拥有的,不再是那些充满灵气的开发工具,而是那些沾满铜钱味的企业解决方案。
Borland,不再是我以前认识的那个Borland了。
不过作为一家商业公司,利润远比技术理想更重要。当开发工具带来的利润越来越少时,在股东的压力下,必须要有新的利润增长点才行。
七八年前,Borland第一次尝试从开发工具领域向企业应用领域时,公司甚至为此改了个名字叫Inprise。结果Anders离开了,Borland差点把自己玩死。
前一两年,Borland又开始转向企业解决方案,不过这次是针对软件开发企业,倒还没有偏离太多。但结果又是Black.Stone, Chuck.Jazdzewski等人离开了。
与此相反的,Borland的每一次辉煌,都与开发工具紧密相连。
83年公司成立,就是仗着Anders的成名作:Turbo Pascal 1.0。之后的整个DOS时代,开发工具几乎都是Borland的天下:Turbo Pascal,Turbo C,Turbo C++……
Windows 3.x的时代,又是Borland的Borland C++出来拯救了广大的开发人员。再之后便是Delphi。
但是这些都已经是往事了(详情请自行参见李维的《Borland传奇》一书)。
问题在于现在如何了呢?
自从.net出来以后,Borland就乱了阵脚。首先是Kylix表现平平,加之Borland打算加入Linux阵营领导集团的企图也告失败,只好退出Linux平台下的开发工具领域。然后是MS放出风声说要把Win32全部转到.net下,Borland又匆匆忙忙推出for .net的C#Builder和Delphi 8,结果又是大败。想要搞一个平台无关的C++BuilderX,同样还是惨遭失败。
当C++BuilderX出来时,我写过一篇《C++ BuilderX的问题与展望》,后来在Delphi 2005出来前,我又写了一篇《传说中的DELPHI9--DiamondBack》。但是现在还有什么好写的呢?
这个DeXter看上去还好:仍然是那个叫Galileo的IDE,也许它会是BDS4,还是在.net平台下跑,比Delphi 2005增加了对原生C++的支持,基本上相当于把C++Builder 6集成到Delphi 2005里。仅此而已。
当然,要说增强的方面也不是没有,至少Delphi 2005中增加的像重构,单元测试,增强的调试功能……这些都是C++ Builder 6所没有的。且不说这些方面在DeXter中能做到什么程度还是一个未知数,更何况在Delphi.net中那些重量级的增强功能像ECOII和 Together却应该是用不上的。最关键的是:
一个做原生C++应用开发的,为什么需要依赖.net?
C+ +BuilderX用的IDE——PrimeTime——依赖JAVA已经让人很不爽了。VS做大而全有它的平台基础,Borland没有自己的平台,在.net下根本不是VS.net的对手。还不如放弃这个Galileo的IDE,把Delphi.net、Together、ECOII以for VS.net的方式提供,集中力量把该做的事做好。至于原生应用,就继续按照原生的路子走,别老想着把原生的东西弄到某个平台上,不论是.net还是 JAVA。
一不小心又对Borland指手划脚了,还是回头做我的ABAP吧。.net还是JAVA跟偶有什么关系呢?
也许到很多年以后,当有人提起Borland时,我大概还是会想起曾经发生过的那些往事吧。
BTW:据蔡蔡回复说DeXter是基于Eclipse的CDE,如果是这样的话,那还不错。不过我很怀疑Borland会真的下定决心抛弃Galileo和PrimeTime这两个IDE,而转向Eclipse。毕竟Borland不是IBM。
二、献给曾经的Borland
不记得曾经多久没有谈论和关心Borland了。每天习惯性的输入“borland.mblogger.cn”的时候,居然也很少联想到这个曾经心目中最了不起的公司。
今天老鼠发了一个Borland新版IDE的Flash演示。虽然现在看到新版的Borland产品,不再像以前那样心潮澎湃欣喜若狂,但还是让我不自觉的想起曾经迷恋Borland,迷恋Borland产品,迷恋Borland传奇的那些日子。
注册了Borland板块的Blog以来,我几乎没有写过一篇跟borland有关的blog,心里不免是有些愧疚的,今天,借着这个机会,让我小小的弥补一下吧。
曾经的Borland像一个侠客,面对微软、IBM、Sun这样的大公司,Borland一不趋炎附势,二不低头认输,虽然曾经几起几伏,但还是凭借自己在RAD工具、C++编译器方面的深厚功力顽强生存了下来,并且在软件开发的市场占有了一席之地。
Turbo C 2.0、Turbo Pascal 7.0、Borland C++ 3.1,这些昔日的经典作品,曾经让多少人废寝忘食,从此走上编程之路。
Delphi、JBuilder、C++ Builder,这些重量级的产品,又曾经让多少人如释重负,将枯燥乏味的Windows开发变成轻松的享受。
就连那些失败的产品,也可圈可点。比如Kylix,险些就改变了Linux下应用程序的开发方式;比如C++Builder X,提出的很多概念让人耳目一新。
如果不是那该死的.NET……
微软的.NET宣传突然间铺天盖地,来势汹汹,为我们营造了一个“.NET everywhere”的世界。比起其前辈Java的“write once, run everywhere”有过之而无不及。在如此强大的宣传攻势下,有几个人能够保持清醒的头脑呢?
Borland自然也不例外,他希望自己再次站在.NET的前沿阵地。
于是,C# Builder来了,Delphi.NET 也来了。
但是.NET和Windows API不一样。Windows API是flat function的形式,对于OOP并不十分友好,甚至有些理念(如回调函数)还有相冲突之处,因此,VCL将其封装成OO的形式,是十分有利于快速开发的;而.NET从一诞生起就考虑到了组件化和可视化的问题,因此,使用VCL将其再次封装,不仅没有什么好处,反而让人产生了使用上的不习惯。
再加上如今.NET并没有微软当初宣传的那样流行,Borland的迎合举动,反而让自己陷入了一个尴尬境地。
在.NET宣传如日中天的时候,C++ Builder坚持走本地化开发的路,总算是Borland的一次明智举动,否则,如今的BCB一定会像managed C++那样消失的无影无踪(因为Borland不可能敢像微软那样大刀阔斧的改动C++本身)。但是,那个如同测试版一样的BCBX实在是伤了大家的心,BCB也因此险些从Borland的开发计划中消失。真是可悲可叹。
其实当初BCBX的概念提出的时候我是非常看好它的,因为它的许多概念(比如多GUI框架支持,多编译器、多平台支持,C++代码重构)都是很先进的。可惜那个最终实现……
现在,Borland新的产品又出现了。很久没有关注Borland的我,没有了以前的那份激动。我的感觉是,产品成熟了,但是没有了那份锐气。
Borland的网站也改版了,遵循了XHTML标准,板块区分也清晰了。但是,以前长长一串的products名单,现在变成了寥寥3项:Application LifeCycle、IDE、Application Middleware。
Borland已经变了。不再是以前那个意气风发的江湖侠客,而是一个脑大肠肥的地方富贾;他拥有的,不再是那些充满灵气的开发工具,而是那些沾满铜钱味的企业解决方案。
Borland,不再是我以前认识的那个Borland了。
看着现在的borland.com首页,我突然想起了《白马啸西风》中的一句话:
那都是很好很好的,可是我偏不喜欢。
就让从前的那个Borland,伴随着他的经典作品,一起封存在我的记忆中吧。
2005年6月14日 20:43