前所未有的锋利 微软公司的C#语言可能是Java的灭亡的原因
作者:Robert X. Cringely要批评微软公司很容易。我的职业就是这个。是的,他们是欺凌弱小者,并且他们的技术往往是派生的、缺乏灵感,但是令微软公司的大部分竞争对手烦恼的却不是这些。微软公司的竞争对手被微软公司的成功所困扰,也就是说微软公司缺乏一个可信的竞争对手。这个原因(也可能是唯一的原因)并不是微软公司的过错所造成的。
我对人们抱怨比尔·盖茨,而不是在市场上战胜他而感到厌烦。
所有这些都源自传闻的微软公司与司法部之间和解的前一天晚上—这个和解对放慢对微软的令人崇拜无济于事。这种令人崇拜情况应当在很久之前就被竞争对手终结了,但却没有。我认为,这完全是由于缺乏竞争意志所造成的。
如果苹果公司(Apple)真正做了英明的决策,在15年前终止硬件业务,支持向所有后来者销售MacOS,那情况会怎么样呢?如果美国在线(AOL)将真正的资源放在Netscape上,情况又会怎么样呢?Internet Explorer在今天还会这样占据主流吗?是什么使太阳微系统公司(Sun Microsystems)的Scott McNealy继续认为,当我们认识到真正所需要的是价格是PC 10倍的工作站,并且需要有一个IT部门时,PC将最终销声匿迹呢?为什么不是Sun公司代替微软公司处于领先地位呢?如果Sun公司的工程技术真是这么好,为什么不能击败微软公司呢?并且,为什么拉里·埃利森(Larry Ellison)相信,我们会突然有一天意识到我们必须放弃所有的硬盘,而将数据放置到未看到过的Oracle服务器上呢?
事实是,微软公司的每一个竞争对手都有意地将其产品稍稍依靠在Windows上,因为在他们的心中,他们相信技术优势并非真的很重要,而微软公司无论什么都将处于优胜地位。
懦弱的人
使我如此愤慨的原因是,认识到微软公司将会在他们没有获得商业性胜利的领域再一次取得成功。我预计,微软公司将会战胜Java。
Java过去一直是位于莱得蒙德的微软公司的杀手。Sun公司跨平台的、编写一次任何地方都运行的(write-once-run-anywhere)语言将把我们从微软公司和Visual Basic的专制下解放出来,但这种情况并没有发生。对于出现这种情况,我只能批评Sun公司而不能怪别人。
程序设计界的广告宣传正在不断地从Java转移到新的Java竞争产品C# (C-sharp)上。这种转移的出现是某种原因引起的。当Java语言在5年前上市的时候,它庞大、速度慢,并且有很多错误。而5年后的今天,Java仍然是庞大、速度慢,并且有很多错误。而仍然处于beta版本的C#语言,感觉起来已经比Java好多了。它的性能更快、更简洁。Java有巨大的领先地位,但Sun公司浪费掉了。现在,坦率地讲,Java感觉已经陈旧了。
出现这种情况,并不是因为微软公司太优秀,而是因为Sun公司太差了。C#和Java是如此惊人的相似,唯一的主要区别是微软公司去掉了杂牌的组件。微软公司的C#之父是Anders Hejlsberg,他被列为C#语言的发明者之一(而Java之父是James Gosling)。他可能是通过阅读Learn Java in 21 Days(21天学会Java) 开始自己的设计过程的。
Sun公司应保持自己的技术领先地位,但却没有。原因何在?难道他们不知道微软公司是终结者(Terminator)(正如在电影中所描述的,一个真正令人惊恐的人物),并且永远不会放弃吗?无论.NET怎么样,都被莱得蒙德认为是微软公司的未来,而C#则是.NET的核心。无论C#需要什么,微软公司都将投入,并根据市场需求对它进行多次修正,以使其成为世界上居支配地位的程序设计语言。现在,有哪些其他的高技术公司可以这样行事呢?无论需要什么,苹果、Sun、Oracle,甚至是IBM公司为实现某些目标而投入吗?
不,他们不会的,这就是他们会失败的原因。微软公司可能会撒谎、欺骗、窃取,也许他们只是工作得非常非常努力—无论其代价有多大。对于所有竞争对手来说,这是最强制性的实现能力。
当然,Windows XP、xBox(以及C#),使得微软公司变得更加强大。
Sun公司正在绝望,转而开始骂人了。所有各方都认识到了、但没有大声说出的事实是微软公司将通过表现不佳的经济支持.NET,而Sun公司利用自己的.NET竞争产品Sun ONE(Open Net Environment)则做不到这一点。Sun ONE可能是很好的技术,但事实是,它几乎是与.NET完全竞争的产品。并且由于这个原因,Sun公司对于Sun ONE的信心、资源不及微软公司的.NET。杀手不需要穿得很好,而Sun ONE则几乎不穿衣服。
这里的底线是微软公司将自己的生存与.NET紧紧联系到了一起,而Sun公司则没有看到有这样的联系。Sun ONE是不错的产品,但它成功还是失败,对Sun公司的硬件销售人员都不会有太大的意义。对于Sun公司来说,Sun ONE与其他任何产品一样是自我的表现。这意味着,在人们以自我的名义,非常非常愚蠢地行事方面,它是很重要的,但是自我满意通常并不是生存的必要条件。换句话说,McNealy并不原意将公司押在Sun ONE或Java上,而盖茨和巴尔默(Ballmer) 很乐意将公司押在(并且已经将公司押在)了.NET和Java上。并且在心中,所有方面都认为微软公司将会获得成功。
现在,随着C#成为主流,Java开始缓慢地衰落。我并不想它这样,但它应当是这个样子。这种过渡将几乎是没有痛苦的,因为对于Java程序员来说,进入C#的栅栏是如此得低。同时,程序员正在转移的部分原因是财务方面的原因。“微软公司将这个产品推向市场的热情,将会在它基础上创造大量的商业机会,”我的一个看起来喜欢奇怪的语法的程序员朋友这样说。“他们对于损失金钱无所顾忌,我会考虑建立这种习惯。他们损失金钱意味着像我这样的小人物拣到了钱。”