`
datoplay
  • 浏览: 1614865 次
文章分类
社区版块
存档分类
最新评论

Borland有一个梦,程序员的梦

 
阅读更多

Borland

有一个梦,程序员的梦

本文以个人身份发表,不代表任何公司观点

天狼星

作为一个程序员,我在软件行业已经整整十个年头了。现在,我有幸在北京

Borland工作,每天面对的是程序员赖以生存的工具软件,个中滋味,自然难以述说。

Borland

其实是一家小公司,在当前IT领域遍地富翁的情形下,在微软、oracle、sun等软件巨头身旁,Borland银行里那一亿美元的储备金,真的算不了什么。

但是我知道

Borland有一个梦,一个程序员的梦。为了这个梦能变成现实,Borland的那些天才的程序员终结者们,总在夜以继日地耕耘着键盘,是的,总有一天,梦会成真,程序员们会为之狂悦。

每个公司都有自己的文化,就像每个国家都有自己的信念一样,

Borland也有自己的底蕴。福勒先生(现任代总裁)说过,要把Borland建设成一个像瑞士一样的国家。哦,瑞士,这是个不大的国家,是的,Borland只是一个小公司;它以精致的钟表和工具而闻名遐迩,Borland曾用一个Delphi维持了公司八年;它拥有勤劳聪慧的民众,Borland拥有全球最有天分的一群程序员;它在各种艰巨的地形下建造了数不清的人工奇迹,Borland打造了一个又一个的极品软件;在瑞士旅游,你不用担心便利性的问题,用Borland软件,你无须关心繁琐的细节。最重要的是,瑞士完全中立,Borland没有平台。

是的,

Borland的产品没有平台。这是西蒙先生(Borland高级副总裁)给程序员的承诺。这是Borland梦想的一部分,可以说已经基本实现。CORBA中间件产品VisiBroker屏蔽并连接了不同的平台。软件对象框架产品AppServer、软件对象管理产品AppCenter、Java开发工具JBuilder都运行在JVM之上因而只要Java能到的地方,这些产品就能到。数据库产品Interbase已经做到了Windows、Linux、Solaris三类平台之上。年底前Delphi for Linux、明年上半年C++Builder for Linux将出炉(参照Kylix计划)。有什么理由不相信Borland能实现自己的承诺呢?

其实

Borland所指的平台不只是操作系统平台,还包括语言平台,无论是Pascal、C++、Java,你看到的IDE环境都会是同一个面孔,你使用的组件都是类似的架构。除开语言平台,还包括不同的软件对象体系标准。你会发现无论是使用CORBA,或是Java、或是DCOM、或是MIDAS,你的对象总能互相通信,你在IDE环境中时常会看不到具体标准的痕迹。对了,这就是程序员的梦。在程序员们逻辑的世界里,如何能容忍所有这些平台的束缚呢?我做不到,我一直试图打破一个又一个类似的壁垒,我一直就像在做恶梦,直到我发现Borland可能做到。Borland有同样的梦想。

想一想,为什么一个独立的软件,不能成为一个对象?自从我们发明了对象这个名词以来,似乎已经有太多的人在用这个招牌来吆喝自己的产品了。事实上他们都是对的,因为每一个独立的软件都是一个货真价实的对象。因为它们独立,所以它们满足对象的最基本条件:封装。至于继承,在新软件中使用旧的代码,是不是继承?还有多形,写一个类似的程序,把它和现在的软件放在一起组成一个组,分别实现不同的功能,是不是多形?对了,只有独立封装才是对象是与不是的标准。有自己的名字,有自己的数据,有自己的方法,为什么不是一个对象?是的,这都是对象。

在程序员们逻辑的世界里,这些对象,那都是活生生的生命啊。那都是他们的将士,时刻听从他们的指挥。可是那些讨厌的操作系统,那些数以万计的语言,那些为某些公司专用的标准,这些所谓的平台,他们扼杀了这些生灵。平台让对象们离开出生的家乡就不能生存,还让他们互相不能认识对方,不能用长勺喂饱别人。

还好软件世界里还有那么多真正的程序员存在,还好在关心对象命运的公司也不止一家。这些公司(至少有

800多个吧),他们组成了一个组织叫对象管理组织(OMG),他们出了一个标准叫CORBA。CORBA认识所有这些对象,这些独立的软件。CORBA还让他们互相认识,请求对方为自己完成自己力不能及的事情。

是的,我们不再需要要求所有的对象都必须符合

DCOM的二进制代码规范,在除Windows以外的世界,我们找不到任何合手的软件来生成这些代码块。我们也不需要所有的程序员来学习Java语言,我们可以用自己习惯的语言。任何旧的代码都是程序员自己带出来的兵,我们今天不需要去遗弃他们。

如果现在有人对我说他用

UNIX上的Java程序和他的Windows下的C++程序一起集成了一个新的系统,我不会感到奇怪,因为Borland的VisiBroker、JBuilder和C++Builder让你可以做到。如果有人对我说,他的EJB可以和CORBA对象互相认识并能友好交流,我不会感到奇怪,因为如果你在AppServer框架下开发EJB,那么它本身就能是一个CORBA对象。Java对象必须存活在某个小一点但完善一点的框架环境之下,但这并不意味着它们不能通过类似于Borland AppServer这样的框架环境来融入CORBA的大家庭之中。如果明年有人对我说他拿Windows下的Delphi代码(包括界面描述)到Linux下编译了一个Linux下的可执行程序,跑起来样子还跟Windows下的一模一样,我也不会奇怪,因为用Delphi for Linux,你可以做到。

只有

DCOM对象现在还不能适应这个全世界大团结的美好环境。好在微软并不是那么万分的顽固。至少他们想把他们的新语言C#也弄一个IDL2C#规范出来,这样将来用C#也可以开发CORBA对象。甚至他们在DCOM之外,还能重视SOAP,因为SOAP容易融入CORBA之中,实际上他们已经在申请这么做。哦,SOAP是什么?其实不过是XML。用XML作什么?CORBA对象间传送的(一般来讲)是扁平的消息,结构化的消息最特殊情况下如一个对象则很难传送。用XML来包装一个对象,然后把XML文件整个传送出去,就可以传送对象了。其实用Java也可以传送对象,只不过双方必须都是Java程序罢了。鲍尔默先生(微软总裁)讲XML必将战胜Java,不是没有道理,而只是忽略了需要借助于CORBA之力的事实(当然凭借微软的实力,他可以不用现存的CORBA产品,但它必须有类似的产品,同时这个产品应该可以和CORBA互通,否则就失去了跨平台的意义)。

将来会有人跟我讲,他在服务器上实现了

Java所写的MIDAS服务器程序,他用DataModule封装了所有的业务逻辑,用EJB的形式放在某个框架环境(EJB Server)之下,该DataModule可以在任何平台下用任何语言中的TClientDateSet之类的东西来访问。如果听到这些话,我不会感到奇怪,因为即便是从当前的技术基础来讲,Borland都有能力能做到这样。如果将来有人跟我讲,他的微软格式的软件对象可以跟CORBA对象互相认识并能紧密合作,那我可能有些高兴,但仍然不会奇怪,因为只要微软愿意,Borland可以做到。

程序员们逻辑的世界是一个没有国界的净土,这里不允许任何的霸权存在。如果你觉得这只是一个梦想,那么请允许

Borland能和你一起做梦直到美梦成真。

 

作者简介:杨少雄,南京大学计算机系毕业,高级程序员,

北京

Borland公司系统工程师
分享到:
评论

相关推荐

    Borland c++ Builder程序员向导

    学习BCB的绝好资料,要精通这个集成环境就要仔细阅读经典教程,这就是其中之一

    Borland C++3.1 神话般的经典开发利器

    Borlandc++适用于需要一个专业化、优化的编译器的C++和C程序员,它同时适用于A&T公司的C++2.1版和ANSIC的程序员。它快速而有效,据此用户可以创建包括Microsoft Windows应用程序在内的任何应用程序。 Borland C++...

    Borland C++3.1

    Borlandc++适用于需要一个专业化、优化的编译器的C++和C程序员,它同时适用于A&T公司的C++2.1版和ANSIC的程序员。它快速而有效,据此用户可以创建包括Microsoft Windows应用程序在内的任何应用程序。 Borland C++3.0...

    Borland C++ 3.1

    Borlandc++适用于需要一个专业化、优化的编译器的C++和C程序员,它同时适用于A&T公司的C++2.1版和ANSIC的程序员。它快速而有效,据此用户可以创建包括Microsoft Windows应用程序在内的任何应用程序。 Borland C++...

    jbcl包(com.borland.jbcl.layout)

    jbcl包(com.borland.jbcl.layout)jbcl包(com.borland.jbcl.layout)jbcl包(com.borland.jbcl.layout)jbcl包(com.borland.jbcl.layout)jbcl包(com.borland.jbcl.layout)jbcl包(com.borland.jbcl.layout)jbcl包...

    Borland C++ 5.02 经典绝版

    最后一款既支持dos编程 又支持win32的编程软件 以后都是 C++ Builder了 官方描述: Borland C++ 5.02 - (1997) Final release of the Borland C++ IDE (subsequently replaced up by the C++ Builder series), final...

    borland c++ builder 4.0

    borland c++ builder 4.0

    Borland Delphi v5.0

    Borland Delphi v5.0 ,可做收藏、学习、研究。Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“真正的程序员用c,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述。

    Borland C++3.1入门教程,Borland C++教程,c++教程

    Borland C++3.1入门教程,Borland C++相信大家都比较熟悉了,这是一个教程,包括两本电子书,希望大家有用。

    Borland C++ 5.02.iso(1 to 2)

    Borland C++ 5.02是borland公司出品的c/c++集成开发环境的最后一个版本,是build C++的前身.但其提供的独有的扩展库使得一些之前依赖其扩展库的源码在其他开发环境中不能或很难编译成功,对于一些有研究价值的老代码的...

    Borland Delphi 8.0安装包

    Borland Delphi 8.0安装包

    Borland C++3.1入门教程

    Borland C++3.1入门教程 Borland C++3.1入门教程 Borland C++3.1入门教程 Borland C++3.1入门教程 Borland C++3.1入门教程Borland C++3.1入门教程 Borland C++3.1入门教程

    Borland Delphi v6.0

    Borland Delphi v6.0,可做收藏、学习、研究。

    borland C3.1 含原始版和安装后的版本

    borland C3.1 含原始版和安装后的版本。 还有borland C3.1的安装方法。

    Borland Optimizeit Enterprise Suite 6.0 part2

    共2部分,这是第2个 Borland Optimizeit Enterprise Suite 6.0 Borland Optimizeit Enterprise Suite 6.0 Borland Optimizeit Enterprise Suite 6.0 Borland Optimizeit Enterprise Suite 6.0 Borland Optimizeit ...

    Borland C++ Builder 6.0 keygen

    Borland C++ Builder 6.0 注册机

    com.borland.jdbc.jar

    com.borland.jdbc JBulider中常用的一个包,功能不错,可单独下载在eclipse中使用

    Borland C++入门指南

    经典的Borland C++软件,学习uCOS-ii的重要工具

    我的Borland Delphi 7 Studio Enterprise004-004

    Borland Delphi 7 Studio Enterprise开发必备

    Borland C++ 5.02(3)

    Borland C++ 5.02

Global site tag (gtag.js) - Google Analytics