技术开发

SUN为何会陷入困境
作者 IT168 晓渡 2006年08月23日 09:14

 
【IT168技术评论】编者按:本文从一个技术人员的角度审视了Sun公司的软件产品和策略,分析了Sun公司在软件技术方面的困境和出路。
今年夏天,这家成立于1982年的技术公司开始饱受来自业界和投资者的质疑。“裁员”、“出售相关业务”、“盈利预期下降”等词汇和这个曾经辉煌的技术公司联系在了一起。如果我们以技术人员的眼光重新审视这家公司在技术和软件产品上的历史和策略,就会发现Sun今天的现状存在某些必然的因素。

Java十年 ,Sun究竟做了什么?
大部分技术开发人员经常说,“除了Java,Sun还拥有什么?” 的确,大部分技术开发人员是通过“Java”知道Sun公司的,甚至还有少数人只知道Java,并不知道Sun。而随着Sun对Java进行开源的进程加速,所有围绕着Java的相关产品的格局又将发生重大的变化。

Java十年,Sun究竟做了什么呢?我们不妨回顾一下Java十年的发展历史。
附:Jdk各版本发布情况
版本号 名称 发布日期
JDK1.0  1996-1
JDK1.1  1997-2-18
JDK 1.1.4 Sparkler 1997-09-12
JDK 1.1.5 Pumpkin 1997-12-13
JDK 1.1.6 Abigail 1998-04-24
JDK 1.1.7 Brutus 1998-09-28
JDK 1.1.8 Chelsea 1999-04-08
J2SE 1.2 Playground 1998-12-04
J2SE 1.2.1 none 1999-03-30
J2SE 1.2.2 Cricket 1999-07-08
J2SE 1.3 Kestrel 2000-05-08
J2SE 1.3.1 Ladybird 2001-05-17
J2SE 1.4.0 Merlin 2002-02-13
J2SE 1.4.1 grasshopper 2002-09-16
J2SE 1.4.2 Mantis 2003-06-26
J2SE 5.0 (1.5.0) Tiger 2004-10-9
J2SE 6.0 (1.6.0) Mustang 2006-2
J2SE 6.0 (beta2) Mustang 2006-6

1995年3月,随着Java技术的诞生,Sun公司的名头开始风靡全球。Java的诞生标志着互联网时代的开始,因为Java能够被应用在网络上编写互动性及强的Applet程序,而1995年的Applet无疑给人们带来了无穷的视觉和脑力震荡。然而,这些掌声和鲜花并没有为Sun公司带来任何直接的收益。

为了让开发人员能够使用Java来开发应用程序,Sun很快在1996年1月发布了Java的开发库和工具包JDK1.0。JDK包括两大部分:运行环境和开发工具。而运行环境包括五大部分:核心API,集成API,用户界面API,发布技术,Java虚拟机(JVM)。跨平台的虚拟机技术也开始走进人们的视野。Java程序并不直接被编译成所在平台的机器语言然后执行,而是先被编译成字节码,然后可以到所有安装了JVM的平台上运行,从而实现跨平台。

然而,Java程序的运行效率和问题一直饱受非议。JDK 1.0中丑陋而笨重的API AWT几乎成为了开发人员的噩梦,绝大部分开发者很快便得出了Java不适合开发前端桌面应用程序的结论。

虽然Java从诞生到发布整整十年,其间的升级和改动几乎每年都有,但一直没有重大和关键的改进,特别是在易用性,易开发性方面。直到2004年10月份Sun发布了代号为“Tiger”的Java 2标准版( J2SE) 1.5发布了正式版时,情况才有所改善。

在这个版本中Sun对Java语言做了许多令人振奋的革新。为了与.NET竞争,J2SE1.5在易用性上做了重大改进,引入了泛型、增强FOR循环、元数据、类似C语言的格式化输入输出、静态导入、可变参数等总共15个组件JSR(Java Specification Requests )以及由 Java 社团(Java Community Process,JCP)开发的其他将近100个重大更新。

“Java早就需要改变,只是这种改变实在来得太晚!这些迟到的改变,还是受到来自于微软的.Net的重压下做出的”一位资深的Java开发者表示。

微软的C#语言被认为是Java最有威胁的对手,有统计数据表明,C#的开发者和用户数量的增加远远超出Java。

 令人无法想像的是,Java语言产生到传入中国并开始大规模应用,足足经过了10年,Sun公司才推出中文的技术文档(第一批文档仅仅包括java.lang和java.util类库API 文档的中文版)。
“Sun需要向微软学习的地方太多,Java语言本地化的问题一直就没有得到较好的解决。比如,我们经常在做Java开发中遇到的乱码问题,其实归根结底就是Java语言本身的问题。作为一门向全球推广的语言,Sun理应做好本地化的工作。”一位开发Java外包项目的主管接受采访时表示。

的确,看看微软的任何开发语言和开发工具,几乎在中文化的问题上无可指责。极少有人在微软的开发语言或开发工具中遇到乱码或字符本地化的问题。
由于Sun拥有Java技术的专利,使用Java技术必须交纳费用以获得许可,此外,软件商若要对外宣称与J2EE相容,其产品还必须通过兼容性认证。但这些盈利点和模式本身就处在一个两难的境地,如果许可费和兼容性认证费用过高,一方面会客观阻碍Java技术的传播和应用,另一方面会招致其它厂商的不满;不收取费用又会切断Sun公司在Java方面的经济来源。
很早便有Sun公司员工透露,Sun在Java技术线上唯一赚钱的是J2ME,并且盈利模式也不是软件销售,而是从支持J2ME的手机厂商收取许可费。

“Sun并不是没有想到通过Java的相关产品来取得受益,遗憾的是Sun的Java相关的产品,从开发工具到应用服务器,无一取得真正的成功。”

Sun在1999年买下了Netbeans这个IDE以加强其Java工具集,特别是希望在Java开发工具上有所突破,争取更多的开发者支持。与此同时,IBM也在支持和开发Java的开发工具,不同的是IBM在策略上先胜一筹,率先采用了开源的思路。

2001年9月,Sun公司推出了Forte(tm) for Java IDE 3.0版工具软件,并加强了与iPlanet Application Server之间的集成,以便支持企业Java应用和web服务的创建。然而,无论是IDE开发工具还是应用服务器,Sun的产品始终没有受到开发者的青睐。

Sun的工具和产品从来不乏新颖的创新和技术,然而他们太不注意技术细节了。今天的开发者是非常挑剔的,一个非常不显眼的细节没有处理好,都有可能成为他们抛弃这个工具的理由。

  
Sun事实上已经失去了Java软件市场
  Java软件市场表现为Java的开发工具、Java的中间件以及Java的终端软件市场。
Sun虽然是Java世界的缔造者,尽管在这十年的时间内,很多公司通过Java获得了巨大的财富,然而这一切似乎和Sun毫无关联。特别是在IT回暖,J2EE中间件市场有40-50%的大幅增长的情况下,Sun也没有能多分一杯羹。据Gartner的调查数据,目前应用服务器市场上,IBM WebSphere的占有率为37%,BEA WebLogic为29%,而Sun Java System Application Server仅占5%,并且从1999年至今一直呈现逐年下滑的态势。

  那么在工具软件市场,Sun究竟有无前途呢?

  工具市场上的20年血雨腥风的竞争,随着Borland神话的破灭,开源工具的兴盛,似乎已经告诉了人们这样一个事实:开发工具是赚不到钱的,能够争取到更多的用户就是成功。

  另一方面,随着平台软件的兴盛,纯开发工具软件在软件开发流程中的地位也在逐渐发生变化。处在开发工具两端的产品如前期的需求分析,建模工具,后期的软件测试工具,以及开发过程中的周期管理工具的地位逐渐加强,甚至比开发工具本身更有商业价值河市场前景。

  问题是,当技术出生的Schwartz(原来负责软件业务的执行副总裁)着手要将Sun转型为一个软件公司时,面对这样一个几乎被瓜分殆尽的市场,他该如何下手?

  “Sun公司的开发工具本来使用者就不多,可笑的是他们居然还经常更名。另外一个是产品线比较混乱。比如,就开发工具来说,有Forte Developer 系列,又有Sun Studio系列,又发展到Sun Java Studio Enterprise,现在又再力推Java Studio Creator IDE。”一位接受采访的开发者认为。
  其实,Sun One Studio的前身为Forte for Java,而Forte for Java又是从NetBeans(被Sun收购)改良而来。从其工具演变的发展历史上看,很多人对Sun开发工具的能力表示怀疑。倒是开源的NetBeans收到开发者的追捧。

  尽管Sun的初衷是好的,每种工具定位于不同的开发者和不同的应用,但还是有些重合和重叠的地方,另外,开发者也没有精力和时间去在这些工具中切换。


 重学术,轻视市场的恶果
   看到Sun公司的Logo,大家很容易联想到上升的朝阳,其实它是斯坦福大学校园网(StanfordUniversityNet)的缩写。Sun公司最初由包括Scott McNealy(现任Sun公司首席执行官)等四名在Stanford大学和加州大学Berkeley分校的研究生创建。

  斯坦福大学是产生计算机科学家的摇篮,同样也是孕育伟大技术公司的地方。Sun公司集成了斯坦福优良的学术、创新传统,但却在商业运作上非常欠缺。

  2002年,Java语言之父Gosling对C#的批评声音还在耳边:“C# 在设计规则本身就是错误的,因为他们必须支持 C 和 C++ ,着就意味着必须必须拥有一个内存模型可以在所有时间存取所有内容,这就成为安全性和可靠性的主要障碍,一方面,他们拷贝了Java,另一方面他们添加了混乱以及愚蠢的一些东西,十分的可笑。开发人员选择 C# ,与其说是实际性能,不如说是微软的攻关策略赢了。 Java 是 10 年前发明的语言,在 Sun ,没有多少人在开发集成开发环境(IDE),因为 IDE 是面向低级程序员的,而真正的程序员使用的最好的工具应该是 Emacs,这个 23 年前,我就为之付出了一些心血的家伙。”

   今天,仅仅经历了4年,我们再回头看,就能很容易地从这些批评的声音中。看出Sun在软件市场的竞争中落败的原因。C#一直以十分稳定的速度在快速增长,特别是国内很多高校的学生,在学习面向对象的编程时,甚至开始使用C#作为教学语言,主要原因是基于C#的IDE开发工具深受学生喜爱,另一方面,学习曲线和难度要比Java低很多。

  “开发人员选择 C# ,与其说是实际性能,不如说是微软的攻关策略赢了”,如果能够赢,谁会在乎你用什么方式赢呢?Sun公司内部没有多少人使用IDE工具,但这并不意味着广大的开发人员就不需要IDE。从Gosling的这些批评观点中,Sun公司学术化和精英思想表露无疑。


软件信心丧失?
  Jonathan Schwartz上任之初就扬言要将Sun转型为软件公司。当时国内外大部分媒体都推测Sun将会大规模扩大软件部门,可随后的事实恰恰相反,软件部门人员和预算遭到大幅裁撤。
从2005年开始,Sun软件部门的裁员高达3600人,而今年4月份,这一裁员计划又扩展到服务器部门,今年4月份,Sun又对其可扩展系统事业部(SSG)裁员200人。

  裁员带来的恶果就是对公司信心的丧失。从2005年年初到现在,Sun公司就不断有大碗级的人物离开。如2005年1月份离开的J2SE 5.0开发组的领导人Calvin Austin,到最近的2006年7月份离开 的Sun微系统公司主管软件业务的执行副总裁约翰 洛亚库诺(John Loiacono)(据CNET消息,John Loiacono将离开Sun加入Adobe公司担任创新部门(Creatives Group)高级副总裁)。
  没有一流的软件技术以人才,向软件转型转型谈何成功?IBM由硬件向软件与服务转型足足花了十年的时间,依靠的是软件部门的不断扩张与充足的人才储备。Sun公司无疑还有很长的路要走。

打开APP阅读全文
{{data.thematic.text}}

相关文章

加载中...

分享到

请使用浏览器的分享功能
分享到微信等