java语言学习001_她的来由(历史)

   计算机的产生是20世纪最重要的科学技术大事件之一。1946年美国宾夕法尼亚大学经过几年的艰苦努力,研制出世界上第一台电子计算机--埃尼阿克(ENIAC)。

   计算机的发展史: 
     根据计算机所采用的物理器件不同,可分为四个阶段。 
      第一代:电子管计算机,开始于1946年,结构上以CPU为中心,使用机器语言,速度慢、存储量小,主要用于数值计算。 
      第二代:晶体管计算机,开始于1958年,结构上以存储器为中心,使用高级语言应用范围扩大到数据处理和工业控制。 
      第三代:中小规模集成电路计算机,开始于1964年,结构上仍以存储器为中心,增加了多种外部设备,软件得到一定发展,计算机处理图像、文字和资料功能加强。 
      第四代:大规模、超大规模集成电路计算机,开始于1971年,应用更加广泛,出现了微型计算机。

     计算机硬件发展的同时,软件始终伴随其步伐迅猛发展,就计算机的编程语言而言,也划分为三代。 
       第一代:机器语言。每条指令用二进制编码,效率很低。 
       第二代:汇编语言。用符号编程,和具体机器指令有关,效率不高。
       第三代:高级语言:如FORTRAN、COBOL、BASIC、PASCAL等都属于高级语言。
  java发展史: 
    1991年4月,Sun公司的James Gosling领导的Java语言开发小组成立,并开始着力绿色计划(Green Project)的发展,Green Project是一种分布式系统结构,其目的是使其能够在各种消费性电子产品上运行,开拓消费类电子产品市场,例如:交互式电视,烤面包箱等。而Green项目组的成员一开始使用C++语言来完成这个项目,由于Green项目组的成员都具有C++背景,所以他们首先把目光锁定了C++编译器,但很快他就感到C++的很多不足,Gosling首先改写了C++编译器,需要研发一种新的语言来替代它。当时James Gosling,41岁。于1984年加盟Sun Microsystem公司,以前在一家IBM研究机构工作。他是Sun NeWs窗口系统的总设计师,虽然当时NeWs在技术上非常成功,但在商业上却完全失败。 Gosling是一位非常杰出的程序员,GOSMACS也是Gosling写的,它是第一个用C实现的EMACS的文本编辑器。 在研究开发过程中,Gosling 深刻体会到消费类电子产品和工作站产品的开发哲学之间差异:消费类电子产品要求高可靠、费用低、标准化、 搜索使用简单,而工作站用户要求强大的计算能力,而不在此乎价格以及操作的复杂性。消费类电子产品用户并不关心CPU的型号,也不欣赏专用昂 贵的RISC处理器,他们需要建立在一个标准基础之上,一系列可选的方案,从8086-80586都可以上。  从C 开始 为了使整个系统与平台无关,Gosling首先从改写C 编译器着手。但是Gosling在改写过程中感到仅C 是无法满足需要的,于是在 1991年6月份开始准备开发一个新的语言,那么给它起一个什么名字呢? Gosling回首向窗外望去,看见一棵老橡树,于是建一个目录叫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 个月后,整个系统完成了,这个系统是更注重机顶盒式的操作系统,不过在当时市场不成熟的情况下,他们的项目没有获得成功,但Java语言却得到了Sun总裁McNealy的赏识。接着,Java项目的工作人员开始做应用规划,着手成立一家公司,从事消费类电子产品的开发,这家公司就是FirstPerson Inc.。公司的第一 个项目就是Time-Warner的投标项目,顶置盒式操作系统和请求式电视技术。虽然FirstPerson Inc.在技术毫不逊色于任何公司,但是由于经营策略上的失误,败给了SGI。FirstPerson一直到1994年初仍在坚持开发专用的顶置盒式操作系统,但实践证明,这个市场尚未成熟。例如:好几家交互式有线电视网的实验都以失败告终。Naughton立即认识到研究方向应该转移。在Naughton的努力下,研究开始向在线服务CD-ROM和基于网络的台式机方向转移。最后FirstPerson 搜索解散,一部分人去了Sun Interactive开发数字视频数据服务器,而另一部分开始把Java用于基于网络的台式机系统。

   新事物的产生伴随着其他事物的支持与排挤,新事物的成功是一个曲折艰难的过程(微软与Sun的纠纷)。直至1994年下半年,由于Internet的迅猛发展和环球信息网WWW的快速增长,第一个全球信息网络浏览器Mosaic诞生了;此时,工业界对适合在网络异构环境下使用的语言有一种非常急迫的需求;Games Gosling决定改变绿色计划的发展方向,他们对Oak进行了小规模的改造,就这样,Java在1995年的3月23日诞生了!Java的诞生标志着互联网时代的开始,它能够被应用在全球信息网络的平台上编写互动性及强的Applet程序,而1995年的Applet无疑能给人们无穷的视觉和脑力震荡。Gosling意识到WWW需要一个中性的浏览器,它不依赖于任何硬件平台和软件平台。它应是一种实时性较高,可靠安全,有交互功能的浏览器。于是Gosling决定用Java开发一个新的Web浏览器。  这项工作由Naughton和Jonathan Payne负责,到1994年秋天,完成了WebRunner的开发工作。WebRunner是HotJava的前身,这个原型系统展示 了Java 可能带来的广阔市场前景,给SunLab两位领导: Bert SutherLand和Eric Schmidt留下深刻印象,这一点非常重要,因为这两个人是Sun 的首席技术官员。特别是Sun的总裁McNealy对Java抱有坚定的信念,为Java进入WWW立下了汗马功劳。正如McNealy所料,WebRunner改名为 HotJava,并于1995年5月23日发表后,引起了产业界巨大的轰动,Java的地位也随之而得到肯定。McNealy卓越的洞察力和果断的决策,挽救了 这项差点锁进文件柜的技术。Sun在1995年发布第一个Java版本后,又经过一年的经过试用和改进,Java 1.0版终于在1996年年初正式发表。并于1996年1月宣布成立新的业务部门──JavaSoft部,这个部分主要负责开发、销售并支持基于Java技术的产品。 

   在1995年Sun虽然推出了Java,但这只是一种语言,而要想开发复杂的应用程序,必须要有一个的强大的开发库支持还行。因此,Sun在1996 年1月23日发布了JDK1.0。这个版本包括了两部分:运行环境(即JRE)和开发环境(即JDK)。在运行环境中包括了核心API、集成API,用户界面API,发布技术,Java虚拟机(JVM)五个部分。而开发环境还包括了编译Java程序的编译器(即javac)。在JDK1.0时代,JDK除了AWT(一种用于开发图形用户界面的API)外,其它的库并不完整。

   Sun在推出JDK1.0后,紧跟着,Sun在1997年2月18日发布了JDK1.1。JDK1.1相对于JDK1.0最大的改进就是为JVM增加了JIT(即时编译)编译器。JIT和传统的编译器不同,传统的编译器是编译一条,运行完后再将其扔掉,而JIT会将经常用到的指令保存在内容中,在下次调用时就不需要再编译了。这样JDK在效率上有了非常大的提升。Sun在推出JDK1.1后,接着又推出了数个JDK1.x版本。虽然在1998年之前,Java被众多的软件企业所采用,但由于当时硬件环境和JVM的技术原因,它的应用却很有限。当时Java主要只使用在前端的Applet以及一些移动设备中。然而这并不等于Java的应用只限于这些领域。在1998年是Java开始迅猛发展的一年。在这一年中Sun发布了JSP/Servlet、EJB规范以及将Java分成了J2EE、J2SE和J2ME。标志着Java已经吹响了向企业、桌面和移动3个领域进军的号角。

Java发展的时间表。 (版本号 名称 中文名 发布日期)
  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
  J2SE 6.0 (Beta) Mustang 野马 2006-04

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日,JAVA2企业平台J2EE发布 
      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日18:00PM,J2SE1.5发布,是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0       
      2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字“2”:J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。 
      2006年11月13日,SUN公司宣布Java全线采纳GNU General Public License Version 2,从而公开了Java的源代码。 
      2011年7月28日,Oracle正式发布Java 7。
      JDK1.8......

   Java从1995诞生至今,只有10年左右了,和C,C++这些老大哥比起来年轻了很多,哲学上说任何事物的产生都是必然的,Java也不例外了,Internet的迅猛发展导致了Java的迅猛发展,那句成语是怎么说来着,水涨船高,Java自然成为网络世界最受欢迎的语言了,当然Java的发展另一方面也是长期在微软压迫下的软件世界的反抗了,McNealy,Sun的CEO、总裁兼董事长。他曾经狂傲的说:“摧毁微软是我们每个人的任务。”这位英勇的硅谷英雄,似乎带头起义,试图组织一个反微软阵线联盟,以对抗微软这股庞大的托拉斯恶势力。他时常口出惊人之语,在公开场合大肆的批评微软,并曾经说微软的.NET是.NOT;

   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世界,2003年4月2 日,Sun与微软达成16亿美元的法律和解。

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

    2009~2010年,最终由于sun公司自己的原因,根据协议,甲骨文将以每股9.5美元的价格收购Sun,交易总价值约为74亿美元,被oracle公司收购。但java语言作为开源高级语言,被世界java程序员不断的发展,一个语言的出生到结束,应该为社会,做了很大贡献,我们值得尊敬。

    本文来学习于网络(百度和csdn),谢谢作者,作为后者作为整理,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值