Java能够长盛不衰20年的秘密

编程语言至于程序员就如同学武之人手中的兵器,其重要性不言而喻。在当今众多世界编程语言中(应该会超过100种)挑选出一个来作为自己的职业依靠并不容易,特别是随着时代的更迭,今天还很流行的编程语言或许很快就被边缘化,使得这个选择更为困难。不过,在众多编程语言有些语言一直是程序员的热门之选,Java就是其中之一。

根据TIOBE
2015年4月编程语言排行榜,Java、C、C++位列前三,紧随其后的分别是Objective-C、C#、JavaScript、PHP、Python、Visusal

Basice、Delphi、Perl等。看得出,尽管岁月的更迭,IT环境从单板机进化到云计算、大数据、社交和移动设备流行的今天,程序员手中的兵器类型没有多大变化。

毫无疑问,Java、C、C++都堪称经典的编程语言,其中Java有超过20年的历史,而C、C++历史还要更长些。C、C++强调与硬件的紧耦合,其程序效率高,但编程复杂,缺乏可移植性;而Java正好相反,它更重视可移植性(也就是跨平台性),编程相对简单,上手快,因此,很受程序员欢迎,并20年一直长盛不衰,成为最受程序员青睐的编程语言之一。

据不完全统计,在企业级市场Java具有绝对的垄断地位,市场占有率应该超过90%。在消费市场,其地位也非常稳固。根据Java官方提供的数据,基于Java的媒体设备已达1.25亿台,Java卡的出货量也已超过了100亿个。在全球范围内,Java技术已广泛应用于提高道路和航空安全性、从大洋深处采集科学应用所需的信息、提升作物质量、通过量化处理来协助战胜饥饿、模拟人的大脑与肌骨系统以及游戏等各个领域。

甲骨文公司Java平台开发事业部开发副总裁 Georges Saab

到底是什么原因让Java如此风靡全球,流行20年而不衰?在日前举行的Java20周年庆典上,甲骨文公司Java平台开发事业部开发副总裁
Georges
Saab总结了三个方面的原因:社区模式、技术不断进步和甲骨文的管理(之前是Sun公司)。“Java社区、技术不断演进和甲骨文的管理,这三点保证了Java过去的成功,我们也将用这样的模式来保证未来二十年的成功。”他说。

他将Java成功首先归功于Java社区。 “社区是Java生命力最重要的来源。更加准确地说,是甲骨文和社区当中所有的开发人员共同来管理Java,然后推动它继续蓬勃发展,焕发出更强的生命力。”

目前,Java社区有三种方式来推动Java的发展,即Java社区流程(JavaCommunity
Process)、Java用户群和用户组、Java
Champion的项目(Champion是Java社区里面的领军人物,他们推动了Java的发展,也获得了整个Java社区的认可。这些Java领军人物的项目,推动了Java社区中技术领袖的发展)。

当然,对程序员而言技术上的不断进步才是他们喜欢上Java的原因。实际上,过去20年来Java也经历了技术的不断革新。在1995年Java刚刚问世的时候,Java主要针对的并非服务器端应用,而是桌面市场。当时Java有一个宣传口号:“Write
Once,Run anywhere”,然而,这种跨平台特性很快在服务器端得到了应用。

“Java的跨平台能够最大程度上保护你所付出的辛勤工作,同时也能够在技术不断革新的过程当中,给你提供更好的保障。” Georges Saab告诉《计算机世界》记者。

比如,芯片集不断在更新,硬件不断在更新,英特尔或甲骨文自己也在不断更新软件。但是如果用Java的话,就可以不断利用芯片或其他硬件更新带来的技术优势。即便编译技术在不断发展进步,如果不是用Java的话就需要不断写代码,然后要不断重新编译,整个硬件技术革新带来的优化就不能立刻享受。另外,Java一直不断地在和世界各地硬件和操作系统的厂商保持密切合作,来确保所有新的硬件以及操作系统的技术革新一旦出现后,Java能够充分被这些支持,从而可以充分地利用硬件和操作系统所产生的技术进行优化。

实际上,Java的每次版本更新也就代表了Java对快速变化的IT环境的一种应对。从甲骨文接手Java以来已经连续推出了Java
7、Java 8两个版本。目前,Java社区和甲骨文正专注于Java 9的创新,该版本的主要特色将是Project
Jigsaw,其目的是让Java平台模块化,使其能够针对更为广泛的设备进行扩展,让开发人员更容易建立和维护类库和大型应用,同时提升安全性。此外,还包括Java
Shell、新的HTTP客户端API和连接基于Linux的ARM Arch64架构的端口等。

GeorgesSaab透露,Java 9将于明年推出。他表示,就长期而言云将是Java技术的重点关注领域和支持对象。

作者:邹大斌

来源:51CTO

时间: 2024-09-11 09:42:16

Java能够长盛不衰20年的秘密的相关文章

字符串-java问题 17~20行的代码不能运行,也就是不能进行a==Mon[i]这个语句,求问是什么原因

问题描述 java问题 17~20行的代码不能运行,也就是不能进行a==Mon[i]这个语句,求问是什么原因 import java.util.Calendar; import java.util.Date; public class Date { public static void main(String[] args) { //以下代码是用来显示系统当前月份的第一天是星期几的 Calendar currentCal = Calendar.getInstance(); currentCal.

java io系列20之 PipedReader和PipedWriter

本章,我们学习PipedReader和PipedWriter.它们和"PipedInputStream和PipedOutputStream"一样,都可以用于管道通信. PipedWriter 是字符管道输出流,它继承于Writer.PipedReader 是字符管道输入流,它继承于Writer.PipedWriter和PipedReader的作用是可以通过管道进行线程间的通讯.在使用管道通信时,必须将PipedWriter和PipedReader配套使用. 转载请注明出处:http:/

Java Socket编程中的一个秘密类

编程 介绍 Java平台在java.net包里来实现Socket.在这本文中,我们将使用Java.net包中的下面三个类来工作: ·URLConnection ·Socket ·ServerSocket 在java.net包里包含有更多的类,但是这些是你最经常遇见的,让我们从URLConnection开始,这个类提供了在你的java代码里使用Socket的方法而无需了解Socket的底层机制. 甚至不用尝试就可以使用sockets 连接到一个URL包括以下几个步骤: ·创建一个URLConnec

甲骨文携手各界共庆Java 20周年

本文讲的是 :   甲骨文携手各界共庆Java 20周年 , [IT168信息化]可曾记得你用Java写的第一句话"Hello World"?你的第一本Java书籍的封面?你调试的第一个Java程序-?二十年不过弹指间,我年方弱冠,你风华正茂.跳跃的键盘上,代码在你的指间流淌,世界在你我眼前瞬息万变.二十年来,无数的程序员投身到Java的怀抱,无数的商业应用基于Java构建.IT技术的长河大浪淘沙,能风风雨雨走过二十载,一路都是你们的陪伴. 2015年5月23日,北京,在代表着中国科技

开发漫谈:Go语言究竟能否超越Java?

根据近年来TIOBE最受欢迎语言排行榜,我们很容易会发现一个现象:Java语言长盛不衰,多次连续获得最受欢迎语言排行榜第一名,对于很多程序员而言,这似乎已经成为一个习惯,Java也顺理成章的成为很多编程人员学习的首选.但是,如今看来,这种定式或将会发生变化. 为什么这么说呢?从2016年10月的最受欢迎语言排行榜来看,尽管Java仍然位居第一名,但是Go语言以1.67%的速度成为TOP20中增长速度最快的语言,相比而言,Java和C语言则是分别下降了0.74%和6.35%.按照这个发展速度,Go

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

java泛型type体系整理

一直对jdk的ref使用比较模糊,早上花了点时间简单的整理了下,也帮助自己理解一下泛型的一些处理.   java中class,method,field的继承体系     java中所有对象的类型定义类Type   说明:    Type :  Type is the common superinterface for all types in the Java programming language. These include raw types, parameterized types, 

解释一下JSP和JAVA的含义

js JSP的含义: JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序. JSP(JavaServer Pages)是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态网页技术标准. 在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp).Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段

JAVA的多态、接口、动态加载类等

为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都是3个整数A.B.C的表达式.现有两种工具:Car和Plane,其中Car的速度运算公式为:A*B/C,Plane的速度运算公式为:A+B+C.需要编写三类:ComputeTime.java,Plane.java,Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序.其运行过程如下,从命令行输入Compu