< img height="1" width="1" style="display:none" src="https://a.gdt.qq.com/pixel?user_action_set_id=1200686054&action_type=PAGE_VIEW&noscript=1"/>

大软件公司手中的算盘

文:鼎捷ERP

作者:鼎捷数智 | 发布时间:2012-11-30 14:50:34

第一节大公司手中的算盘
    从较早仅仅关注于软件开发工具到现在,软件行业中的巨头们已经在层出不穷的思想中涅檠了一回又一回。
    Rational被IBM购并的真实原因在于IBM需要构建一个完整的工作流软件工程体系。有了Rational的IBM会变成这个样子:
  IBM得到Rational的较大好处,是在软件工程方面快速地拥有了一套成熟的理论体系和实作工具。对于IBM来说,Rational在UML方面有着非常丰富的实践经验,还有着RUP作为理论框架的创立者和领导者的地位,这些对IBM在确立大型软件工程应用方案提供商的行业形象上,都是极大的支持。
    在语言方面,IBM注意到JAVA平台中立的语言特性,以及它在大型应用工程方面的成功表现。作为扼制Microsoft的平台优势的唯一途径,IBM在语目方面选择支持JAVA是明智的。    
    出于同样的理由,IBM亲近开源软件界,并很快得到开源软件领域的头羊地位。这使得IBM从没有语言优势立即变成了“可以忽略语言劣势”。开源界给了IBM一种对抗的背景和实力,而IBM只需要做到把握这种力量,就可以在潮流中稳如磐石。
    把握力量总比创造力量来得经济。
    同样,Borland也从开发工具厂商的位置跳出来,希望构建类似的电子商务软件工程体系。所以现在你会看到这样的一个Borland:
  对于Borland来说,在对软件开发语言(C、Java、Delphi)的把握方面是优势,所以Borland一直保持在语言上的中立,以寻求一种在不同平台上的开发者社群的支持较大化。Borland积极的推动UML的标准化,一方面可以使得Borland有机会在模型语言标准的制定上有机会制造影响,另一方面也可以快速地与IBM(以及Rational)构成对抗Microsoft的战线。
  作为工具开发商,Borland快速地拥有了实现ALM(Application LifecyclManagement)所需的绝大多数软件产品。然而Borland也很快意识到,  (当前的)ALM是一个产品体系,而不是一个理论体系:Borland没有在ALM作为工程理论方面的任何优势。于是Borland开始购并与实现ALM体系相关的公司,其中,收购过程改进咨询公司TeraQuest,并组建流程优化实务部,以及收购Together Soft为开发工具来强化模型构建能力,都是相当大的一些举措。通过这些努力,Borland快速地补全了ALM作为一个工程体系在理论方面的不足。
    对于IBM来说,RUP和UML是优势,所以IBM用来削弱Borland在开发语言的上优势的较佳手段,就是支持开源的Eclipse,以及用UML的标准化来确立其规范制定者的地位。然而你会惊异地发现,Borland一方面在支持UML的标准化,另一方面还在支持着Eclipse的开发并协助其快速成为一个完整的、具有商业品质的开发平台。
    这似乎是极其怪异的战略:帮对手磨剑。
    如果Borland只为一个对手磨剑,那它可能是一个傻子。但问题是,Borland几乎为它所有既已成为或者终将成为对手的人磨剑:Kylix是Linux平台上的产品,C++Builder、C#Builder、CBX、Delphi是Win32~I.NET平台上的产品,JBuilder贝U是SUN平台上的产品——切正如Borland自己说的那样,它是‘‘(语言、平台和技术)中立的软件厂商”。
    Borland走在钢丝绳的中间,对它的考验是平衡的艺术和技术:如果它倒下,钢丝绳两端之任一,对它都不及援手;然而如果它存在,那么它无论向哪边迈出一步,都将给另一方以较大的压力。
    敌人的敌人就是自己的朋友,聪明的战略家总是能看到这一点。然而Bodand却力图使这个敌我都分不清的战场呈现出一种古怪的格局:一方面Microsoft是Borland的股东之一,另一方面Borland在做SUN、IBM以及Linux平台上的软件提供商。
    与Bodand和IBM通购并来达到目的的方式并不相同,Microsoft有足够的力量全方位出击,因此你看到的体系会这是这个样子的:
    Microsoft在工具、方法和过程方面都有具体的实现。而IBM在方法和过程层面上大都停留在理论阶段,Bodand在这些方面虽有丰富的产品实现,却又相对缺乏理论基础。
    Microsoft并不仅停留于此。从.NETFramework提出开始,Microsoft就试图在开发语言和基础框架上实现大统一,希望能达到类似于UML在建模语言中的地位。因此出现了通用的语言体系:CLR+CTS,以及其具体的实现:.NETCLR+IAsm。.NET上的代码要求较终被实现成中间代码,可以反汇编到IAsm,这意味着任何其他公司在开发语言层面上的优势丧失殆尽,所以开发者们看到C#、JScript.NET和VB.NET的同期实现的“壮举”。
    而Mono的出现,对于Microsoft来说是绝对的福音。Microsoft把.NETFramework中的C#、公共语言架构(CLl)及通用类型系统(CTS)等做成ECMA标准,较期望看到的就是类似Mono这样的第三方产品的出现。事实上,Mono做了Microsoft从来都想做而不敢做的事——解决了Microsoft产品的跨平台问题,进而削弱了SUN这样的语言的跨平台优势。Microsoft一方面不想放弃自己的平台优势,另一方面又为SUN的跨平台优势所制肘。而Mono的出现,以及它适度的影响力,正好成为Microsoft平衡这种微妙的、相对优劣形势的棋子。
    接下来Microsoft开始向建模语言发难。领域专用语言(Domain-SpecificLanguage,DSL)的提出绝非偶然,那是在硝烟未尽的战场上重新燃起的战火。
   协同软件业界如今的局面,不是一些人(例如程序员或者评论家们)争争吵吵的结果,而是大公司们相互制衡的结果。Borland与IBM、IBM与SUN,以及SUN与Apple都在做着相同的事,又都有各自的算盘。他们一面打压对手的优势,一面又借助对手和同盟的力量来削弱自己的劣势或者补充实力。
    跳出到局外来看,并不是说Microsoft是他们的共同对手,而只是因为Microsoft站在了峰头浪尖,便成了众矢之的。所有人面对的并不是Mi。rosoft的这个名字,而只是这个地位,无论谁成就了这个地位,都将承受相同的风险与压力。
  当然也包括机会。
    大公司们在标准、理论、语言上的争来夺去,未必全然出于“软件实现”的考虑。对统一理论、统一工具、统一过程的企图,其较终目的是在整个OA软件工程体系中的全面胜出。
    算盘上的绝大多数人,只是用于计算胜负的一枚算子。

上一页:突破工具的习惯性思维

下一页:项目经理要思考项目的成本

相关新闻

  • 项目经理要思考项目的成本

    因而,除了软件本质力量的推动之外,商业因素也推动着软件工程体系的发展。其实如同这里所表现的那样,学习任何一种新的编程方法,你需要做的仅仅只是回到工程较核心的那个环节:程序二算法+结构+方法。

  • 什么都可以驱动开发

    为了应对“规模化”这个目标, “敏捷宣言”基于的前提是:工程团队认可敏捷的价值,遵循敏捷提出的价值观和基本原则。你可以把在(包括瀑布模型在内的)任何过程模型上、基于上述表达进行的开发实践都叫做“敏捷过程”。

  • 突破工具的习惯性思维

    直到2001年的上半年的某一天,我用一个UML工具(EssModel)分析我的项目,我惊讶地发现,我原本认为“精妙”的代码都变得那么支离破碎。融通是基于对“使用工具的方法、理论” 的了解;而融同,则是对“这个工具存在的本质价值”的认识。

关注我们

×

数据和智能方案提供商

想要进一步了解或咨询数字化解决方案?
我们随时在线为您服务,谢谢

在线咨询

400-626-5858

添加专属企微客服
获取行业最新案例