Borland有一个梦,程序员的梦

原创 2001年04月23日 20:02:00
 

Borland

有一个梦,程序员的梦

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

天狼星

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

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

Borland

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

但是我知道

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

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

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

是的,

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

其实

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

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

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

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

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

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

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

如果现在有人对我说他用

UNIX上的Java程序和他的Windows下的C++程序一起集成了一个新的系统,我不会感到奇怪,因为BorlandVisiBrokerJBuilderC++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有一个梦,程序员的梦

 Borland有一个梦,程序员的梦本文以个人身份发表,不代表任何公司观点天狼星作为一个程序员,我在软件行业已经整整十个年头了。现在,我有幸在北京Borland工作,每天面对的是程序员赖以生存的工具软...
  • jiangtao
  • jiangtao
  • 2001年04月23日 20:02
  • 2493

《Unity 游戏设计与实现 南梦宫一线程序员的开发实例》学习笔记01

第0章 Unity概要这是我的Unity初体验,之前没有接触过Unity引擎,但是确实很想学习,就先阅读了一点Unity Manual。熟悉了一下软件界面各窗口功能后,觉得Unity Manual 介...
  • malu_sky
  • malu_sky
  • 2016年03月29日 22:37
  • 1559

织梦dedecms内容页如何调用作者头像和其他信息

在织梦CMS v5.7 中打开官方默认模板article_artcile.htm,我们可以提取调用文章所属会员信息标签的代码 {dede:memberinfos} 会员头像: 会员用户名:[fi...
  • qikexun
  • qikexun
  • 2016年02月05日 19:24
  • 1579

BORLAND 在“迫害”程序员?

Initialization 引子 今天在大富翁论坛上有人说被 Borland 的开发工具“迫害”很久,听到这种说法,先是一惊?难道 Borland 给我们的 RAD IDE 还不够好吗?还不够...
  • HSFZXJY
  • HSFZXJY
  • 2012年08月31日 08:46
  • 810

任哲ucos第二版 如何用精简版的borland C++3.1跑一个简单程序 【转】

转自http://zhangzhenyuan163.blog.163.com/blog/static/858193892011427111228258/ Borland C++ 在C:\bc  中 ...
  • phonon99
  • phonon99
  • 2014年02月15日 11:01
  • 792

梦断代码--一个程序员的自白(七)

本文谢绝转载 http://www.weibo.com/0x2b     大约是各方面对ADP的反响都不大好,ADP要想推销自己,必须找到新出路。最终,目标锁定到Protein,让Protein...
  • wingfiring
  • wingfiring
  • 2012年10月15日 10:37
  • 3094

梦断代码 --一个程序员的自白(六)

本文谢绝转载 http://www.weibo.com/0x2b PS:这一章水的比较狠,就当看盗版网络小说了吧。见谅。    我对公司有一个很不满意的地方,就是缺乏像样的职业培训。我...
  • wingfiring
  • wingfiring
  • 2012年09月27日 22:02
  • 14215

梦断代码--一个程序员的自白(八)

本文谢绝转载 http://www.weibo.com/0x2b 因为最初我只是想证明我的那个可扩展的类型系统,因此我给ADPLite改了个名字,叫“息壤”,喻意类型系统会像息壤一样,能够生长。...
  • wingfiring
  • wingfiring
  • 2012年10月18日 14:30
  • 3807

梦断代码--一个程序员的自白(九 完)

本文谢绝转载 http://www.weibo.com/0x2b     Protein的性能瓶颈主要是在runtime,而runtime是基于FBX来写的。FBX已经停止开发,而且改动代价太高...
  • wingfiring
  • wingfiring
  • 2012年10月29日 13:03
  • 8566

梦断代码--一个程序员的自白 (四)

本文谢绝转载 梦断代码--一个程序员的自白 (四)    一个周末过去,对于我所回复的,如何在运行时存储字符串的问题的解决方案,O也有了回应。O对我的方案非常不满,认为我的方案是他之前就考虑过...
  • wingfiring
  • wingfiring
  • 2012年09月19日 15:58
  • 11644
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Borland有一个梦,程序员的梦
举报原因:
原因补充:

(最多只允许输入30个字)