【1024】JAVA 语言的前世今生

阅读本文:了解JAVA语言发展史,明白JAVA语言的起源

文章目录

  • 前言
  • 一、Oak语言的由来?
  • 二、JAVA语言的由来?
    • 1.Green 计划不尽如意
    • 2.JAVA的诞生
    • 3.JAVA的发展
  • 三、JAVA 极简编年史


前言

1990年Sun公司旗下团队开始了绿色计划项目

1990年:当时有着数十种非常稳定的语言,有:FORTRAN、COBOL、Pascal、C++、and Visual Basic。但是当时的语言并不能写完一套代码即可运行在不同的操作系统上,而不同的操作系统上运行需要更改这一套代码。这叫:“适配”。为了写完一套代码可以在不更改的情况下适配 WindowsMacUnixLinux和移动端平台 James Gosling 和Patrick Naughton、Mike Sheridan 等人。在Sun公司1990年成立的一个软件设计团队(Green) 开始了名为:绿色计划项目的开发。他们认为计算机技术发展的一个趋势是数字家电之间的通讯。James Gosling开始负责为设备和用户之间的交流创建一种能够实现网络交互的语言。随着 的时间和金钱投入到绿色计划。他们创建了一种编程语言叫:Greentalk。文件扩展名是“.gt”,这是Java最初的雏形!


Green团队开发的编程语言Greentalk后改名为Oak

一、Oak语言的由来?

James Gosling所在Sun公司的Green团队(软件设计团队)为代号:“绿色计划”项目

这个计划的目标是为下一代智能家电(电视机、微波炉、电话)编写通用的控制系统。

当时比较常用的编程语言是 C++,但 C++ 其实不太好用。第一,C++ 复杂,容易造成开发者误用,第二,C++
缺少垃圾回收系统、可移植性、分布式和多线程等功能。

于是,Sun 首席科学家 Bill Joy 就提议开发新语言,在 C++ 的基础上,开发一种面向对象的环境。

原本Green团队把这个编程语言叫:Greentalk 后由于在讨论的办公室附近长着一颗橡树,后Greentalk改名叫Oak

图为:橡树当然不是James Gosling看到的那一颗:
【1024】JAVA 语言的前世今生_第1张图片

在这些设计思想下Oak诞生:

  • 构建一种简单的、面向对象的语言。对于C++程序员来说能很容易理解其语法。
  • 平台无关并且架构无关。要求跨平台性
  • 高性能与许多内存特性以及命令行参数进行性能调优。使用者能根据自己的业务场景对开发的项目进行编译器调优
  • 多线程、动态、解释执行。
  • 安全性和强大的功能。

二、JAVA语言的由来?

1.Green 计划不尽如意


  然而,事情发展并不顺利,FirstPerson团队致力于创建一种高度互动的设备。当时代华纳公司发布了一个关于电视机顶盒的征求提议书时,FirstPerson团队改变了他们的目标,作为对征求提议书的响应,提出了一个机顶盒平台的提议。但是有线电视业界觉得FirstPerson的平台给予用户过多的控制权,因此FirstPerson的投标败给了SGI。同时,3DO公司另外一笔关于机顶盒的交易没有成功。此时,可怜的Green项目几乎接近夭折,甚至Green项目的一半成员也被调到了其他的项目组,“Oak”从此被搁置了下来.

    意识到自己在电视工业领域没有前景,于是把公司并回到 Sun。
随着互联网和浏览器的出现,James Gosling 团队敏锐的意识到,互联网在向高度远程互动的方向上演变。这个方向正是他们在做有线电视网中看到的,因此他们决定改变努力的目标,将 Green 计划中的技术应用到万维网上。1994 年秋,团队完成第一个 Oak 语言的网页浏览器:WebRunner,并获得高层的一致好评。

2.JAVA的诞生

Sun公司认为这确实是个非常好的契机,准备加强完善投入市场,然而此时的Oak这个商标已经被一家显卡制造商注册,于是 Sun 只得将Oak更名,那么叫什么呢?

Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。国外的许多咖啡店用Java来命名或宣传,以彰显其咖啡的品质。后来Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等等

就这样,在一次偶然的喝咖啡的下午,一个即好听又好记、具有强大的生命力的编程语言Java诞生了、在一片混乱中诞生了.

同年年底(1994),高斯林参加硅谷召开的“技术、教育和设计大会”。他报着试一试的心情向与会者演示了Java的功能。他点击了网页上的一个静止的分子结构图标,一条命令通过互联网送到了几百英里外的网站,下载了一段Java小程序,在本地工作站上开始执行。在几秒钟时间里,原本静止的网页上,一个分子图像以三维动画的方式转了起来

自此,Java算出名了,成功打响了它的第一枪!

此时Java1.0版本已经可以提供下载,但是Java和HotJava浏览器的第一次公开发布却是在1995年3月23日SunWorld大会正式对外宣布。1995年5月23日,Java语言1.0稳定版本正式发布,口号是"一次编写,到处运行(Write once,Run anywhere)",跨平台运行,这也标志着Java语言的正式诞生,随后Sun公司直接把Java放到互联网上,免费给大家使用,甚至连源代码也不保密,也放到互联网上向所有人公开。

3.JAVA的发展

【1024】JAVA 语言的前世今生_第2张图片
为了方便开发者能够快速开发出复杂的应用程序,Sun 独立出一条 Java 业务线,专门开发 Java 技术。

1996 年 1 月,Sun 发布 JDK 1.0。这个版本集成了 Java 运行环境和开发工具。

1997 年 2 月,Sun 发布 JDK 1.1。这个版本增加 JDBC、反射等能力。

Java 的出现,让互联网的网页动了起来。但随着 Adobe 公司 Flash 的流行,这款无须任何编程语言知识,就能做出各种动画的软件,逐步侵蚀了 Java 在浏览器端的地位。

有了 Flash 还用 Java 干嘛?Java 存在的意义是什么?Java 定位的问题一直深深困扰着 Sun。

直到 1998 年 12 月,Sun 发布第二代 Java 企业平台,Java 版本为 JDK 1.2,这是 Java 第一个里程碑式的版本

该版本引入集合框架,Java 基础类库等能力,同时发布了 JSP/Servlet、EJB 等企业平台规范。

1999 年 6 月,Sun 发布 Java 的三个版本:J2SE、J2EE 和 J2ME。

  • J2SE(Java 2 Platform, Standard Edition):Java 的标准版,用于普通 PC 应用的开发,是 Java 技术的核心与基础,也是 J2ME 和 J2EE 编程基础。
  • J2EE(Java 2 Platform, Enterprise Edition):Java 的企业版,用于企业级应用开发。
  • J2ME(Java 2 Platform, Micro Edition):Java 的微型版,用于嵌入式设备及消费类电器的开发。

可以看到,Sun 已经很明确 Java 的定位了,就是向 PC 、企业和移动三个方向发展。

JDK 1.2 影响深远,Java 发生了很多革命性的变化,并且它的很多能力和规范沿用至今。至此,Sun 时代 Java 的初创期结束,进入了飞速发展的阶段。
【1024】JAVA 语言的前世今生_第3张图片
2000 年 5 月,J2SE 1.3 发布。该版本将 Hotspot 作为 Java 的默认虚拟机实现。

同期 Servlet 规范开始流行,伴随着互联网的兴起,同其他 MVC 框架,成为 Web1.0 的网红。

2002 年 2 月,J2SE 1.4 发布。该版本的 Java 已经相对成熟,它提供了完备的语言特性,像 NIO、正则表达式和 XML 处理器等。

与此同时,基于 Java 语言的开源框架:Struts、Hibernate、Spring 以及大量企业应用服务器比如 WebLogic、JBoss 等相继涌现,这让 Java 语言继续飞速发展。

2004 年 9 月,J2SE 1.5 发布。这是 Java 第二个里程碑式的版本,为了表示这个版本的重要性,J2SE 1.5 更名为 J2SE 5.0

该版本增加泛型、for-each 循环、自动装箱和拆箱、枚举、可变参数、静态导入、注解、并发包等。

2005 年,Sun 将 Java 的三个版本更名为 Java SE、Java EE 和 Java ME。J2SE 5.0 也被更名为 Java SE 5

2006 年 12 月,Java SE 6 发布。该版本在语言语法改进不多,但在虚拟机内部做了大量改进,成为相对成熟稳定的一个版本。于是,很多企业都以这个版本作为 Java 开发版本来使用。

同年 Sun 做了一个伟大的决定,将 Java 开源。通过 OpenJDK 计划,将 Java 虚拟机、Java 编译器和 Java 类库以 GPL 公开。

至此,Java 的生态初具规模,Java 的授权使用方式也很明确,Sun 时代 Java 的发展期结束,正走向它的成熟稳定。


三、JAVA 极简编年史

我们再来看看 Java SE 的历史:

  • 1995.5: JDK Beta
  • 1996.1: JDK 1.0
  • 1998.12: JDK 1.2
  • 2000.5: J2SE 1.3
  • 2002.2: J2SE 1.4
  • 2004.9: J2SE 5.0
  • 2006.12: Java SE 6
  • 2011.7: Java SE 7
  • 2014.3: Java SE 8(LTS)
  • 2017.9: Java SE 9
  • 2018.3: Java SE 10
  • 2018.9: Java SE 11(LTS)
  • 2019.3: Java SE 12
  • 2019.9: Java SE 13
  • 2020.3: Java SE 14
  • 2020.9: Java SE 15
  • 2021.3: Java SE 16
  • 2021.9: Java SE 17(LTS)
  • 2022.3: Java SE 18


从Java SE 12开始往后每半年更新一个大版本

你可能感兴趣的:(1024程序员节,开发语言,java,后端,jvm)