Java之父:詹姆斯·高斯林 (James Gosling)

Java自1995诞生,至今已经20多年的历史。

Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。
据James Gosling回忆,最初这个为TV机顶盒所设计的语言在Sun内部一直称为Green项目。我们的新语言需要一个名字。Gosling注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为Oak。但Oak是另外一个注册公司的名字。这个名字不可能再用了。
在命名征集会上,大家提出了很多名字。最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。排在第一位的是Silk。尽管大家都喜欢这个名字,但遭到James Gosling的坚决反对。排在第二和第三的都没有通过律师这一关。只有排在第四位的名字、得到了所有人的认可和律师的通过,这个名字就是Java。
20多年来,Java就像爪哇咖啡一样誉满全球,成为实至名归的企业级应用平台的霸主。而Java语言也如同咖啡一般醇香动人。

Sun的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如:交互式电视,烤面包箱等。Sun内部人员把这个项目称为Green(SUN公司的一个叫做Patrick Naughton的工程师被自己开发的C和C语言编译器搞得焦头烂额,因为其中的API极其难用。Patrick Naughton决定改用NeXT,同时他也获得了研究公司的一个叫做“Stealth 计划”的项目的机会。
“Stealth 计划”后来改名为“Green计划”, James Gosling和Mike Sheridan也加入了Patrick Naughton的工作小组)。该小组的领导人是James Gosling,41岁。于1984年加盟Sun Microsystem公司,以前在一家IBM研究机构工作。他是Sun NeWs窗口系统的总设计师,虽然当时NeWs在技术上非常成功,但在商业上却完全失败,没有了Java那么好的运气。Gosling是一位非常杰出的程序员,GOSMACS也是Gosling写的,它是第一个用C实现的EMACS的文本编辑器。在研究开发过程中,Gosling 深刻体会到消费类电子产品和工作站产品的开发哲学之间差异:消费类电子产品要求高可靠、费用低、标准化、使用简单,而工作站用户要求强大的计算能力,而不在此乎价格以及操作的复杂性。消费类电子产品用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,一系列可选的方案,从8086-80586都可以上。从C开始为了使整个系统与平台无关,Gosling首先从改写C 编译器着手。工作小组使用的是内嵌类型平台,可以用的资源极其有限。很多成员发现C 太复杂以至很多开发者经常错误使用。他们发现C 缺少垃圾回收系统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。
根据可用的资金,比尔·乔伊决定开发一种集C语言和Mesa语言搭成的新语言,在一份报告上,乔伊把它叫做“未来”,他提议SUN公司的工程师应该在C 的基础上,开发一种面向对象的环境。最初,高斯林试图修改和扩展C 的功能,他自己称这种新语言为C --,但是后来他放弃了。他将要创造出一种全新的语言,被他命名为“Oak”(橡树),以他的办公室外的树而命名。这就是Java语言的前身。(后来发现Oak已是Sun公司的另一个语言的注册商标,才改名为Java)。Gosling在开始写Java时,并不局限于扩充语言机制本身,更注重于语言所运行软硬件环境,他要建立一个系统,这个系统运行于一个巨大的、分布的、异质的网络环境中,完成各电子设备之间的通讯与协同工作。Gosling在设计中采用了虚机器码(Virtual Machine Code)方式。即Java语言编译后产生的是虚机器码,虚机器码运行在一个解释器上,每一个操作系统均有一个解释器,这样一来,Java就成了平台无关语言。这和Gosling设计的Sun NeWs窗口系统有着相同的技术味道,在NeWs中用户界面统一用Postscript描述,不同的显示器有不同的Postscript解释器, 
这样便保证了用户界面的良好的可移植性。 
当Patrick Naughton加入该小组后,整个工作进展神速。Naughton也是Sun公司的技术骨干,曾经是Open Windows的项目的负责人。经过17个月的奋战(就像很多开发新技术的秘密的工程一样,工作小组没日没夜地工作到了1992年的夏天,他们能够演示新平台的一部分了,包括Green操作系统,Oak的程序设计语言,类库,和其硬件。最初的尝试是面向一种类PDA设备,被命名为Star7,这种设备有鲜艳的图形界面和被称为“Duke”的智能代理来帮助用户。1992年12月3日,这台设备进行了展示。),整个系统胜利完成。它是由一个操作系统,一种语言(Java),一个用户界面,一个新的硬件平台,三块专用芯片的构成。而通常情况下,这样的项目在Sun公司要75个人干三年。项目完成后,在Sun公司内部做一次展示和鉴定,观众的反应是: 在各方面都采用了崭新的、非常大胆的技术。许多参观者对Java留下了非常深刻的印象,特别得到Sun的二位领导人Scott McNealy和Bill Joy的关注,但Java的前途未卜,初战告败。同年11月,Green计划被转化成了“FirstPerson有限公司”,一个SUN公司的全资子公司,团队也被重新安排到了Artaud。FirstPerson团队对建造一种高度互动的设备感兴趣,当时代华纳发布了一个关于电视机顶盒的征求提议书时(Request for proposal),FirstPerson改变了他们的目标,作为对征求意见书的响应,提出了一个机顶盒平台的提议。但是有线电视业界觉得FirstPerson的平台给予用户过多地控制权,因此FirstPerson的投标败给了SGI。与3DO公司的另外一笔关于机顶盒的交易也没有成功,由于他们的平台不能在电视工业产生任何效益,公司再并回SUN公司。FirstPerson一直到1994年初仍在坚持开发专用的顶置盒式操作系统,但实践证明,这个市场尚未成熟。例如:好几家交互式有线电视网的实验都以失败告终。Naughton立即认识到研究方向应该转移。在Naughton的努力下,研究开始向在线服务,CD-ROM和基于网络的台式机方向转移。最后FirstPerson解散,一部分人去了Sun Interactive开发数字视频数据服务器,而另一部分开始把Java用于基于网络的台式机系统。 
Java语言的转折点到了1994年(  JAVA应用1994年6、7月间,在经历了一场历时三天的头脑风暴的讨论之后,John Gaigi、James Gosling、Bill Joy、Patrick Naughton、Wayne Ross for和Eric Skumi,团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们认为随着Mosaic浏览器的到来,因特网正在向同样的高度互动的远景演变,而这一远景正是他们在有线电视网中看到的。作为原型,Patrick Naughton写了一个小型万维网浏览器,WebRunner,后来改名为HotJava。同年,Oak改名为Java。),WWW已如火如荼的发展起来。Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台。它应是一种实时性较高,可靠安全,有交互功能的浏览器。于是Gosling决定用Java开发一个新的Web浏览器。 
2 Java语言的历史 
这项工作由Naughton和Jonathan Payne负责,到1994年秋天(1994年10月,HotJava和Java平台为公司高层进行演示。1994年,Java 1.0a版本已经可以提供下载,但是Java和HotJava浏览器的第一次公开发布却是在1995年5月23日SunWorld大会上进行的。SUN公司的科学指导John Gaigi宣告Java技术。这个发布是与网景公司的执行副总裁Marc Andreessen的惊人发布一起进行的,宣布网景将在其浏览器中包含对Java的支持。1996年1月,升阳公司成立了Java业务集团,专门开发Java技术。),完成了WebRunner的开发工作。WebRunner是HotJava的前身,这个原型系统展示了Java 可能带来的广阔市场前景,给SunLab两位领导: Bert SutherLand和Eric Schmidt留下深刻印象,这一点非常重要,因为这两个人是Sun的首席技术官员。特别是Sun的总裁McNealy对Java抱有坚定的信念,为Java进入WWW立下了汗马功劳。正如McNealy所料,WebRunner改名为HotJava,并于1995年5月23日发表后,引起了产业界巨大的轰动,Java的地位也随之而得到肯定。McNealy卓越的洞察力和果断的决策,挽救了这项差点锁进文件柜的技术。又经过一年的试用和改进,Java 1.0版终于在1996年年初正式发表。Java已进入了主流计算模式:目前全球有67%的大型企业在采用Java开发自己的信息系统;200多家公司从Sun公司获得了Java技术许可证;400余个应用取得100%纯Java证书;Java开发者阵营拥有250万多位会员.... Java从1995年的一个小小的编程开发工具,发展到了今天可驾御从智能卡,小型消费类器件到大型数据中心的Java平台,其发展速度是惊人的,让我们回顾一下它的发展历程: 
1995年5月23日,Java语言诞生;

1996年1月,第一个JDK-JDK1.0诞生;

1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术;

1996年9月,约8.3万个网页应用了Java技术来制作;

1997年2月18日,JDK1.1发布;

1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议纪录;

1997年9月,JavaDeveloperConnection社区成员超过十万;

1998年2月,JDK1.1被下载超过2,000,000次;

1998年12月8日,Java 2企业平台J2EE发布 (J2EE1.2);

1999年6月,SUN公司发布Java三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME);

2000年5月8日,JDK1.3发布;

2000年5月29日,JDK1.4发布;

2001年6月5日,Nokia宣布到2003年将出售1亿部支持Java的手机;

2001年9月24日,J2EE1.3发布;

2002年2月26日,J2SE1.4发布,此后Java的计算能力有了大幅提升;

2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0;

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2ME更名为Java ME, J2SE更名为Java SE, J2EE更名为Java EE;

2006年12月,SUN公司发布JRE6.0;

2009年12月,SUN公司发布Java EE 6;

2010年11月,由于甲骨文对Java社区的不友善,因此Apache扬言将退出JCP;

2011年7月,甲骨文发布Java SE 7;

2014年3月,甲骨文发表Java SE 8;

Java SE 9 Oracle宣布 2016年9月发布

转载于:https://www.cnblogs.com/xiaostudy/p/9242976.html

Java的历史及发展相关推荐

  1. DotNET企业架构应用实践-企业管理软件架构的历史与发展(中)- 分布式系统

    在前几天的DotNET企业架构应用实践-企业管理软件架构(计算)的历史与发展(上)一文中,介绍了在企业管理软件架构发布中的主机-终端结构.以及客户机-服务器结构.浏览器-服务器结构,本文今天向大家介绍 ...

  2. 1. Java的历史和演变

    文章目录 Java的历史和演变 1. 计算机语言的历史 1.1 C语言之前的高级语言 1.2 C语言诞生 1.3 C++ (带类的C语言) 1.4 Java的诞生 1.4.1 推动Java发展的两大动 ...

  3. Java的诞生以及发展

    Java的历史起源: 20 世纪 90 年代,单片式计算机系统诞生,单片式计算机系统不仅廉价,而且功能强大,使用它 可以大幅度提升消费性电子产品的智能化程度. SUN 公司为了抢占市场先机,在 199 ...

  4. Java和php那个发展方向更好?

    1.学习困难对比 PHP语法与C语言相似,入门更容易,即使是不懂计算机的非专业人员,经过简单的培训,也可以很快入门. 并且Java首先被编译成class文件,然后在Java虚拟机中执行.相对来说,Ja ...

  5. java的历史_Java的历史

    java的历史 Java is an object-oriented programming language. Java was developed by James Gosling and col ...

  6. 从未停止!OpenGL的版本历史和发展

    由于本文的内容过长,在Chrome浏览器下可能不能完全显示,建议使用IE或者FireFox阅读本文. 来源请注明,本文永久地址为http://www.cnblogs.com/vertexshader/ ...

  7. 【附源码】计算机毕业设计JAVA中国历史网站

    [附源码]计算机毕业设计JAVA中国历史网站 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(Intell ...

  8. 【转载】自然语言处理(NLP)的历史、发展、成果和难题,以及在教育领域的应用情况

    2017年4月21日-22日,由映魅咨询主办的TAB(Tech and Business)教育科技论坛在上海举行.十几位教育投资研究机构.国内外各类教育科技公司的嘉宾,围绕教育及教育科技投资.国际化的 ...

  9. 《Cinema 4D + After Effects动态图形设计案例解析》——1.2 动态图形的历史和发展...

    本节书摘来自异步社区<Cinema 4D + After Effects动态图形设计案例解析>一书中的第1章,第1.2节,作者 Klet,更多章节内容可以访问云栖社区"异步社区& ...

  10. java各历史版本官网下载

    java各历史版本官网下载: http://www.oracle.com/technetwork/java/javase/archive-139210.html

最新文章

  1. 总结机器学习优质学习文章Top50!
  2. 别找了 这就是适合入门的第一本算法书
  3. Docker学习之网络篇
  4. java8 map reduce 分组_java8快速实现List转map 、分组、过滤等操作
  5. SpringMVC:学习笔记(5)——数据绑定及表单标签
  6. (转)利用CAS算法实现通用线程安全状态机
  7. C++编程【Visual Studio 2017 环境搭建教程】【附:软件安装包】
  8. “ 我亦想望,如池鱼悠悠 ... “
  9. vs未能找到程序集platform.winmd_PP体育直播大连人VS恒大:新老8冠王首尾对决竟有十大看点...
  10. 在delphi中嵌入腳本語言--(譯)RemObjects Pascal Script使用說明(1)(譯)
  11. python新闻分类:多分类问题
  12. math库是python语言的数学模块_Python入门-函数库(模块)
  13. python3 csv以追加方式写入_从拉入的JSON d向CSV追加和或写入
  14. ScrollView嵌套GridView,自定义Gridview动态设置Item的高度,屏幕适配
  15. 《规划力:如何清晰预见成功轨迹》PDF文字版电子书下载
  16. 超详细 excel 基础知识
  17. 获取UI控件位置信息
  18. ISBN 国际标准书号
  19. SQL三个表关联查询
  20. 蓝狐SEO关键词按天计费系统_seo扣费系统源码

热门文章

  1. c++课程设计(水)
  2. nyoj1052 看美女2
  3. python遍历链表_python实现双向循环链表
  4. python横向输出字符串_Python字符串拼接和格式化输出
  5. 【洛谷P5019+P1969+P3078】道路铺设(暴力模拟/差分)
  6. 【转载好文】对char *和char []做形参的深入理解+const char*/char const*/char *const的解析
  7. Oracle中将0x1D转为字符,orcle導入大數據文件
  8. jsp注册里密码强弱怎么弄_JavaScript注册时密码强度校验代码
  9. android n进入分屏代码分析_完全不用鼠标写代码!你信么?[视频]
  10. 算法:分离链表为两部分,小于某个值都在左边,大于等于某个值在右边 Partition List