【每日一课】2、java的发展历

本文回顾了Java从1990年诞生至今的重要里程碑事件,包括Java语言的创建、关键版本的发布、与微软的法律纠纷以及重要开源项目的崛起。揭示了Java如何成为企业级应用的主流技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1990-1994:Java缘起
文/孟岩

Larry Wall说,优秀程序员应有的三个特点:懒惰、急躁和傲慢。Java就是诞生在一群懒
惰、急躁而傲慢的程序天才之中。
1990年12月,Sun的工程师Patrick Naughton被当时糟糕的Sun C++工具折磨的快疯了。
他大声抱怨,并威胁要离开Sun转投当时在Steve Jobs领导之下的NeXT公司。领导层为了
留住他,给他一个机会,启动了一个叫做Stealth(秘密行动)的项目。随着James
Gosling等人的加入,这个项目更名为Green。其目标是使用C++为嵌入式设备开发一种新
的基础平台技术,James Gosling本人负责开发一个SGML编辑器。正如人们事后分析的那
样,这位天才的程序员太懒惰,所以没有把C++学好,开发中碰了一头包;太急躁??所以
不愿意停下来读读Scott Meyers的新书《Effective C++》;太傲慢??所以轻易地决定开
发一中新的编程语言。他把这种语言命名为C++++--,意思是C++“加上一些好东西,减
去一些坏东西”。显然这个糟糕的名字不可能长命百岁,很快这种颇受同伴喜爱的小语
言被命名为Oak。
到了1992年9月,Oak语言连同Green OS和一些应用程序一起发布在称做Start 7的小设备
上,从而使之有了第一次精彩的亮相。随后,Sun开了一家名为FirstPerson的公司,整
个团队被转移到这家公司里研发机顶盒,以投标时代华纳公司的一个项目。这帮天才被
技术狂热所鼓舞,开发出了一个高交互性的设备,结果没想到时代华纳公司和有线电视
服务商并不愿意用户拥有那么大的控制权,从而在竞标之战中败给了SGI。Oak的锋芒之
锐,竟然把客户都给吓懵了。Sun沮丧地关闭了FirstPerson,召回了整个团队。事实证
明,传统行业中那些脑满肥肠的保守主义者是腐朽没落的。回去!回到激情澎湃的IT产
业,抓住互联网的大潮,这才是出路!1994年,Oak被命名为Java,针对互联网的新一轮
开发如火如荼,一切已经就绪,熔岩在地下奔流,火山即将喷发。

1995: Java香浓世界
文/马伟

1995年,Sun正式对外公布了Java,并且发布了JDK 1.0。这种外形酷似C++,却包含一颗
Smalltalk般纯洁的面向对象之心的全新程序设计语言及其平台,几乎在一夜之间就成为
软件产业的新宠儿。Java当时仅仅被用来为网站制作一些动态应用,诸如动画图片之类,
但这仍然引起了很多Web开发者们的注意,他们非常渴望有一种安全的语言,可以在静态
的HTML网页上制作动画图片。Sun最终把Java集成到NetScape浏览器。同时因为它具有
“只写一次,随处运行”的特性,而引起了很多开发者的注意,他们可以再也不用为了
使程序能够在不同型号的硬件上运行而耗费大量的时间来编译代码了。
当时的Web浏览器的出现也为Java的出现起到了很好的推动作用,通过Java和Web浏览器
的结合,人们似乎看到了什么,有人甚至预言PC将在一两年内退出历史的舞台,取而代
之的是基于Java的浏览器应用程序,通过网络计算设备来进行应用。Java的出现为当时
的软件产业带来了无限的遐想。

1996:Java大跃进,盟主地位就此定
文/马伟

SUN在1996年一开始首先成立了JavaSoft组织,并在1月23日正式发布自己的Java 1.0,
作为20世纪业界出现的最重要的技术之一,Java引起了编程世界的革命。直到现在,
Java仍然是互联网上最流行的语言。
在Sun正式发布Java 1.0之后,Java这门新生的语言就拥有了自己的会议??JavaOne,这
次会议初试啼音就吸引了600多名参与者。除了拥有这么多的积极参与者来进行Java的开
发之外,各大知名公司也纷纷向Sun申请Java的许可。一时间,NetScape、惠普、IBM、
Oralce、Sybase甚至当时刚推出Windows 95的微软都是Java的追随者。
Java的应用就像是世界上的顶级玩家们组成的一个公开联盟,告诉全世界我们大家就是
都在用着Java。也正是因为如此,Java也找到了自己的归宿。现在的J2EE已经成为中大
型企业级应用的标准,成为承接数据库和Web之间的一个重要桥梁。
当年Java的机会实在太多了,以至于很难知道到底该做什么。最终Java在应用服务器市
场获得了难以取代的地位,也确定了J2EE的发展方向,并且仍将延续下去。

1997-2001:  微软与Sun的Java官司
文/孟岩

Java诞生的1995年,正是微软在软件产业地位达到巅峰的时代,Windows 95发布时的风
光场面给人们留下的深刻印象至今难忘。尽管如此,作为最卓越的技术领袖,比尔?盖茨
仍然敏锐地注意到Java。当他了解了Java的一些细节之后,给予了这样的评价:“Java是
很长时间以来最优秀的程序设计语言。”基于此,微软于1996年3月申请并获得了Java许
可证。微软对于Java的这一热情态度在当时大大提高了人们对Java的兴趣和信心,但也
有不少人担心微软会依靠自己强大的影响力在标准之外另立标准,从而破坏Java的纯洁
性。
果然,从1997年发布Visual J++的第一个版本开始,微软就开始在Java中掺入自己的私
有扩展。这毫无疑问引起Sun的高度重视。1997年10月,Sun向美国加州地方法院起诉微
软公司违反两公司就微软使用Java技术所签定的合同,指控微软公司在自己的Java产品
中做了“不恰当的修改”,违反了合同中承诺向用户提供Java兼容产品的条款。这一官
司旷日持久,直到2001年1月双方达成和解,微软将继续提供采用Sun开发的Java技术的
现有产品(包括测试版)。不过,Sun有限制地仅对包括Java 1.1.4的微软产品提供许
可。到了2001年7月,微软公布新版的Windows XP将不再支持Sun的JVM,并且推出了.NET
平台与Java分庭抗礼。
现在回过头去看,当时的这一场官司对Java世界产生了深远的影响。如果没有这一场官
司,也许很多Java程序员都在使用Visual J++,基于WFC开发Windows客户端程序,同时
不得不面对被两个不同的事实标准所分裂的Java世界。

1998:Java 2平台发布
文/陶文

1998年,Java 2平台正式发布。经过了三年时间的发展、热热闹闹的攻关宣传、红红火
火的众厂商的热情参与,Sun终于知道Java适合干什么了。对比Java刚发明时的技术定
位,与Java的戏剧性触“网”的那段历史,Java 2平台的发布可真算得上是有的放矢
了。根据官方的文档,Java 2是Sun意识到“one size doesn’t fit all”之后,把最
初的Java技术打包成三个版本的产物,也就是著名的J2ME、J2SE、J2EE。
之所以说Java自从Java 2平台发布之后,进入了现代。那是因为之前的历史怎么看来都
和现在程序员日常开发使用的技术无什么关系,比如Applet,已经很少有人使用了。
Java 2之后的历史就不一样了,至少人们在推崇轻量级开发,猛批EJB时还不时会引用
J2EE这个词是如何诞生的。而Java 2的三大版本中,除了J2EE得到了长足发展和广泛使
用之外,J2ME也在手机市场上取得了遍地开花的结果。相较之下,J2SE难免落寞,只剩
SWT这个血统不纯的家伙在Rich Client回归的时代吸引着人们的眼球了。无论今天看来
当时的Java 2有多么的不成熟,至少经过市场和时间的检验,Java 2规划出来的三大方
向把Java技术指向了光明的方向是勿庸置疑的。

1998:JCP成立并正式运作,
Java开源社群开始蓬勃发展
文/黄海波

1998年,JCP组织成立,并且开始把握Java的发展方向。JCP组织的开放性,不但使得所
有对Java感兴趣的商业公司可以参与Java的发展,更重要的是JCP允许个人、非盈利组
织、学校等加入,这就给Java带来了巨大的活力。随之兴起的Java开源运动的最大贡献
是实现和鼓励了知识共享,在众多热情的开源程序员们的努力和分享下,很多原先只被
商业公司掌握的技术、思想和产品可以被所有需要的开发人员免费或者以较低的价格获
得使用权, 并通过开放源代码更容易的获得反馈和改进意见从而进一步演化发展。我们
知道,所谓知识不是孤立发展认知,而是人们的经验,认识是思考交流和积累的产物。
而开源运动所带来的开放、反馈、交流的风气正是符合人类社会知识形成和发展的规
律。
开源运动起源于西方的发达国家,有其现实背景和文化根源。1990年代可以说是IT产业
的一个黄金时代。信息时代的兴起对IT人员,特别是软件人员有着巨大的需求。而软件
开发又是一种类似艺术创作的脑力活动,和所有的艺术家、作家们一样,在作品打上自
己的印记并流传在世界上是每一个创作人员的梦想。互联网时代下的高收入的舒适生
活,早九晚五的编写公司的代码并不能满足很多有激情的软件开发人员的梦想,再加上
西方传统的基督教文化中十分推崇的分享和交流,开源的出现和兴起也就水到渠成了。
今天,开源运动已经不仅仅是一些个人天才程序员们的游乐园地,而是发展成为一项开
源软件产业。

1998:WebLogic打开J2EE的魔匣
文/霍泰稳

Java语言的出现使得互联网络有了良好的交互性能,但这些很“酷”的技术仅被人们认
为是一些小花招,它还无法消除企业级用户对它的怀疑。1998年,BEA公司宣布收购
WebLogic公司,并接着推出由Sun公司第一个授权使用J2EE许可证的WebLogic Server应
用服务器,这个Java版的AppServer一推出就引起业界极大的兴趣。WebLoigc Server以
其对标准的支持、强悍的运算能力和安全的架构设计等特性也很快征服了那些怀疑J2EE
应用的人们。推出市场后不到一年,WebLogic Server就成为业内第一Java应用服务器。
这里我们援引一些当时著名咨询公司的调查数据来说明问题,“在IDC的报告中,BEA在
应用服务器和交易服务器领域市场份额第一;在Gartner的报告中,BEA WebLogic
Server拥有业内最广泛的EJB应用安装基础;在Giga Group的报告中,BEA WebLogic
Server市场份额占32%”。
因为应用服务器市场极大的发展潜力,在WebLogic Server之后,其它的很多公司也推出
了自己的AppServer,如IBM的WebSphere、Sun公司的iPlanet等,逐渐地应用服务器取代
了传统意义上的各类中间件,成为企业应用的基础平台。应用服务器的出现使得Java有
了真正意义上的发展。

2002-2004: Sun与微软的法律碰撞最终以喜剧收场
文/恶魔

2003年4月2 日,Sun与微软达成16亿美元的法律和解。如果不是晚了一天,许多人会以
为这是一个在4月1日愚人节开的玩笑。尽管当时所有人都像是看到“太阳从西边出来
了”那样张大了嘴巴,但这的确是事实。
根据两家公司达成的版权协议,双方会为采用对方的技术而支付专利费用,微软向Sun提
前支付3.5亿美元使用费,Sun则承诺,如果Sun集成微软的某些技术,也会向微软付款。
毫无疑问,“私下了结”的方式对双方而言都是最好的结果。就在协议签署的当天,在
美国旧金山由Sun和微软为“抛弃十年恩怨、携手合作“举行的新闻发布会上,尽管比
尔?盖茨没有到场,但这并没有防碍现场看起来异常轻松的气氛。麦克尼利和鲍尔默各自
穿了一件密歇根州底特律“Red Wings”曲棍球队的运动服,并谈及了一起在哈佛大学读
书的经历,麦克尼利还说:“当时我们两人是非常要好的朋友,当然我们也有吵架的时
候。”人与人当然可能成为终生的知己,但是公司与公司之间有的只能是利益上的分分
合合。

2000-2004: JBoss和Eclipse
Java开源软件的王者
文/莫映

Java和开源几乎就是天生的一对,这可以从无比兴盛繁荣的Java开源软件社区得到佐
证。目前最有影响力的Java开源软件项目,要数JBoss和Eclipse。可以说,几乎所有的
Java开发人员都获多或少的听到过或接触和使用过它们。前者是目前最优秀、应用最为
广泛的企业级开源J2EE应用服务器,后者是功能完全可以替代商业产品的Java IDE。二
者的覆盖功能之全、支持工具之广、子项目之多,几乎可以仅凭借它俩来完成企业应用
的开发构建到部署实施的全过程,而软件开发者和客户也都可以最大程度上享受高质
量,高可靠Java开源软件所带来的低成本优势。
JBoss和Eclipse的巨大成功,几乎令各自领域的商用竞争者抓狂,其中BEA的WebLogic和
IBM的WebSphere在商业利润上受到JBoss的巨大侵蚀,而Borland的JBuilder、JetBrains
的IDEA等诸多优秀的商用开发工具也不得不面对Eclipse独大的现实。JBoss的CEO兼创始
人 Marc Fleury曾直言不讳地表示,希望占据市场主导地位。“我们希望打败IBM,成为
中间件领域里最大的厂商。”JBoss在4.0以前还只是以一个Group存在,盈利手段主要靠
服务和销售文档。但在最近,JBoss已经发展成为一个有限公司,并吸纳多家风险投资,
专注于获取利润为目标之一的第二代开源软件模式(JBoss自己称为“Professional
Open Source”)的创新和运营。这区别于以理论研究为爱好的学院型开源或大公司为基
础的非盈利组织开源,如Linux和Apache。当然JBoss的这种运营方式势必会导致更多的
代码控制和专有修改权,但按JBoss的说法是这样更能获得企业客户的信赖。JBoss的这
种模式是否能获得成功还要我们拭目以待。
不管JBoss和Eclipse的未来发展如何,JBoss和Eclipse的成功已经让我们看到了Java开
源软件的威力,祝愿它们一路走好。

2004:Java 5.0
文/莫映

2004年9月30日,代号为“Tiger”,研发历时近三年的J2SE 5.0发布正式版本,这是
Java平台历来发布版本中改动面波及最大的一次。
纵观Tiger,“Ease of development”是其核心主题,这一点着重体现于语言特性上的
改进,这在很大程度上,简化了开发人员日常的编程任务,以往一些琐碎的手工劳动都
代之以轻松自然,而又安全可靠的自动化实现。其中的注解功能,以及随之而来的声明
式编程,还对构筑于J2SE 5.0之上的J2EE 5.0产生了巨大影响。尽管Tiger在语言特性上
做了很大的动作,但作为Java技术的基础支撑,这些改动都是深思熟虑的结果。
Tiger发布至今也有大半年了,那么Sun又是如何规划J2SE的未来蓝图的呢?据悉,J2SE
的下两个版本分别是代号为“Mustang”的J2SE 6.0和代号为“Dolphin”的J2SE 7.0,
预计Mustang将于明年发布。在吸取了Tiger研发周期过长的教训之后,Sun副总裁
Graham Hamilton表示,Mustang的发布周期将不会那么长。并且,Sun还将“Becoming
more open” 作为Mustang的主题之一。未来JCP对Java技术的影响将会愈加深入,而整
个研发过程也将会愈加透明。Mustang在正式发布前的内部版本也会陆续见诸于众,如
此,广大Java开发者便可以更加及时的了解到Java发展的最新情况。在语言层面上的扩
展依然会比较谨慎,比如像AOP这样的当下热门技术,依然不太可能会见诸其中。据
Hamilton所言,一个有可能被引入的语法特性被称作“friends”import机制,它将使由
多个包组成的大型项目变得易于管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值