Java语言发展概述

  • Post author:
  • Post category:java




现代编程语言



发展历史


  • 1950与1960年代

    • Fortran (1957年)
    • Lisp (1958年)
    • COBOL (1959年)

  • 1967-1978:确立了基础范式

    • Simula (1960年代晚期),第一个面向对象编程的编程语言。
    • Pascal (1970年)
    • C语言 (1969至1973年间)

      C语言的出现,对之后的编程语言的设计有着深远的影响,根据我查到的资料,C语言是这么发展过来的。
    1. ALGOL 58 (1958年),最早称为国际代数语言,一种编程语言。
    2. ALGOL 60 (1960年),在ALGOL 58的基础上被创造。
    3. CPL (1963年),源自于ALGOL 60,由英国剑桥大学和伦敦大学首先开发出来。
    4. BCPL (1966年),源自CPL,由剑桥大学的马丁·理查德所发展出来。
    5. B语言 (1969年),由美国贝尔实验室的肯·汤普森在丹尼斯·利奇的支持下设计出来的。最初是想在UNIX上开发一个Fortran编译器,但后来引进了BCPL的风格,形成了一个新的语言。
    6. C语言 (1969至1973年间),丹尼斯·利奇以B语言为基础开发出C语言。

  • 1980年代:增强、模块、性能

    • SQL (1980年)
    • C++ (1983年),比雅尼·斯特劳斯特鲁普在贝尔实验室工作期间发明并实现了C++。
    • Perl (1987年)

  • 1990年代:互联网时代

    • Python (1991年)
    • Visual Basic (1991年)
    • Ruby (1993年)
    • Lua (1993年)
    • Java (1995年),下文详述。
    • JavaScript (1995年)
    • PHP (1995年)

  • 2000年代至今

    • C# (2001年)
    • Visual Basic .NET (2001年)
    • Go (2009年)
    • Swift (2014年)



TIOBE编程语言排行

TIOBE开发语言排行榜是一个反应编程语言热门程度的榜单,你可以到

TIOBE官网

查看最新一个月的榜单,下图是排名趋势。

编程语言排名走势图



Java语言发展

  • 1990年代初,Sun公司的詹姆斯·高斯林等人开发了Java语言的雏形,最初命名为Oak。目标设置在家用电器等小型系统的编程语言,应用在电视机、电话、闹钟等家用电器的控制和通信。相当于在90年代初Sun公司就有智能化家电的idea了(如今智能化家电已经走进了千家万户),但是当时智能化家电的市场需求并不高,于是Sun公司放弃了这项计划。
  • 1995年5月23日,Java发布。Sun公司由于看到了Oak在互联网应用上的前景,于是改造了Oak,并在95年5月以Java的名称发布。Java是印度尼西亚爪哇岛的英文名,因盛产咖啡闻名于世。关于Java语言命名的由来,可以读一下知乎的一篇文章:

    Java命名的由来

    。Java语言中的许多名称其实都和咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)、ObjectBeans(对象豆)等,Java的logo也是一杯冒着热气的咖啡。
  • 1996年1月,JDK 1.0诞生。
  • 1996年6月,Sun公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)、和微型版(J2ME)。
  • 2004年9月30日,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0。也就是我们常说的JDK 1.5 或者JDK 5.0。
  • 2005年6月,JavaOne大会召开,Sun公司公开Java SE 6。此时,Java的各种版本已经更名,J2EE更改为Java EE,J2SE更改为Java SE、J2ME更改为Java ME。
  • 2009年,Sun公司被Oracle公司收购,结束长达27余年的公司历史。交易价格74亿美元。
  • 2011年7月28日,Oracle公司发布Java SE 7,我们经常说的JDK 7、JDK 7.0或者JDK 1.7。
  • 2014年3月18日,Oracle公司发布Java SE 8,我们经常说的JDK 8、JDK 8.0或者JDK 1.8。这个版本是继JDK 5.0之后,变化最大的版本,也应该能成为一个里程碑了。
  • 2017年,Oracle公司发布Java SE 9。
  • 2018年,Oracle公司发布Java SE 10和Java SE 11。在Java SE 9以后,Oracle命名会采用年份加月份,比如Java SE 10,也称为JDK 18.3,表示是2018年3月份发布的。Oracle曾表示每6个月更新一个版本。
  • 2019年,Oracle公司发布Java SE 12和Java SE 13。
  • 2020年,Oracle公司发布Java SE 14。Java SE 15也将在2020年9月发布。
  • 2021年,预计发布Java SE16和Java SE17。

但是版本并非越新越好,目前用的最多的还是Java SE 8。版本名称平时口头说的并不同意,但应该知道别人是说的哪个版本。




\underline{幽默小故事}




















































A:你们公司JDK用的什么版本的?

B:我们用的1.8。

A:你们用的太老了,我们用的7.0。

B:。。。



Java语言的应用


  • 企业级应用


    主要指复杂的大企业的软件系统、各种类型的网站。Java的安全机制以及跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等。

  • 安卓平台应用


    Android平台的应用程序使用Java语言编写。

  • 大数据平台开发


    各类框架如Hadoop、spark、storm、flink等,以及各种中间件如flume、kafka、sqoop等大多是用Java语言编写,提供Java语言API供编程。

  • 移动领域应用


    主要体现在各种小型设备上的应用,如消费和嵌入式领域,包括手机,pda,机顶盒、汽车通信等设备上软件的开发。



Java语言的特点

Java语言实际上从C和C++语言继承了许多成分,甚至可以把Java看成是类C语言发展和衍生的产物。比如Java语言的变量声明、操作符形式、参数传递、流程控制等方面和C和C++语言完全相同。同时,Java是一个纯粹的面向对象的程序设计语言,它继承了C++面向对象思想的核心。

Java舍弃了C语言中复杂而又容易出错的指针(以引用取代),舍弃了运算符重载,舍弃了多重继承(以接口取代)等特性。增加了垃圾回收机制用于回收不再被引用的对象所占据的内存空间。JDK 5又引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱。

Java语言的特点总结来说主要有以下三个

  • 面向对象

    面向对象的特点是:封装、继承和多态。我面试有被问到过,让去解释这三个概念,并且举一个生活中多态的例子。
  • 健壮性

    吸收了C/C++语言的优点,但去掉了影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制。
  • 跨平台性

    Write Once, Run Anywhere. 通过Java语言编写的应用程序在不同的系统平台上都可以运行。这是因为在需要运行Java的操作系统之上,先安装了一个Java虚拟机,由其负责Java程序的运行。当然,不同的操作系统所对应的JVM也是不同的。

如果你也在复习Java的知识点,我强烈推荐尚硅谷的宋红康老师主讲的

Java语言基础

,这位老师风趣幽默,讲的非常好,受益匪浅。



参考资料

[1]

维基百科对编程语言历史的解释


[2]

维基百科对Java的解释


[3]

掩体.Java命名的由来.知乎


[4]

宋红康.Java语言的特点.哔哩哔哩



版权声明:本文为realYuzhou原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。