计算机硬件发展的同时,软件始终伴随其步伐迅猛发展,就计算机的编程语言而言,也划分为三代。
第一代:机器语言。每条指令用二进制编码,效率很低。
第二代:汇编语言。用符号编程,和具体机器指令有关,效率不高。
第三代:高级语言:如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用
于基于网络的台式机系统。
在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......
2009~2010年,最终由于sun公司自己的原因,根据协议,甲骨文
将以每股9.5美元的价格收购Sun,交易总价值约为74亿美元,被
oracle公司收购。但java语言作为开源高级语言,被世界java程
序员不断的发展,一个语言的出生到结束,应该为社会,做了很大
贡献,我们值得尊敬。