
编译 | 核子可乐、Tina
“科技行业里骗子和炒作者的数量之多,令人难以置信。”面对当下火热的 AI 浪潮,Java 之父直言不讳地对背后推波助澜的炒作者们发出尖锐批评。
5 月 23 日是 Java 编程语言诞生三十周年纪念日。Java 凭借着“一次编写、随处运行”的理念彻底改变了软件开发领域。
这三十年里,Java 经受住了技术浪潮、竞争语言和范式更替的考验。从 Applet 和 Servlet,到微服务和云原生架构,Java 一路演进,同时又始终保持熟悉的面貌。它为开源软件进入企业级市场铺平了道路。
尽管已近三十年历史,并且面对 2025 年众多新兴语言的挑战,Java 依然是全球最受欢迎的编程语言之一。回望 Java 的起点,也离不开它的缔造者——James Gosling。从一位聪慧的加拿大少年,到成为全球计算领域的先驱人物,他的人生轨迹为整个技术行业的发展提供了宝贵启示。而他对语言和技术的发展,以及对当前 AI 浪潮的深刻见解,都持续影响着我们对编程未来的思考。
Java 如何彻底改变开发格局
30 年前,Java 编程语言首次公开亮相,向世界展示了“一次编写,到处运行”(Write Once, Run Anywhere)的愿景,也为开发者们带来了一个比 C 和 C++ 更友好亲和的选择。
Java 最初名为 “Oak”,由 James Gosling 在 1990 年代初期于 Sun Microsystems 设计开发。虽然最初面向的是数字设备,但很快它将重心转向了彼时仍属新兴的万维网(World Wide Web)平台。
这门语言在语法上与 C 和 C++ 有些相似,通常会被编译成字节码,理论上可以在任何 Java 虚拟机(JVM)上运行。这个机制旨在实现“Write Once, Run Anywhere”,尽管由于不同 JVM 实现之间存在细微差异,这一愿景并不总能完全实现。曾有人调侃说,与其说是“一次编写,到处运行”,不如叫做“一次编写,到处测试”(Write Once, Test Everywhere)——因为又一个 JVM 的意外表现让应用跑出了预料之外的结果。
尽管如此,Java 很快便流行开来,并迅速成为企业级开发的中流砥柱。微软随后也推出了自己的 Java 变种——Visual J++。虽然该语言在语法上符合 Java 规范,但未通过 Sun 的兼容性测试,最终在 1999 年引发了一场诉讼。2000 年,Visual Studio 中移除了 J++,随后该项目被正式弃用。
Java 的热度在发布后持续攀升,直到近几年才略有下降,原因在于越来越多开发者开始选择其他语言。根据 2024 年的 Stack Overflow 调查,Java 仍位列前十热门语言之中,领先于 C#、C++ 和 C。而在 TIOBE 指数中,Java 虽不再是榜首,但依然排名第四。相比之下,Python 因其在 AI 和数据科学领域的广泛应用,已遥遥领先。值得一提的是,TIOBE 曾在 2015 年将 Java 评为“年度语言”。
事实上,尽管编程趋势不断更替,Java 在企业级系统中的广泛应用,始终让对 Java 技能的需求居高不下。这段长达 30 年的历史,不只是关于一门编程语言,更是关于信任——一种源自 James Gosling 及其团队数十年来对可靠性、规范性和技术共享的不懈坚持所建立起来的信任。
James Gosling:Java 语言背后的天才
Gosling 不仅仅是“Java 之父”,同时也是一位谦逊的天才,拥有将复杂概念简单阐释的非凡能力。在最近一次访谈中,Gosling 分享了自己引人入胜的科技之旅,并回顾了和他和他的团队如何在 30 年间从缔造 Java 到逐步完善的整个历程。
Gosling 的编程之路,展现出他作为一名创新者的诸多特质。他从小家中一贫如洗,却总能将从生活的必需品中找到创作灵感。“我的玩具是从其他人的垃圾桶里翻出来的,还有从旧电视里拆下来的元器件。”而他亲手组装的第一台电脑,实际上是从电话公司废弃物中回收的继电器架拼凑而成——种种成就充分展现了他的早期技术天赋。
Gosling 父亲的朋友曾带他参观卡尔加里大学的计算机中心,这也成为他人生中的一个关键时刻。他回忆道,“我一下子就被迷住了。屏幕、磁带、闪烁的灯光——简直让我眼花缭乱。”这样的好奇心也贯穿了他的整个职业生涯,成为驱动他人生的一大关键特质。
少年 Gosling 才华横溢,通过非常规的方式自学掌握了编程:他翻垃圾桶找到带密码的穿孔卡片。当时多数青少年都更想去当售货员,而 Gosling 在高中阶段就在大学物理系找到了第一份工作,内容是开发一款处理卫星数据的软件。谈到这段影响到自己人生成长的经历时,他表示“我玩得很开心,而且他们居然还愿意为此付钱,真是太棒了!”
他的早期编程经历涵盖 IBM 大型机上 PL/1 和 Fortran 语言、PDP-8 汇编语言和 CDC 6400 代码。一贯低调的他漫不经心地提到,自己“曾在暑假从事过编写 COBOL 编译器的工作”——事实上,这对大多数经验丰富的程序员来说都仍是一项艰巨的任务。
Gosling 也毫不惮于直截了当地表达自己对于学术界的看法。他将卡耐基梅隆大学享有盛誉的计算机科学博士项目描述为“实际上就是一个把研究生当作廉价劳动力的研究机构”。一贯务实的他曾在学习期间抽出时间在湾区一家初创公司工作,之后又回到匹兹堡完成了学业。
从卡耐基梅隆大学毕业后,他的第一份工作是在 IBM 研究院。多年后他对 IBM 的论文依然尖锐,宣称蓝色巨人的行为类似于“坚持要搬起石头砸自己的脚”。这也是对他冷幽默下深刻见解的最好诠释。早期工作经历影响了他在 Sun Microsystems 的工作方式,也真正让他的职业生涯蓬勃发展、一路起飞。

Java 封神之后,Java 之父的人生轨迹
诞生于三十年前的 Java 无疑是 Gosling 最具标志性的成就。在被问及对创造出如此具有影响力的成果有何感受时,他仍然以谦逊的视角予以回应:“我时不时会在街上被人拦住,问「您是 James Gosling 吗?谢谢你让我有了工作。我写 Java 代码有 20 年了,这是份很棒的职业。」这样的情景总是让我心满意足。”
回顾 Java 的演变历程,Gosling 提到了 lambda 表达式(JDK 8 中的新增设计)等功能特性,而且希望这些成果能够早点出现。但他也解释了自己怎样以谨慎的态度设计编程语言:“我不希望添加任何不合适的东西。”泛型和 lambda 表达式等功能特性的挑战在于,如何为其确定最佳实现方式——“前 90%总是容易理解,但最后 10%的收尾工作则非常困难。”
谈到甲骨文在收购 Sun 之后如何管理 Java 项目时,Gosling 同样给出了审慎的评价:“他们的表现比预期中要好,但也必须得承认,我本就没抱太高的期待。”他认为社区才是推动 Java 持续发展和创新的绝对支柱。
Gosling 还提到,如今的 Java 已经与云环境高度契合,并强调“过去三十年间的一系列变化,使得 Java 在云环境中变得非常非常稳定。”他强调了 Java 在多核处理器应用、内存管理、特别是垃圾收集方面的改进,并认为最新版本的垃圾收集机制“拥有现象级的实际表现”。
超越 Java:后 Sun 时代的创业之路
在 2010 年甲骨文收购 Sun 之后,Gosling 短暂休息了一段时间,之后加入了谷歌。在搜索巨头效力“整整六个月”之后,他又加入 Liquid Robotics,负责自主海洋机器人的控制系统开发工作。这份工作既有技术挑战,也让他获得了施展才华的独特空间:“想做好这方面开发,就必须熟悉浮潜。而且我们工作的重要组成部分,就是在夏威夷待上一个礼拜甚至一整个月。”
Liquid Robotics 的工作涉及环境监测,包括研究北极和南极地区的温度变化。然而 Gosling 也承认,“研究这方面问题的项目根本就拿不到任何资金”,因此风险投资公司一直不支持大家在这方面“浪费金钱”。随着资方要求公司向国防应用领域转型,Gosling 对这样的应用思路感到不安,并最终选择离开。
Gosling 接下来加入了亚马逊云科技,在那里参与了 Greengrass 项目和其他开发工具的创作,直到去年正式退休。在整个职业生涯中,Gosling 不仅始终聚焦于技术,也没有忘记牢牢把握自己的道德判断。
关于开源与行业趋势:冲破炒作迷雾
关于开源事业的发展,Gosling 观察到“很多人已经找到了让开源成果为自己所用的方法”,而不同的应用模式也在不同环境下应运而生。在 Sun,开源“既关乎协作,也与开发者关系和市场营销密不可分”,由此建立起的自下而上的应用方式,与自上而下的传统企业应用思路截然不同。
在被问及“低代码和无代码”趋势时,Gosling 结合自己丰富的从业背景提出了质疑:“几十年来,人们一直在聊低代码和无代码,而且基本思路早在 COBOL 时代就已经喊过。”在他看来,这种方法往往只在特定领域表现出色,但在其他普适性的复杂问题上却举步维艰。
在谈到 AI 和机器学习(ML)时,Gosling 也对专业术语提出了批评:“对于 AI 和机器学习,我最难接受的就是它们的名称。”在他看来,与其使用这些具有误导性、将其与人类推理能力关联起来的迷惑表述,“高级统计方法”反而是更准确的字眼。Gosling 认为这些技术也仅仅是“极其复杂的锤子和螺丝刀”:仍然是人类手中的工具,而不是能够威胁就业的自主系统。
Gosling 主要使用 NetBeans IDE 进行开发,并对该项目的开源 Apache 许可属性与专注的技术社区赞不绝口。他对那些固守过时工具的开发者们感到失望:“最让我难以理解的,就是那帮固执坚持上世纪 80 年代甚至 70 年代老古董的家伙——他们还觉得 Vi 好用……如果回到上世纪 70 年代,Vi 倒还能算是高科技。”
Gosling 承认自己偶尔也会使用 Vi,毕竟它“无处不在”,但同时也提倡在成规模的编码工作中使用现代开发环境。
有趣的是,最终奠定 Java 虚拟机(JVM)基础的概念其实源自 Gosling 研究生阶段的经历。他曾探索过“架构中立的分发格式”的想法,并尝试在不同机器架构之间进行跨指令转换。
这项早期探索为 JVM 的开发提供了依据,也让 JVM 后来成为一项基础性技术——不仅造福于 Java,更让许多其他语言能够在不同的硬件平台上顺畅运行。“一次编写、随处运行”这个当初被认为缺乏足够的数学基础、因此无法支撑起一篇博士论文的愿景,最终改变了全球的软件开发实践。
退休后在干什么
去年从亚马逊云科技退休之前,Gosling 致力于 Greengrass 的开发——这是一套用于构建物联网应用的 AWS 框架。此项目完美体现了 Gosling 的技术理念:以优雅的简洁性设计,解决复杂且普遍的问题。
Gosling 解释道,“从「一款能用的玩具」到可以真正大规模部署的成果,这其中有很多可以作为模板和参考的东西。”而他拥有一种独特的能力,可以将复杂的想法瞬间变得触手可及。Greengrass 就囊括并实现了大量繁琐的元素——无线更新、远程命令与控制、遥测、网络可靠性、安全性、凭证管理等等……让开发人员能够专注于打磨特定应用中的核心特性。
Greengrass 的设备端部分为开源成果,体现了 Gosling 长久以来对于社区贡献的感激之情。这种方法也的确带来了效益,用户们自发创建了面向亚马逊并未优先考虑的其他平台(例如 RISC-V)的接口。他对这一切深感欣慰。
在 Greengrass 之后,Gosling 又投身于另一个与软件开发工具相关的项目,却不料就此卷入一场“AI 末世录”。
科技大佬在胡说八道,编程根本不会被 AI 淘汰
在前段时间接受采访时,Gosling 对于席卷整个科技行业的 AI 革命提出了自己的怀疑。他直言不讳地表示,“这基本上就是一场骗局”,并将 AI 描述为“自带误导属性的营销术语”。虽然 Gosling 承认这些系统背后有着令人印象深刻的数理逻辑,但他也担心 AI 这个标签会掩盖其作为高级统计技术的本质。
他还特别批评了那帮炒作 AI 风潮的风险投资者,强调“科技行业里骗子和炒作者的数量之多,令人难以置信。”而且,风险投资者们“只关心成功获利”,而不是开发出真正有用的技术。他预测称,“绝大多数 AI 投资都会被烧个精光。”
氛围编程靠谱吗?演示令人印象深刻,但实用性有限
在谈到生成式 AI 编程助手时,Gosling 承认它们第一眼看上去令人惊艳,但也强调了其显著的局限性。他警告称,“刚开始接触氛围编程,会觉得它特别的酷炫。可一旦项目变得稍微复杂一点,氛围编程就会很快耗尽开发者的脑力。”
在 Gosling 看来,根本问题在于这些工具的基本原理是抓取现有代码示例,因此只能重现它们之前见过的代码。这跟专业软件开发存在根本性的冲突,因为此类开发中“真正有趣的东西永远是开拓性的”,没办法用已经被打包成现成库的方式来实现。
Gosling 认为,AI 技术最有价值的编码应用并不在于取代程序员,而是“生成没人愿意去写的文档”——它在本质上更像是一种智能搜索引擎,可以理解代码的工作原理,并帮助解释如何使用特定的 API 或者功能。
Java 的演变:语言特性与运行时改进
在被问及 Java 的最新进展时,Gosling 分享了一系列有价值的增强特性:“Java 在类型推断方面的许多改进都很棒,数组声明的演进也非常顺利。我认为这方面还有进一步提升的空间。”
但他同时强调,Java 近期最令人印象深刻的进步还是体现在其运行时环境和库方面。他解释道,“如今 JVM 的代码质量非常高,现代 JVM 版本中的垃圾收集机制令人惊叹,线性性能也极其出色。”
他特别赞扬了内存管理与性能可预测性方面的改进:“长期以来,Java 的存储管理一直比 malloc 和 C 更加高效,如今更是达到了前所未有的水平。”曾经的垃圾收集机制需要暂停“10 到 20 秒”,而如今在精心设计下已经可以缩短到几毫秒。“哪怕没那么精心,整个过程也完全可以在亚秒级别完成。”JVM 现在还能以相当惊艳的效率处理“一切大到离谱的内存空间”。
在被问及应该使用哪种编程语言来重建美国航空管理局(FAA)的空中交通管制系统时,Gosling 首先否定了这个问题的预设前提。“这就像建造一栋房子,我们最开始要考虑的肯定不是该买什么品牌的锤子。”
相反,他主张先吃透问题领域——包括通信系统、国际法规、飞机跟踪/防撞以及飞行路径规划等需求,之后再为不同组件选择合适的技术。他建议称,“一定得根据打算实现的目标特性来做选择”,但同时也承认 Java 坚实的可靠性在关键大型系统中确实表现较好。
AI 世界中的编程未来
尽管 AI 技术取得了长足进步,但 Gosling 坚信编程仍是一项必备技能。“如果现在我有个小孩,那我绝对会先教他们编程”,他解释称“哪怕 AI 最终接管了一切,人们也必须有能力理解它们的系统是如何运作的。”
他驳斥了扎克伯格等一众科技高管关于 AI 技术将减少软件工程师需求的说法,称其“完全是自私自利的胡说八道”。在他看来,这些言论只是一种定位性的策略,同时也是在给他们疯狂榨取员工更多产出做出不负责任的铺垫和威胁。
Java 能够长盛不衰的秘诀
当被问及为什么 Java 能够屹立三十年,而许多其他编程语言却逐渐淡出舞台时,Gosling 总结了几个关键原因:聚焦实际问题、尊重用户、坚持向下兼容、提升开发者生产力,以及始终将可靠性放在首位。
他解释道:“Java 从不追逐潮流,而是始终专注于把事情做好,尤其是帮助工程师解决现实中的需求。”正是这种对实用性而非流行趋势的坚持,让 Java 在高度依赖稳定性的企业环境中历久弥新,始终保持活力。
谈及 Java 在被甲骨文收购后的发展,Gosling 给出了一个“B+”的评价。他坦言:“我当时真的很担心他们会乱来。毕竟,甲骨文的过往战绩几乎可以说是‘巧取豪夺’的代名词。但说实话,他们最后竟然还算克制,真的出乎我意料。”
尽管他认为 Java 团队理应获得更多资源支持,但也承认甲骨文在整体上并未过多干预研发节奏,这已大大超出了他最初的悲观预期。
30 多年来,Java 已从一门新兴语言发展成为企业赖以生存的语言。诚然,它可能不具备当今 AI 应用所需的那些耀眼功能,但它仍然是当今许多现代软件开发的基础。蓬勃发展的生态系统和庞大的爱好者社区意味着,在步入第四个十年之际,Java 依然具有举足轻重的地位。
参考链接:
https://www.theregister.com/2025/05/23/30_years_ago_java_arrived/
https://thenewstack.io/java-at-30-the-genius-behind-the-code-that-changed-tech/
更多阅读:
InfoQ 独家专访 Java 之父:我可太想简化一下 Java 了:https://www.infoq.cn/article/giiczmxprt8q0adevcrw
评论