• 当Borland已成往事:献给曾经的Borland 〔转帖,作者:令狐虫&冷月无声〕


    一、当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

  • 相关阅读:
    jsonp 监控简陋代码
    Oracle多线程并行使用、关联与指定索引执行
    Oracle计算时间差表达式
    行查列显
    JS时间
    通过string型类名实例化一个类
    sotower1.5-LS_工作流容易出错的地方
    oracle11g ORA-12505
    华项笔记本显示颜色变黄,调整好了重启还是偏黄
    ORA-00031: session marked for kill 处理Oracle中杀不掉的锁
  • 原文地址:https://www.cnblogs.com/dajianshi/p/349791.html
Copyright © 2020-2023  润新知