Java:一个失败项目的副产品,再次出世,变身最受欢迎的语言

Java:一个失败项目的副产品,再次出世,变身最受欢迎的语言
2020年07月28日 08:11 梦想心视角

20世纪90年代初期,在硬件领域发生了一件大事,那就是32位单片机和使用FLASH存储的微控制器的横空出世。鉴于单片式计算机系统未来的良好市场,创建于1982年的Sun公司为了抢占市场先机,在1991年成立了一个称为 “Green”的项目小组。由詹姆斯.高斯林及其他几名工程师一起组成的这个小组开始研究开发新技术,专攻计算机在家电产品上的嵌入式应用。项目的最终成果之一是基于C++语言的新的编程语言Oak。1995年随着互联网的蓬勃发展,Sun公司终于想起了那个被搁置起来很久的项目成果——Oak语言,并将其改名为Java后公布于世!

引言

20世纪90年代初期,在硬件领域发生了一件大事,那就是32位单片机和使用FLASH存储的微控制器的横空出世。这种价格低廉的单片式计算机系统一出现就立即引起了自动控制领域人员的注意,因为使用这种系统可以大幅度提升消费类电子产品——如电视机顶盒、面包烤箱、移动电话等——的智能化程度。

鉴于单片式计算机系统未来的良好市场,创建于1982年的Sun公司为了抢占市场先机,在1991年成立了一个称为 “Green”的项目小组。由詹姆斯.高斯林及其他几名工程师一起组成的这个小组开始研究开发新技术,专攻计算机在家电产品上的嵌入式应用。

由此,一个伟大的、却最终失败了的项目拉开了帷幕,但最后充分印证了“失败是成功之母”的传世名言。说其伟大,是因为其最终孵化出了一门在十年后,长期雄霸最受欢迎编程语言榜首的编程语言,这就是今天的主角—— Java语言。

Java是一门面向对象编程语言,具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。在应用上,Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Oak语言

Sun公司的“Green”项目小组成员首要的工作,是确定在单片式计算机系统的环境下进行编程所采取的语言,由于C++语言所具有的优势,被确定为第一选择。然而在后续的工作中,却遇到了重重阻挠,拿IT界的习惯说法就是踩了无数的坑。

最关键的两个问题是:单片式计算机系统的硬件资源的匮乏和消费电子产品所采用的嵌入式处理器芯片的种类繁杂导致的平台差异。为了解决困难,最终决定改变工作计划,开始着手研发适合未来应用场景的编程语言。

小组成员首先确定了硬件平台的规范,假设了一种结构简单、符合嵌入式应用需要的硬件平台体系结构,这其中就包括后来被称为“字节码”的二进制机器码指令系统。他们的设想是未来语言开发成功后,能有半导体芯片生产商开发和生产这种硬件平台,以便以新语言开发的程序可以通用于其上。

这种新语言最终被命名为“Oak”,是一种面向对象的编程语言。Oak语言是基于C++语言,根据嵌入式软件的要求进行相应的改造后形成,具备更实用、更安全、更符合实时性要求的特点。

由于运行字节码的硬件平台还不存在,为了建立Oak语言的试验和研究环境,就在已有的硬件和软件平台基础上,按照所制定的规范,用软件建设了一个模拟的运行平台。

时间进入了1992年的夏天,Oak语言终于开发完成。但这些研究者们在向硬件生产商演示他们的运行平台、Oak的程序设计语言、类库和其硬件时,遭遇了滑铁卢。Oak语言也就因为缺乏硬件的支持而无法进入市场,从而被搁置了下来。

随着技术的进步,以及万维网(互联网的前身)的快速发展,在1994年6、7月间,项目组经历了三天的讨论之后,决定将项目前期的成果应用于万维网。当年年底,詹姆斯.高斯林在硅谷召开的“技术、教育和设计大会”上,首次展示了Oak程序。到1995年时,项目组真正的机会到来了。

Java出世

1995年互联网的蓬勃发展,使得市场急需一种可以通过网络传播并且能够跨平台运行的程序。在此情况下,Sun公司终于想起了那个被搁置起来很久的项目成果——Oak语言,重新对其进行审视,发现其精简的风格、小体量的特点,非常适合在网络上传输。

于是,Sun公司首先推出了可以嵌入网页,并且可以随同网页在网络上传输的Applet(后来的Java小程序),并将Oak语言进行专利注册,此时却发现该名称已被注册。随后,Sun将Oak改名为Java(源于讨论Oak新名称时,提议者在喝一杯Java咖啡时对咖啡的无意评论),并于5月23日,在Sun world会议上正式发布Java和HotJava浏览器。

至此,由失败的嵌入式应用项目的副产品Oak,在更名为Java后开始被广为人知,迅速在世界上流行起来。

当时IT界的巨头公司,IMB、Apple、DEC、Adobe、HP、Oracle、Netscape和微软等都纷纷停止了自己的相关开发项目,竞相购买了Java使用许可证,并为自己的产品开发了相应的Java平台。

1996年1月,Sun公司发布了Java的第一个开发工具包(JDK 1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。同年10月,Sun公司发布了Java平台的第一个即时(JIT)编译器。

1997年11月17日,国际标准化组织(ISO)同意采纳Sun公司的专利技术——Java,作为ISO标准。JAVA作为一个技术标准开始供公众无偿使用。

1999年6月,Sun公司发布了第二代Java平台(简称为Java2),是Java发展过程中最重要的一个里程碑,标志着Java的应用开始普及。

2006年11月13日,Java技术的发明者Sun公司宣布,将Java技术作为免费软件对外发布。Sun公司正式发布有关Java平台标准版的第一批源代码,以及Java迷你版的可执行源代码。从2007年3月起,全世界所有的开发人员均可对Java源代码进行修改。在Java的发展史上,这是一个历史性时刻。

2009年,Sun 公司被甲骨文公司收购。仅仅过了一年,被公认为“Java之父”的Java编程语言的共同创始人之一——詹姆斯·高斯林,从Oracle公司辞职。

结语

如果了解C语言的诞生,或者看过我关于C语言的的旧文(请看文末参看内容),对于Java的诞生是否有种似曾相识的感觉?是的,这两种广受欢迎的编程语言,都是歪打正着的产物。

这充分说明了一个伟大事物的诞生,并不在于其出世时的状态,而是决定于其实质和其所处的时代。在软件领域,目前有5000多种编程语言,它们可能专注于某个行业,也可能仅仅是用于某个项目,也可能存在于一时,但你无法忽视其所起的作用。一门受欢迎的编程语言,只是因为适应了潮流、适应了时代,在不断的变化中获得了新生。

Java 语言本身就是一门随时代快速发展的计算机语言程序,其深刻展示了程序编写的精髓,加上其简明严谨的结构及简洁的语法编写,为其将来的发展及维护提供了保障。在当前的网络信息化时代,Java语言在减少内存,可以直接在各类电子产品中运行,同时在网络中可被任何设备所识别,以及充分利用网络资源等方面的突破创新,也让Java的大行其道有了必然性。

由于Java核心源代码的开源状态,使得各个互联网巨头以及Java社区可以对Java提供完全的支持,出现了相当多的非常流行的框架结构,比如SpringMVC。使用这些成熟的框架,可以使得Java应用程序的编写难度逐步降低,反过来又使得更多才华横溢的程序员将精力放置于Java语言的完善与框架结构的设计中,形成了良性循环。

所有的这些,都使得Java技术在创新和社会进步上继续发挥着强有力的重要作用。

附录:

缩略语解释:

JRE:Java运行环境(Java Runtime Environment)

JDK:Java开发包或Java开发工具(Java Development Kit)

常用编程工具:

Eclipse:一个开放源代码的、基于Java的可扩展开发平台 。

NetBeans:开放源码的Java集成开发环境,适用于各种客户机和Web应用。

IntelliJ IDEA:在代码自动提示、代码分析等方面的具有很好的功能。

MyEclipse:由 Genuitec 公司开发的一款商业化软件,是应用比较广泛的Java应用程序集成开发环境。

EditPlus:如果正确配置Java的编译器“Javac”以及解释器“Java”后,可直接使用EditPlus编译执行Java程序。

常用的十大Java框架:

Spring:一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,主要用来解决企业应用开发的复杂性

SpringMVC:一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架

Mybatis:支持普通 SQL查询,存储过程和高级映射的优秀持久层框架

Dubbo:一个分布式服务框架,致力于提供高性能和透明化的RPC(远程过程调用协议)远程服务调用方案,以及SOA服务治理方案

Maven:一个项目管理和构建自动化工具

RabbitMQ:用Erlang实现的一个高并发高可靠AMQP消息队列服务器

Log4j:一个日志处理框架

Ehcache:一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的Cache

ProviderRedis:一个key-value存储系统Shiro:Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部