java语言发展历史

通过AppDynamics解决应用程序问题的速度提高了10倍–以最小的开销在代码级深度监视生产应用程序。 开始免费试用!

作为互联网上著名的编程语言 ,Java对人们如何浏览数字世界产生了深远的影响。 Java功能设置了用户对他们访问互联网的设备的性能期望的大部分。 但是,您不必成为开发人员即可了解其影响。

Java的历史可以追溯到二十多年前,并且随着世界的数字化转型而发展。 随着消费者和企业对可伸缩性的需求增加,Java被迫发展和适应以保持相关性。 利益相关者正在着手进行有关Java历史,当前使用和未来方向的入门工作。

Java的历史:时间表

早期发展

Java是Java先驱James Gosling的创意,James Gosling追溯了Java的核心思想“一次编写,随处运行”,回到了他在研究生院所做的工作。

在IBM工作一段时间后,Gosling于1984年加入SunMicrosystems。1991年,Gosling与Sun的同事Michael Sheridan和Patrick Naughton合作开发了Green项目,以开发用于对下一代智能设备进行编程的新技术。

Gosling,Naughton和Sheridan着手根据某些规则开发该项目。 它们专门与性能,安全性和功能相关。 这些规则是Java必须是:

  1. 安全可靠
  2. 高性能
  3. 可移植且与体系结构无关,这意味着它可以在软件和硬件的任何组合上运行
  4. 线程化,解释性和动态性
  5. 面向对象

随着时间的流逝,该团队增加了功能和改进功能,扩展了C ++和C的传家宝,从而产生了一种名为Oak的新语言,以Gosling办公室外的一棵树命名。

在使用Oak用于交互式电视的努力未能实现之后,该技术被重新定位为万维网。 该团队还开始使用Web浏览器作为演示平台。

由于商标冲突,Oak被重命名为Java,并在1995年发布了Java 1.0a2和名为HotJava的浏览器。

开发人员招待会

Java在软件社区中受到开发人员的欢迎,特别是因为Java是根据“一次编写,随处运行”(WORA)理念创建的。 这种灵活性源自Java的Bytecode编译功能,该功能绕过了不同系统基础结构的潜在障碍。 Java是一种独特的编程语言,因为它在本质上第一次解决了可移植性问题。

在很短的时间内,Java可用于开源。 Sun Microsystems 于2006年进行了此转换,以防止市场分散化并吸引主要在开源平台中工作的开发人员。 但是,这是短暂的,因为Oracle在2010年接管Sun Microsystems时减少了工作量并恢复了商业许可。

Java的年龄和普遍性意味着大多数程序员一次或一次都遇到过Java,即使不是全职工作。 鉴于庞大的用户群,对于Java是否仍然有用,人们存在不可避免的意见分歧。

除Java外,开发人员似乎还在探索其他选择。 根据2016年9月的TIOBE Index,Java作为一种编程语言的流行正在下降 。 但是,它仍然是最广泛使用的语言,它超越了.NET并保持了前几年的顶级位置 。

Java的优势

作为开发人员,您可能已经意识到使用Java的优势,这有助于解释为什么Java是当今企业中使用的主要编程语言之一:

  • 垃圾收集– C和C ++等语言要求您手动清除创建的对象,这与Java的内置垃圾收集形成鲜明对比。
  • 详细的静态语言–由于Java具有强大的固有固有静态特性,因此易于维护和阅读。 Java使您能够返回多种类型的数据,并且可以轻松地在各种企业级应用程序中使用它。
  • 可移植性–诸如Apache Maven和开源之类的协作自动化工具都对Java友好。 AppDynamics也不例外:通过关键的Java调整和性能分析指标了解JVM的运行状况,包括:响应时间,吞吐量,异常率,垃圾收集时间,代码死锁等。
  • 易于运行,易于编写–只需编写一次Java,您几乎可以随时随地运行它。 这是Java的基石力量。 这意味着您可以使用它轻松创建移动应用程序或在使用不同操作系统和服务器(例如Linux或Windows)的桌面应用程序上运行
  • 适应性– Java的JVM工具是多种语言的基础。 这就是为什么您可以轻松使用Groovy,Jython和Scala之类的语言的原因。

Java的弱点

尽管Java有很多优势,但这种迫在眉睫的编程语言仍然面临着挑战:

  • 不是Web语言–创建Web应用程序所需的层和工具(例如Struts,JPA或JSP)数量与Java的易用性设计无关。 这些其他框架有其自身的问题,很难在其中使用。
  • 发布频率–随着运行时的每次更改,开发人员必须赶上速度,从而导致内部延迟。 由于Java更新可能会导致暂时的中断和不稳定,因此这对关心安全性的企业是个麻烦。

Java的下一个发展

尽管Java历史悠久,但它并不是传统的编程语言。 Maven(基于Java的项目的构建工具)的强大使用,颠覆了Java已经过时的理论。 尽管市场上有各种各样的部署工具,但Apache Maven迄今为止已成为开发人员用来部署软件应用程序的最大自动化工具之一。

由于Oracle长期致力于Java,因此不难看出为什么Java在以后的几年中将始终是编程语言的一部分,并且仍将是首选的编程语言。 2017年将发布第八个Java版本 -Java EE 8。

尽管有待改进的地方,并且受到.NET等竞争对手编程语言的威胁,但Java仍然存在。 Oracle计划在2017年初发布新版本,其新的支持功能将强烈吸引开发人员。 Java作为编程语言的众多优势意味着Java在数字世界中的使用只会不断巩固。 在过去的二十多年中,一种为易于使用而固有设计的语言已证明自己具有功能性和安全性。 欣赏技术变革的开发人员也可以放心,Java的久经考验的语言将很可能始终在其工具集中占有重要地位。

通过AppDynamics解决应用程序问题的速度提高了10倍–以最小的开销在代码级深度监视生产应用程序。 开始免费试用!

翻译自: https://www.javacodegeeks.com/2017/03/history-future-java-programming-language.html

java语言发展历史

java语言发展历史_Java编程语言的历史和未来相关推荐

  1. java职业发展路线图_Java程序员如何选择未来的职业路线

    一.程序员的特性 技术出身的职场人特性很明显,与做市场.业务出身的职场人区别尤其明显.IT行业中常见的一些职场角色:老板.项目经理.产品经理.需求分析师.设计师.开发工程师.运维工程师等.开发工程师具 ...

  2. Java语言发展简史

    Java语言发展简史 JAVA 语言历史近二十年, 已发展成为人类计算机史上影响深远的编程语言. JAVA 语言是一门非常纯粹的面向对象编程语言, 它吸收了 C++ 语言的各种优点, 又摒弃了 C++ ...

  3. Java语言发展概述

    目录 现代编程语言 发展历史 TIOBE编程语言排行 Java语言发展 Java语言的应用 Java语言的特点 参考资料 现代编程语言 发展历史 1950与1960年代 Fortran (1957年) ...

  4. JAVA语言发展介绍【尚学堂java300集视频学习笔记】

    Java发展简史 1991年,James Gosling在SUN公司的工程师小组想要设计这样一种小型计算机语言.该语言主要用于像电视盒这样的消费类电子产品.另外,由于不同的厂商选择不同的CPU和操作系 ...

  5. Java 答疑:编译器和解释器有何区别?Java 语言属于编译型编程语言还是解释型编程语言?

    文章目录 前言 一.Java 与 Java 字节码 二.什么是编译器(Compiler) 三.什么是解释器(Interpreter) 四.编译器与解释器有何区别? 五.Java 语言属于哪种语言? 总 ...

  6. java安装_Java编程语言的历史和未来

    java安装 通过AppDynamics解决应用程序问题的速度提高了10倍–以最小的开销在代码级深度监视生产应用程序. 开始免费试用! 作为Internet上著名的编程语言,Java对人们如何浏览数字 ...

  7. java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)

    最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会 直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有"01 ...

  8. 1.Java之路(Java语言发展和概述以及特点)

    1.Java语言概述   1.1 什么是Java语言 Java语言是美国Sun公司(StanfordUniversityNetwork),在1995年推出的高级的编程语言.所谓编程语言,是计算机的语言 ...

  9. Python超越Java语言,跃居世界编程语言第2位了!你却还在犹豫学不学Python?

    一.前言 C.Java.Python作为常据世界编程语言排行榜前三甲的语言,必然有其得天独厚的优势.以下是2021年5月最新的高级编程语言排行榜,可以看到,Python已经超越Java语言跃居世界第二 ...

最新文章

  1. MySQL中字段字符集不同导致索引不能命中
  2. python显示语言错误_Python错误和异常
  3. 最吸量的手游ICON设计参考资料
  4. 前端MVC Vue2学习总结(四)——条件渲染、列表渲染、事件处理器
  5. 在ubuntu中使用MYBASE
  6. 160523、Oracle建立表空间和用户
  7. 20以内分数化小数表_如何使用标准正态分布表?
  8. Jeewx捷微 , 免费微信公众账号管家系统发布,采用JAVA语言
  9. linuxShell之一 文件读取 循环与分支
  10. 蓝桥杯 ALGO-75 算法训练 筛选号码
  11. R语言基于S3的面向对象编程
  12. solidworks做动态静力学分析Motion(牛头刨床为例)机械原理课设(停止中断)
  13. Tampermonkey油猴插件——安装与使用教程
  14. C++计算两平面之间的夹角
  15. 利用c++深究周立功usbcan盒的学习
  16. 巨量引擎最大转化投放实战案例深度解析!
  17. 教你如何给小米5续命
  18. 自动化测试工程师_所以你想成为一名测试自动化工程师
  19. Qt之QListWidget控件的应用
  20. VB.NET自制动态桌面

热门文章

  1. NOIP2014洛谷P2296:寻找道路(bfs)
  2. 2021牛客OI赛前集训营-交替【生成函数】
  3. P4294-[WC2008]游览计划【斯坦纳树】
  4. jzoj6344-[NOIP2019模拟2019.9.7]Huge Counting【组合数,状压dp】
  5. P1137-旅行计划【拓扑排序,DAGdp】
  6. 中山纪念中学培训15天总结
  7. 【贪心】Radar Installation(poj 1328)
  8. codeforces gym-101736 Dessert First Strategy 最小割
  9. 洛谷P2501数字序列 动态规划
  10. 20、mysql中触发器的使用