作者 | 核子可乐、冬梅
2020 年 5 月 23 日,距 Java 编程语言和平台的第一个公开 alpha 版本发布已经 25 年了。岁月更迭,25 岁的 Java 至今仍然活跃在各大主流的系统和框架中,历久弥新。
1991 年,James Gosling 带领团队开始了一个叫 “Oak" 的项目,这就是 Java 的前身。Java 刚开始出现的时候主要面向 Interactive Television 领域,Sun(后来在 2010 年被 Oracle 收购)一度想用 Java 来打造桌面的网络操作系统,取代当时如日中天的 Windows。后来,Java 虽未在桌面领域取得多大建树,却出乎意料地在企业级应用领域开花结果,占据了几乎统治的地位。
1Java 的 25 岁生日:越老越醇,还是岁月无情?
从编程语言的角度来看,25 年已经是段漫长的岁月。下面,我们将立足 Java 编程语言、生态系统、社区以及未来前景几个方面,聊聊这 25 年的发展变革——Java,究竟是越老越醇,还是岁月无情?
1995 年,Sun Microsystems 发布了 Java 的首个正式版本。James Gosling 用 C/C++ 样式的语法设计出 Java 语言,希望让当时的程序员们能够轻松上手这种全新的编程选项。Java 语言的核心目标,在于无需变更代码即可在各种系统上运行——也就是所谓 WORA 原则。WORA 是“Write Once Run Anywhere”的缩写,代表一次编写、随处运行。凭借着强大的吸引力,各类主流平台很快开始推出面向 Java 语言的 Runtime。
有些批评人士觉得 Java 这种 25 岁的语言已经老朽不堪,无法适应当下市场对于编程语言的要求。但如果我们认真观察,就会发现 Java 仍然是目前最受欢迎的编程语言之一。另外,JavaScript 与 Python 等高人气语言也同样不比 Java 年轻到哪里去——JavaScript 同样诞生于 1995 年,Python 的最初版本甚至早在 1990 年就已经出现了。
2Java 生态系统
Java 绝不仅仅是一种语言。多年以来,JVM(Java 虚拟机)及其生态系统也得到长足发展。如今,Scala、Groovy 以及最近几年刚刚亮相的 Kotlin 都运行在 JVM 之上。更重要的是,当我们站在 2020 年这个节点审视 JVM 报告,就会发现 Java 本身仍然是 JVM 上最受欢迎的编程语言。
目前,Java 的最新版本是 Java 14,发布于 2020 年 3 月 17 日。新版本引入了经过增强的 switch 表达式、文本块、非常实用的 NullPointerException 以及 Records 等全新功能。由此看来,Java 一直在不断演进,说它会很快消亡根本就是无稽之谈。实际上,Java 当下的发展速度远超以往任何时候。有时候发展速度过快,甚至连 Java 开发者群体都感觉有点跟不上节奏。JVM 2020 报告显示,相当一部分用户更倾向于不升级到最新版本。而无论是否跟得上发展节奏,Java 的活跃度都是毋庸置疑的。
Java 生态系统所涵盖的,也不仅仅是 JVM 以及运行在其上的语言。随着 Maven (2002 年)以及 Gradle (2007 年)等软件包管理器的引入,在 Java 语言当中使用第三方库与框架变得更加轻松。Apache Commons、Eclipse Collections 等知名库方案的参与,也极大丰富了 Java 生态阵营。像 Quarkus 与 Spring(Boot)这样的框架确实显著降低了应用程序的开发门槛。目前,Spring 已经成为 Java 生态系统中的核心框架之一,同时也成为承载众多应用程序的重要资产。
3不断进取
Java 及其生态系统仍在迅速发展。语言本身以及各类第三方库 / 框架一直在不断吸纳新的功能与修复成果。凭借背后庞大的语言技术社区、多种多样的 JDK(Java 开发工具套件)发行版以及精心维护下的开源库,Java 生态系统正在大步向前迈进。对开发人员来说,目前最大的挑战反而是如何跟上生态的发展步伐。我们看到,很大一部分用户目前仍在使用相当陈旧的 Java 版本——截至 2020 年初,仍有 64% 的开发者在生产环境中使用 Java 8,甚至是其他早已过时的库及框架版本。
首先,陈旧的依赖项会把已知漏洞引入用户的应用环境,进而损害用户的系统。另外,用户拖得越久,升级到最新版本的难度也就越大。如果顽固不化、长期拒绝更新,那么欠下的技术债务也将随时间推移而愈发沉重。
4结束语
最后,Java 仍是一种活跃的语言,其背后的生态系统,特别是庞大的技术社区正在塑造更多可能性。尽管不乏反对之声,但可以肯定的是 Java 一直在迅速发展,也建议大家能够尽快对您使用的 Java 发行版与库进行更新。
简而言之,25 岁的 Java 充满生机与活力。尽管 Java 中出现了不少问题与变化,也有不少人一直对 Java 语言颇有微词,但无论如何,Java 生态系统仍然充满活力,而且语言本身也如同陈年佳酿一般散发出成熟的魅力。
【InfoQ 写作平台 — Java 25 周年有奖征文活动】
值此 Java25 周年之际,你对 Java 的过往演进有哪些最深刻的印象?你和 Java 之间有何故事、亲身体验?你如何看待它的未来以及它的替代者?你对 Java 有哪些吐槽、寄语?面对云原生、AI 等技术趋势,Java 又会出现哪些可能的改进呢?
诚邀您与我们分享与 Java 的故事、亲身体验,或对 Java 的期望。毕竟时间长河中,闪耀 25 年的 Java,值得我们为它做点什么。
 活动规则:
即日起至 6 月 15 日 12 点,您只需在 InfoQ 写作平台发布以“Java”为主题的相关文章,并将文章链接附在下方链接内(点击阅读原文也可跳转),即可参与活动。注:发布文章时需带「Java 25 周年」标签。点击链接参与 & 查看活动详情:http://gk.link/a/10iMb
扫码了解活动详情

 评选规则:
我们将在 6 月 15 日活动结束后,由 InfoQ 专业编辑团队择优挑选 10 篇「优秀文章」,并根据阅读量排名选出「金银铜奖」,公示并给予奖励。
 活动奖励:
人人有份 —— 所有参与活动用户可得到极客时间 30 元的优惠口令,所有课程任选:https://time.geekbang.org/
金羽毛奖 —— 1 篇
  • 1000 元写作奖金
  • 拥有 100w+ 粉丝的 InfoQ 公众号推广位置
  • 极客时间 99 元专栏课程兑换码,任选极客时间原价 99 元课程一门
  • InfoQ 写作平台 - 首页置顶位置
  • InfoQ 官网 - 文章推荐位置
银羽毛奖 —— 3 篇
  • 400 元写作奖金
  • Java 相关书籍:《Head First Java》一本
  • 极客时间 99 元专栏课程兑换码,任选极客时间原价 99 元课程一门
  • InfoQ 写作平台 - 首页置顶位置
  • InfoQ 官网 - 文章推荐位置
铜羽毛奖 —— 6 篇
  • 极客时间 99 元通用兑换码,任选极客时间原价 99 元课程一门
  • InfoQ 写作平台 - 首页置顶位置
  • InfoQ 官网 - 文章推荐位置
 征文主题:
文章主题不限。你可以分享与 Java 的故事,你的亲身体验,你对 Java 的期望。以下几个思路,供君参考:
  • 你对 Java 的过往演进有哪些深刻印象?
  • 你和 Java 之间有何故事?
  • 你如何看待 Java 的未来?
  • 你的企业采用 Java 哪个版本,有何实践经验?
  • 你对 Java 有哪些吐槽、寄语?
  • 面对云原生、AI 等新技术趋势,你认为 Java 会出现哪些改进?
……
如有任何疑问请联系咨询写作平台小助手:
文字君(微信号:infoqwriter)
继续阅读
阅读原文