您的位置:

java之父担心solaris,java之父放弃java

本文目录一览:

Java开源项目有哪些?

Sun的操作系统最初叫做SunOS,由于Sun Microsystem的创始人之一,Bill Joy来自U.C.Berkeley,因此SunOS主要是基于BSDUnix版本。SunOS 5.0开始,SUN的操作系统开发开始转向System V Release 4,并且有了新的名字叫做Solaris 2.0;Solaris 2.6以后,SUN删除了版本号中的"2,因此,SunOS 5.10就叫做Solaris 10。 Solaris的早期版本后来又被重新命名为Solaris 1.x. 所以"SunOS"这个词被用做专指Solaris操作系统的内核,因此Solaris被认为是由SunOS,图形化的桌面计算环境, 以及它网络增强部分组成。Solaris支持多种系统架构:SPARC、x86和x64。x64即AMD64及EMT64处理器。在版本2.5.1的时候,Solaris曾经一度被移植到PowerPC架构, 但是后来又在这一版本正式发布时被删去。与Linux相比,Solaris可以更有效地支持对称多处理器、即SMP架构。Sun同时宣布将在Solaris 10的后续版本中提供Linux运行环境, 允许Linux二进制程序直接在Solaris x86和x64系统上运行。 Solaris传统上与基于Sun SPARC处理器的硬件体系结构结合紧密, 在设计上和市场上经常捆绑在一起,整个软硬件系统的可靠性和性能也因此大大增强。然而SPARC系统的成本和价格通常要高于PC类的产品,这成为Solaris进一步普及的障碍。可喜的是,Solaris对x86体系结构的支持正得到大大加强,特别是Solaris 10已经能很好地支持x64(AMD64/EMT64)架构。Sun公司已推出自行设计的基于AMD64的工作站和服务器,并随机附带Solaris 10。第一个Solaris的桌面环境是OpenWindows。紧接着是Solaris 2.5的CDE。 在Solaris 10中,Sun又推出了基于GNOME的,Java Desktop System。 Solaris的大多数源代码已经在CDDL的许可下在OpenSolaris开源项目中发布。二进制和源代码目前都可以被下载和许可而无需任何费用。 Sun的Common Development and Distribution License被选择用做OpenSolaris的许可, 并通过了Open Source Initiative评审和批准(尽管它与时下流行的GPL是互不兼容的[1])。 OpenSolaris于2005年6月14日正式启动,源代码来自当前的Solaris开发版本。Solaris未来的版本将从OpenSolaris衍生。

如何看待oracle 收购sun 知乎

PS:Sun以前一直是我膜拜的伟大公司之一,也是开源社区和技术创新的领头羊。一直认为Sun被Oracle收购是开源社区的大杯具。Sun的市值曾经超过2000亿美元,就在Sun最低潮的时候,74亿美元的便宜价就被Oracle收购了。Oracle把Sun买来之后,清理掉了所有不太听话的管理精英和优秀工程师,然后请来个惠普的色狼接管原来 Sun的硬件生命线。转发此文以纪念杯具的 Sun, OpenSolaris, Kenai, Scott, James。

Java创始人詹姆斯·高斯林(James Gosling)

Oracle董事长兼CEO 埃里森近一个月三度成为媒体追逐的对象。8月12日,Oracle宣布就Google Android手机操作系统侵犯Java版权和专利一事,状告Google;8月17日,Oracle宣布放弃OpenSolaris计划;9月6日,Oracle宣布聘请前 惠普董事长兼CEO赫德为Oracle联合总裁。这三件貌似不太关联的事件,实则大有名堂。应该从Sun如何日暮西山说起。

成败皆因Oracle

同为公司创始人的埃里森和Sun董事长兼CEO麦克尼利曾经因为共同的爱好——反对微软而被称为硅谷斗士,又因为共同的生意——双方都以对方为最大客户而成为生意伙伴。然而,在网络泡沫破灭时,这对志同道合的朋友却兄弟阋墙了。

Sun靠工作站起家,后来凭借SPARC处理器和Solaris操作系统占领高端服务器市场。SPARC和Solaris性能和可靠性在业界有口皆碑,当然价格也不菲。但那时企业级市场上钱不是问题。Oracle公司的数据库产品此时与Solaris平台相得益彰。

网络泡沫破灭后,用户开始关注投资回报,钱成了最大的问题。Oracle为了保住自己的利益,做的事情就不够朋友了。

2002年6月,Oracle宣布推出数据库Oracle9i RAC。正是这款数据库把Sun逼入日薄西山的境地。这款数据库产品能运行在红帽Linux平台上,也能运行在x86架构上。更要命的是Oracle9i RAC与红帽Linux都预装在戴尔的x86架构服务器中。低成本的x86架构和Linux替代了SPARC和Solaris,而且预装使用户的麻烦大大 减少。埃里森做得更绝的是,将Oracle的整体运营迁移到x86平台,而且声明未来产品先在x86平台上开发,然后移植到SPARC平台上。Oracle的以身作 则,无异于告诉用户,Sun能干的事情,x86平台都能干,而且更便宜。

Oracle和用户双赢了,而Sun因为当时没有x86服务器,成为最大的输家。

Java带给Sun的只有声誉

为智能家电开发的Java,不想“有心栽花花不开,无心插柳柳成荫”,在家电市场毫无起色,却因其“一次编程,到处可跑”的跨平台特性,赶上了互联网的高速发展时机,在企业级市场上大放异彩。

Java对于Sun来说“华而不实”。除了带来声誉外,Java并没有直接给Sun带来与其声誉相当的回报。这倒不是Sun多么无私,实际上 Sun曾尝试过。在上世纪90年代末,Java的蓬勃发展让Sun感觉收获的季节到了,Sun成立了Java应用部门JavaSoft。不料,Sun这种 “既当运动员,又当裁判员”的做法遭到了Java应用厂商的强烈甚至过激反应。虽然当时Java社区的发展很快,但如果Sun在应用市场上分羹,会使 Java前程未卜。三思之后,Sun撤销了JavaSoft部门,退守开发Java 平台,从对企业的授权上赚些小钱。

Sun的主要经济来源是Solaris和SPARC。本质上说,Sun是一家硬件厂商。但是由于受到Oracle9i RAC的致命一击,Solaris和SPARC也朝不保夕。

2006年,接任麦克尼利的CEO施瓦茨的当务之急就是先稳住然后再去发展SPARC的用户群。“先尝后买”的免费策略无疑能招揽到客户。但对 于Sun来说,服务器白送是送不起的,只能白送Solaris。这样的做法令人匪夷所思:桌面级的Windows还卖钱,企业级的Solaris怎么白送 呢?

施瓦茨的想法是:号称史上最强的操作系统的开源,足以让关键业务应用的客户打消在Solaris安全上的顾虑,而Solaris与SPARC相 互优化得最好。因此,喜欢Solaris的用户也会喜欢SPARC,从而达到促销SPARC的目的。于是,Sun推出了Solaris的开源项目 OpenSolaris,并承诺OpenSolaris的开源代码与正在研发中的Solaris代码相同。

到了2006年底,Sun宣布将Java开源。显然,Sun寄希望于,运行Java最好的平台是Solaris,而Solaris最好的硬件平台是SPARC。只要用户对开源后的Java有信心,那他们就是SPARC的潜在客户。

然而,施瓦茨的如意算盘在去年4月Oracle以74亿美元收购Sun之后就再也拨不响了,毕竟软件厂商才知道软件的价值,谁当家谁说了算。

Oracle为何起诉Google

虽然Sun不再涉足Java应用市场,但企业使用Java仍要向Sun购买使用授权,通常这些都是小钱。Sun的最大一笔横财是2004年微软 以16亿美元一次性了结与Sun在Java上的恩恩怨怨。最抠门的要算Google了,它在其手机操作系统Android中无偿使用了Java。

虽说定位于企业级市场的Oracle对手机不屑一顾,但对于Google这样坏了规矩的带头大哥,还是必须管管的,否则,谁还会再交钱呢。但是,Oracle起诉谷 歌还应该有更深层次的原因,或者跟Oracle在开源政策上的变化直接相关。今年3月,Oracle将OpenSolaris的使用授权缩短到90天,逾期必须购买相 应的服务,接着在4月取消了OpenSolaris光盘的免费派送。到了8月17日,Oracle通过邮件称,将集中精力开发企业级Solaris,不再 对OpenSolaris进行实时更新。8月23日,负责OpenSolaris社区开发和维护的OpenSolaris管理会(OGB)成员集体辞职。 这意味着OGB把OpenSolaris的控制权交还Oracle,这正中Oracle的下怀。来自Oracle网站的消息称,负责硬件业务的全球执行副总裁John Fowle近日在视频会议上公布了Oracle + Sun产品战略及产品路线图。Fowle称,Oracle将首先致力于打造面向Oracle应用软件最开放的服务器,并为SPARC做好了长达五年的详细计划。 Oracle将继续支持运行英特尔芯片的x86机架服务器和刀片服务器。显然,SPARC重新获宠。Oracle英文网站说得更直接:Oracle提供世界上最完整、开放、 集成的商业软件和硬件系统,Oracle是唯一有能力提供完整的技术栈的供应商,栈中每层都被集成起来,像一个单一系统一样工作。换句话说,Oracle将以 SPARC为主,为客户提供一站式的完全解决方案。当Oracle万事不求人的时候,自然也就用不着OpenSolaris和Java当招牌、做幌子了,甚至可 以说,重新收回Java的控制权对Oracle更为有利。Oracle在Java上拿Google说事儿,要钱应该只是表面现象,深层次的原因是要传递出与 OpenSolaris类似的声音。而Google既非传统企业级软件厂商,又不支付授权费,自然成为Oracle在对Java有所动作前,试探Jave社区乃至IBM 等企业反应的合适对象。

赫德跟Oracle对脾气吗

别看麦克尼利与微软斗争时像一头咆哮的公牛,但他的刀子嘴都用在了盖茨身上,对员工却是豆腐心。在网络泡沫破灭后,资本市场多次对麦克尼利施加裁员压力,基本上都被他回绝,这成了麦克尼利被迫辞职的原因之一。

Sun是一个典型的技术驱动型公司,以不足IBM十分之一的员工规模维持着包括处理器、服务器、操作系统、存储、Java、数据库等在内的冗长产品线。这需要技术精英文化。

Oracle收购Sun后,硬件的市场推广成为软肋,迫切需要一个冷面成本杀手。

笔者曾经在2006年夏季在硅谷采访惠普全球分析师大会,那一年正好惠普首次超出IBM成为全球最大IT企业。赫德在主题演讲中谈论最多的是增长、成本和资本三角形,“技术”一词似乎不在赫德的口语辞典中。换句话说,赫德是靠管理和市场在规模上超越IBM的。

9月6日,惠普前任CEO辞职仅1个月就闪电般地在Oracle“再就业”,说明埃里森对赫德这个冷面杀手寄予了很高的期望,希望他能“昨日重现”,让Oracle也超越IBM。

如果埃里森把目标定为IBM,那当下惠普董事会对赫德的起诉正合埃里森之意:两家闹僵后,惠普平台上的Oracle用户保不齐会选择Oracle的软硬件解决方案,而且惠普还背上了率先撕破脸皮的名声。

如果说惠普只是在年收入上超过IBM的话,Oracle跟IBM在从服务器、存储到操作系统、数据库、应用软件等领域针锋相对的竞争还是很有技术含量的。

和不得不与惠普董事会勾心斗角相比,赫德得到在Oracle一手遮天的埃里森力挺,能全力以赴地与竞争对手周旋,但赫德还要直面企业内部的挑战,他既 要适应Oracle的企业文化,还得尊重Sun的传统。即便是赫德都适应了,Sun的技术精英也未必能适应。这不,2010年4月2日,Java之父高斯林离开了Oracle。之后2011年3月29日加盟Google。

在收购了 Sun 公司的六年后,Oracle 正在大规模的加大对违反其许可证的 Java 客户的审查力度。

越来越多的 Oracle 客户和合作伙伴被拉里·埃里森的团队约谈,称他们没有遵守 Java 的规矩。

Oracle 在 2010 年 收购了 Sun Microsystems 公司 ,知情人士透露现在它的许可证管理服务(LMS) 正在到处追缴付款。

该数据库巨头公司目前已经在全球雇佣了 20 个人专门来负责对那些违反 Java 许可证的企业进行追缴付款。

作为回应,行业合规专家组也在不断的扩充人马,招聘更多 Java 专家、扩大预算来应对和参与到 2017 年来自 LMS 的更多诉讼。这其中牵扯了太多的金钱利害关系,每个客户涉及的金额可能数万、数十万美元。

处于事件中的 Java 版本是 Java SE,有三种付费方式,从每用户 40 美元到 300 美元,或者每处理器 5000 到 15000 美元。

The Register 了解到零售行业的一个拥有 8 万台 PC 的客户已经收到了 Oracle 的通知,称其违反了 Java 许可证。Oracle 还告诉了另外一个客户其欠下了 10 万美元,但这笔欠款现在可以优惠 3 万美元。

专家们建议谨慎下载 Java SE ,已经下载的应该在 LMS 打电话过来之前对其使用进行审查并做好准备。这些大师们告诉 The Register 网站,寻求 Java 许可证帮助的客户呈上升趋势,这些客户在 2016 年下半年就已经收到了 LMS 的通知。

“Oracle 已将次当成问题着手处理,” 一个不愿意透露姓名的专家告诉 The Reg 网站。我们的消息来源显示此类信息的查询数量在过去的五个月内不断上升。

Palisade Compliance 的 CEO 和创始人 Craig Guarente 告诉我们 Oracle 的 LMS 并不管你到底是客户或者是合作伙伴。

他告诉我们说:“Oracle 把枪口对准合作伙伴,这些正在帮助 Oracle 的公司”。合作伙伴们都想知道,Oracle 怎么可以这样对待他们?

Guarente 说:“因为 Oracle 不断的推动,使得 Java 让我们和客户之间的关系越来越紧密。”

其根本的原因是大家对 Java 错误的认知,都认为 Java 是免费的!

这种错误的感知可以追溯到 Sun Microsystems 公司的时代;在 Sun 的领导下 Java 是免费的,在 Oracle 也是!但是 Sun 也曾对像 IBM 和制造蓝光播放器的厂商收取许可证费用。尽管绝大多数的使用者是不收费的。这是因为 Sun 利用 Java 来帮助其销售各种系统。

而现在 Oracle 决定让 Java 商业化的步伐迈得更快。

Java SE 是一个广泛的、包罗万象的下载,包括 Oracle 在 2014 年 2 月推出的 Java SE Advanced Desktop,以及在 2011 年 5 月推出的 Java SE Advanced 和 Java SE Suite。

Java SE 是免费的没错,但是 Java SE Advanced Desktop, Advanced 和 Suite 并非免费。例如需要为每个用户付费 300 美金以及 66 美金的服务支持费用;如果是按处理器计算的话,单个处理器需要 15000 美金以及 3300 美金的服务支持费用。Java SE 包含免费的 JDK 和 JRE,但是 Advanced Desktop, Advanced 和 Suite 以及一些额外的功能却是收费的,如 Java Mission Control 和 Flight Recorder (也叫 JRockit Mission Control 和 JRockit Flight Recorder)

此外还有用于大规模 Java 部署的 Microsoft Windows Installer Enterprise JRE Installer 。

Oracle 定义 Java SE 是免费的前提是“通用计算” —— 涉及到的设备包括桌面电脑、笔记本、智能手机和平板电脑。而 Oracle 许可证中规定作为智能系统中专业的嵌入计算机来说并非免费,Oracle 后来又补充了一些其他设备,包括移动电话、手持设备、网络交换机以及蓝光播放器等。

听起来足够简单,不是吗?但是客户在这些设备上越来越多的受到 LMS 的限制。愿意是目前没有办法将那些需要付费的 Java SE 子产品从免费的 Java SE 保护伞中剥离开来,Oracle 本身也没有提供独立的安装软件。

所以你只能成为一个 Java SE Suite 这个大杂烩的用户,尽管你只想要其中的一部分内容,然后根据 Oracle 的要求进行付费。

如果你想大规模的部署 Java SE,则需要 Microsoft Windows Installer Enterprise JRE Installer 这个工具 ,而这个工具并非免费 Java SE 的一部分。

“人们尚未意识到,” Guarente 对 The Reg 说:“他们认为 Java 是免费的,因为它是开源的,因此可以使用。这其实并不是 Java 的协议写得不清楚,而是人们对它产生了误解。”

我们那个不愿意透露姓名的合规专家同时还补充道:

如果你下载了 Java 你就获得了 Java 的所有内容,你需要确保你只装了你有权使用的那部分,同时删除没用的内容。使用了任何需要付费的特性都是商业用途。协议中的“一般用途” 是非常模糊的定义,这也是产生很多纠纷的原因。

当你作为一个组织,分发一些包含 Java 的东西给终端用户—— 而且越来越多的公司也通过分发应用让客户获得产品和服务,这些都不是“一般用途”,现在 Oracle 想从中赚钱!

为什么 Oracle 选择在收购 Sun 公司六年后才这样做呢?

我们认为这是因为 Oracle 的 LMS 是在详细了解 Java 的各个方面,并设计有针对性的审计方法。

LMS 现在已经准备好在 2017 年对 Java SE 的用户开枪了!

“我预计 Oracle 在 2017 年会增加这方面的投入,” Guarente 告诉 The Reg. “所有的趋势都显示 Oracle 的 LMS 审计团队越来越咄咄逼人,正积极努力在这方面获取更多收入。我不认为 2017 年我们能看到一个仁慈、温和的 Oracle。”

我们该怎么做?

一位不愿意透露姓名的专家警告说:“如果你下载了 Java ,你就获得了所有 Java 的东西。你需要确保你只安装了你有权的组件,那些你没用到的内容最好删除”。

“如果你已经在用 Java,请确保你真正在使用的具体组件,以及它们是如何被使用的。请在 Oracle 找到你之前先对这些问题进行验证。”

尽管 The Register 网站不断的在请求,但 Oracle 目前尚未对本文做出评论。

Java是什么?

简言之,Java环境可用来开发能在任何计算平台上运行的应用

软件。它实际上是一种非常基本且结构紧凑的技术,而它对World

Wide Web以及商业的总体影响已可同电子表格对PC机的影响相比

拟。

Java是巨大的推动力量

Java已用动态的交互应用软件使Web栩栩如生。它使开发人员

具有‘编写一次到处运行TM”的巨大能力。而且,借助其JavaAPI

及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。

这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取

得竞争优势。网管和控制已大大简化。软件分配基本上是免费的,

而且立即可实现。电子贸易已获得。占有成本大幅度降低。信息和

应用软件到处可存取。

Java建立在简单的前提基础上,即所有微处理器都应讲同一种

语言??所有内部采用芯片的产品都应能一起工作,无缝而方便地

共享信息。它已经改变企业和个人同Internet大交道的方式。现在,

它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影

响企业计算。

借助Java,您可自由自在地使用您已拥有的硬件和软件。这是因

为Java是独立于平台的。它还可使您超越企业计算,使应用软件在便

携式计算机、信息亭、电视、蜂窝电话和其他大量设备上运行。

全世界的公司都已发现Java数不胜数的用途。所有用途可从其无

可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和

环境的能力中受益非浅,而且节省的时间和费用十分可观。

Java无处不在。它已拥有几百万个用户,其发展速度要快于在它

以前的其他任何一种计算机产品。它可位于任何地方,而且能到处运

行。Java正在迅速被用做传播信息的事实上标准,这是因为它既可给

企业,也可给最终用户带来似乎数不清的好处。

因此,请您仔细考察一下Java。它的优点是很容易发现的。

“Java正在进入企业、家庭和学校。

它正在象Internet本身一样成为普遍存在的技术。”

Oracle 公司董事长和首席执行官

Larru Ellison

“Java正在改变我们使用Internet的方法,改变我们

在公司内部存取信息的方法,甚至改变我们使用蜂窝

电话的方法。它正在从根本上改变制作信息、销售信息

和分配信息的方法。”

EarthWeb公司董事长和首席执行官

Jack Hidary

Java的来龙去脉

Sun公司一小组工程师聚集在一起,认真思考日常生活中的

数字系统??因为烤面包机、恒温器、游戏机和其他无数设备

都包含越来越复杂的CPU??以及他们如何能使这些数字系统

共享信息。

创造未来的计算

制造产品的人当然全都从不同的方面来考虑其设计,视他们

所使用的硬件平台、操作系统和应用软件而定。但是,如果您要

使这些产品中的一些产品一起工作,那怎么办?安全性、可靠性

和网络问题又这么样呢?

因此,Sun公司这些工程师把各种不同的产品折开来,然后又

把它们重新组装起来,其目标是要使这些不同的设备相互交谈。

他们把这些研究对象相互传来传去,并理解所有其他研究对象的

特性,以便使他们能更好地一起工作。这就把制造商的问题缩减

到最低程度,并使消费者能方便地进行集成。当传统的语言证明

是不适用时,工程师们就打算找到某种简单的现代新语言。于

是, Java应运而生。

人们很快发现,Java有可能超越工程师的想象。Java的魅力在

于它提供给开发人员和用户的简便性。开发人员拥有广大的用户基

础、平台独立性、降低的开发费用和始终如一的执行环境,而用户

则可 从生动的内容、即时软件和增大的安全性中受益。

但是,Java正是从置于World Wide Web那时起才真正起飞。Java

使全世界大为震动,因为它使Web页面栩栩如生,而且不久变得很明

显,Java拥有大得多的潜力。人们之所以采纳Java,是因为它有独特

的能力来编制和部署能在任何一个网络、任何一个操作系统上运行的

应用软件。分配软件的时间和费用实际上已不复存在,使得各公司可

把更多的资源用来开发其产品。而且,某些工业专家认为,Java可能

会改变软件销售模式,从固定价格改变为按使用量收费,这样做更有

利可图,而且可阻止非法盗版。

Java是一种网络计算的通用开放标准平台。这种平台可从电话一

直扩展到极端重要的应用,建立在您现有的硬件和软件体系结构基础

上,从而创造出一个全部联网的企业或者制造出超出的创新产品。

“由于Java具有可缩放性,因而我们可以把Java应用于小应

用软件或大应用软件,把它芯片组以及大型计算机和服务器,并

使它为各种不同的应用领域服务。”

三菱公司系统营销副总裁

Steve Hester

“借助Java,您可以用一种能最有效地使用的方式动态地分

发和分配交互式商务应用软件一一在需要运行应用软件的地方,

在需要运行应用软件的时候。”

Novell公司开发者服务部副总和总经理

Gary Mueller

Java扎下根来

在某种意义上,Java具体体现了Sun Microsystiems公司自其14年

前创建以来所追述的目标。当时,它创造了“网络就是计算机”这局名

言。它市基于Web的新网络计算模式的完美平台,因为它建立在各个

组织现有的硬件和软件体系结构基础上,能建立一个全部联网的企业。

Java是一个完整而全面的解决方案

Java远不止是一种编程语言,它是企业内外的完整计算环境,而

且万事齐备,从开发工具、操作系统、服务器软件和瘦/肥客户机一

直到网络管理工具、支持、培训、咨询和集成服务,一应俱全。Java

使用起来非常简单,部分原因是Sun提供一种全面统一的解决方案。

主要组成部分包括:

*Java开发工具和服务:有助于简化开发Java应用软件的产品和

服务

*JavaOS:一种结构紧凑的操作系统,可使Java应用软件在网络

计算机和蜂窝电话等设备上运行

*Java虚拟机:一层软件,嵌入Windows、Macintosh和UNIX等计

算机操作系统,或在这些操作系统上运行,从而使计算机能

运行Java应用软件

*Java API:标准软件界面,位于Java应用软件和数据库检索和

安全性等服务软件之间

*Java芯片:一系列为Java优化的为处理器

*Solstice WorkShop:Java启动的网络管理工具

*Java培训:一个由教师指导和基于多媒体的完整课程,教会编

程员如何开发Java应用软件,包括一个用来验证熟练程度的

认证计划

*JavaWorkShop支持:900号电话服务,可为Java WorkShop用户

(仅限美国用户)立即提供按需支持

这些产品依靠由Sun的核心技术和服务提供的基础,包括:

*Solaris操作系统

*Sikstuce企业管理系统

*WorkShop开发者工具

*SunSpectrum支持服务

*Internet咨询和集成服务

*Java和Internet教育服务

*ultra工作站和Ultra Enterprise服务器;Netra服务器

难怪大公司和日益增多的全球2000公司正在把Java计算用做系统以及

其终产品的主要方面。

“您不会把您自己锁住在任何一家公司的专有技术中。

开放意味着选择。而Java使您有选择余地。”

Java改变了什么

nbs

p; 十年前,几乎没有人想到,几个技术人员研发的一个“小语言”,会发展成如今的一个“生态圈”,这就是Java。

Java让互联网动了起来

“计算机语言的发展历史也是人们不断追求更高的模块化、抽象化和封装化的历史。近十年期间,很多编程语言,从出现到没落经过了一波又一波。像1970年代出现的Pascal,如今用的人已经不多了。”一位资深程序员告诉记者,“‘算法+数据结构=程序’几乎成为软件开发的惟一准则,结构化程序设计方法从计算机发展角度来看是自然而然的,但今天从抽象的角度来看,这种方法几乎可以说是一个‘时代错误’。实际上,软件开发的主要目的就是描述和反映现实世界,结构化程序设计方法并不符合这个思维方式。”

因此,抽象的过程应该是以现实世界的对象为中心的,于是面向对象的抽象方法就走到了前台,出现了Visual Basic、Delphi、C++以及Java等面向对象的编程语言,而互联网的勃兴,则给Java的成长带来了肥沃的土壤。

“Java诞生时并没有引起太多人的注意,它第一次让人们觉得惊艳是在一次网站演示上,但当时人们对Java还抱有很大的争议。”被誉为“Java之父”的SUN公司副总裁、软件部首席技术官James Gosling回忆起十几年前的情景不无感慨地说,“但Java的出现为当时的互联网增添了生机,它让那些静态的页面动了起来。”

而且,因为Java具有“只写一次,随处运行”的特点,从而引起了更多开发者的兴趣。

“我们可以不必再做重复性质的劳动了。”中国科学院软件研究所宋靖宇博士说,“此前,为了能够使程序在不同型号的硬件平台上运行,开发人员必须耗费大量的时间来一遍又一遍的编写代码,然而Java改变了这样的局面,只写一次就可以。”

由于看到Java在互联网时代的巨大作用,清华大学计算机系教授王克宏从1995年就开始跟踪Java的发展。

Java语言的优势似乎是与生俱来的,然而,仅有语言是不够的。

免费的Java创造了应用奇迹

“为了提高软件开发效率,任何编程语言都离不开相应的开发工具和程序库。”王克宏说。于是,SUN公司在1996年的1月23 日发布了JDK1.0,其中包括两个部分:运行环境和开发工具,运行环境包括五大部分:核心API、集成API、用户界面API、发布技术和Java虚拟机。

随着各种功能的完善与提炼,各种Java开发工具以及开发环境的丰富,Java不再是一种语言的代名词,它变成了一种开发平台。人们常常听到的J2EE(企业版)、J2ME(微型版)、J2SE(标准版)就是Java的三大核心平台。利用这三种不同的平台,人们可以来做不同行业的应用。

SUN公司大中华区总裁余宏德说:“Java经过十年的发展,已经得到了全球的公认,可以说,当今的电子时代是‘Java无处不在’,正是基于它一开始的技术公开性,Java已经变成全球最富有活力的技术社区之一。”

尽管,Java目前已经风靡全世界,但Java 到底给整个产业带来什么,除了Java程序员外,似乎没有人能具体感觉到。

SUN中国区市场经理马君海比喻说:“电灯的发明,使得有了现在庞大的电力产业;电话的发明,使得有了当今兴旺的电信产业;而Java的发明,则给软件产业带来了前所未有的改变。”

像一切新兴事物一样,Java的发展并不那么顺利,其坎坷起步的经历,可以从SUN首席执行官Scott McNealy在SUN的Java One大会上的一句话得知一二:“七八年前的Java One演说现在听起来真是寒碜,我们那时实在是太小看它了,我们根本不知道这项技术将会改变什么。”而且,由于开始就是基于开源的态度,当时很多人怀疑它是否能赚钱。

然而,今天的Java已经得到广泛应用。

据全球市场调查分析显示:已经有25亿部电子设备采用了Java技术,Java智能卡发行量已经达到10亿张,采用Java技术的手机达7亿多部,7亿台PC中应用了Java技术,140家电信运营商支持Java 技术,全球有超过450 万个Java开发人员,JCP(Java社区项目)已经有912家会员企业。

如果没有Java,SUN将会怎样

从1997年4月6日美国旧金山的第二届Java One大会,到今年的Java十周年盛事,本报目睹了Java 十年的风风雨雨,眼瞅着这个以“咖啡”命名的小小编程语言变成了一个平台,一个社团,一个生态系统。Java不仅发展了自己,也同时改变了它的缔造者。Java对SUN的改变是间接的、渐进式的,有时候甚至不为外人所道也。

与平台无关的Java旨在与“锁定用户的”Windows相抗衡,给人们更多的选择,但推动Java研发的却是家硬件公司――硬件公司与微软抗个什么衡?也许有人会拿IBM做类比――IBM也大量涉足软件。问题在于,IBM涉足软件的结果是把自己变成了一个软件和服务公司,而SUN的主业依然是服务器。表面上看,“纯软”的Java并没有给“偏硬”的SUN带来直接效益,反而树了个强大的敌人,这就是并不“软”的微软。

同时,尽管SUN对Java的投资巨大,却从没说过它从Java中获得过多少回报。因为使用Java程序和开发工具包是免费的,这让那些利用Java做第三方开发的ISV们赚了个钵满盆满,可是SUN得到了什么?当然,Java作为高级编程语言,它的注册和维护也能给SUN带来一定收入,但这是一个小头,有人比喻说:“SUN成了Java的管家,而不是主人。”

SUN大中华区市场总监李永起近日为记者揭开了Java与SUN的秘密:“如果SUN只是一个做服务器的公司,人们就不会对我们太感兴趣,但有了Java,就大不一样了,人们会跑过来与我们讨论Java,人们会说:‘哦,能研发出Java这么棒的编程语言的公司一定不同凡响!’况且,服务器的销售从来就不是孤立的,它体现为一个系统,Java在硬件销售中发挥了关键作用。”SUN用 Java来定位Web服务,发挥其多平台对话的特长,营造Web服务环境。

Internet让Java复活,Java则拯救了曾经陷入“偏硬”困境中的SUN。

SUN董事长麦克尼里认为:Java带来的益处从根本上讲是间接的。“但是,”他说,“想像一下,如果10年前SUN没有做Java,今天SUN将会在哪里?如果人们不写Java Web服务,他们会写.Net的程序,如果他们写.Net的程序,他们就不会为SUN的设备写程序。”

.NET不折不扣的对手

近年来,国内一批软件公司都采用Java技术开发了一批软件平台和产品,这两年Java在国内得到了迅速发展。不过,尽管看起来Java的队伍似乎很强大,但国内Java人才相对而言还是少得可怜。

“SUN在新加坡建立了Java高级培训中心,目前新加坡有5万名Java 人才,而新加坡全国只有380万人,即全国1.3%的是Java人才,如果按此比例,中国应有1700万名Java人才,而现在估计仅10到15万人。”王克宏教授在相关的报告中写道,“造成国内Java应用不多的原因是多方面的。”

“这两年SUN才开始在中国举办各种活动,而许多媒体对Java的不关注也是其中一个原因。”王克宏说。

“其实,鉴于Java出来时总给人阳春白雪的面孔,使得国内的许多编程者在熟悉了微软的开发平台后,很难转换过来是其中的一大部分原因。”宋靖宇博士说,“你不得不承认微软在开发工具上的人性化以及可视化设计是高超的。”

“在讨论 Java 的时候我们很容易将 Java 语言和 Java 平台混为一谈,与.NET 平台比较的过程中,也更多的是将Java平台和C#比较,或者将Java语言和.NET 平台做比较,在我个人的意识中,这是不够公正的。”上海大学博士刘锬对记者说,“Java既是一种语言,也是一种平台。”

说到微软的.NET,它从提出的开始就是立足平台,相对于 Java 提倡的“一次编写,到处运行”,.NET则提倡“一个平台,多种语言”,因为平台的统一性,因此在各个程序语言的兼容性和混合开发方面做得比Java 好,也因此有些微软的“粉丝”嘲笑Java是“一次编写,到处调试”。

“微软的C#是集合了C以及C++甚至Java的许多优点的结晶,在Windows平台上,似乎C#在运行速度上更胜一筹。”刘锬介绍说,“在任何一个平台上,我们直接交流的是实现Java语言运行的虚拟机,我们希望Java在虚拟机以及它的开发平台的研发上变得更易用、更人性化。”

“有对手总是一件不算坏的事情,这个世界不需要‘独孤求败’,商业规则也不允许‘独孤求败’的出现,因为那样会打破竞争格局的平衡,而Java和.NET这两个平台的纷争才刚刚开始。较量,有利于整个软件世界。SUN公司在商业模式的运作上甚至可以跟微软学习。”一网友这样说。