跳到正文
InfoQ · 微信公众号·· 12 小时前AI 评分51

Java 之父 James Gosling 谈 AI 泡沫、工程师伦理与大语言模型编程

为什么 Java 之父 James Gosling 认为工程师是艺术家

AI 导读

InfoQ 刊发对 Java 之父 James Gosling 的采访,他认为一场巨大调整即将到来,OpenAI 和 Anthropic 的做法从数学上说不通,预计两家会失败,风险投资领域这一轮失败率会高于 95%。

正文

InfoQ 2026-10-24 10:00 北京

最近,我们采访了 Gosling,一起聊了聊Java,并听取这位传奇程序员对当前软件工程生态系统的看法。Gosling 解释了为新技术打基础的感受、伦理在软件开发中应扮演的角色,以及他如何看待编程这门手艺。

作者 | Kiera Fields

译者 | 平川

策划 | Tina

本文最初发布于 THE STACK。

James Gosling 于 1984 年加入 Sun Microsystems,后来作为 Java 编程语言的最初开发者,引领了软件开发的一次重大变革。40 多年后的今天,随着新技术的出现,软件开发人员正在经历新一轮翻天覆地的变化。

1995 年 Java 发布时,它通过 Java 虚拟机实现了软件与硬件的解耦。代码编译一次便可以在任何操作系统或芯片架构上运行。

Gosling 经常将 Java 称为“蓝领”编程语言,因为它面向的是普通开发者,而非研究人员。1997 年,他 写道:“对许多不同的程序员来说,Java 都给人非常熟悉的感觉,因为我非常倾向于选择那些被大量使用过的东西,而不是那些听起来不错的想法。”

迄今为止,Java 仍然是使用最广泛的编程语言之一。不过,虽然这门语言本身大体保持稳定,但围绕它的行业却经历了难以形容的变化,尤其是在过去的一年里。

最近,我们采访了 Gosling,一起聊了聊 Java,并听取这位传奇程序员对当前软件工程生态系统的看法。Gosling 解释了为新技术打基础的感受、伦理在软件开发中应该扮演的角色,以及他如何看待编程这门手艺。

他指出,AI 在社区中引发了无数的疯狂现象,以及为什么第零条规则必须是“不要伤害你的客户”。

以下是完整的对话,出于篇幅和清晰度的考虑,内容经过编辑。

Kiera:Java 让程序员编写代码变得更加容易。相比 C 或更早的语言,它甚至被称为蓝领编程语言。说服其他工程师或管理者信任 Java 困难吗?

Gosling:从根本上说,这是由社区驱动的。

人们会有使用体验,然后他们会互相交流。记得在早期,我在伦敦与某家银行的一些软件开发人员交谈。我问他们:“作为一家大型银行,你们如此大量地使用 Java 是在做什么?”因为银行通常出了名的保守。他给我讲了个故事。

他们的交易结算系统中有一个程序,以某种方式完成所有交易的最终确认。这个程序是用 C 语言编写的。但它只能运行 8 到 10 个小时,因为有内存泄漏。尽管付出了巨大的努力,他们还是没有找到是哪里的问题。但这很容易处理,只要每隔 8 到 10 小时把它重启一次就行了。

然后 Java 出现了。在那工作的几个人决定尝试用 Java 重写这个交易结算系统的一个版本。显然,那个程序并不是特别复杂,是那种两名软件开发人员一周就能搞定的,所以他们构建了这个东西,运行得相当不错。

对于这个特定的交易系统,银行有一套非常详尽的测试。他们运行了所有测试,然后去找老板说:“哪天我们重启生产交易系统时,能不能运行这个?它通过了所有验收测试。”他们的经理说:“好,等它崩溃了,我们就换回原来那个。”

于是他们就那样做了,它运行正常,没有崩溃,继续运行了一段时间,还是没有崩溃。这就不一样了。既然这个效果这么好,他们就决定再更多地尝试下。从那里开始,案例越来越多。几个工程师在后台按要求做了一些尝试,然后慢慢就传开了。

我一直相信自下而上的营销。从某种意义上说,这就是开源的本质,就是自下而上的营销。让随便什么人尝试一下。它变成了一个对每个人都有利的飞轮效应。

Kiera:如果自上而下的命令要求使用特定的技术或工具,这对于它在企业和工程社区中的传播会有什么影响?

Gosling:对于自上而下的销售,我一贯的感受是,那真的很糟糕。有太多这样的情况:CEO 或 CIO 面临某个大型软件公司的施压,然后就把这个东西强加给了下面的工程师。工程师们会想:“搞什么鬼?”有些公司采用自上而下的销售渠道。但如果忽视了工程现实,工程社区没有参与或被边缘化时,那就会行不通。

我见过一些滑稽的情况,银行购买了 Oracle 的全包许可证,然后发现他们大多数的项目并没有使用 Oracle,而是使用了 MySQL,因为后者用起来容易很多。他们只是在自欺欺人。

Kiera:我觉得 AI 是从工程师群体自下而上涌现的,但同时也有自上而下的推动。你有没有看到 Java 的普及和新兴的 AI 工具之间有任何的相似之处?

Gosling:过去这几年,AI 的发展方式恰恰证明了自上而下的命令往往效果有多差。因为科技行业有太多公司下达过这样的命令:“你们必须在所有事情上都使用 AI。”

但这根本说不通。AI 仍然相当新,尤其是在大约三年前刚开始推广的时候,有很多科学实验亟待进行。但有太多资深人士却假设 AI 公司的炒作是真实的。比如“解雇所有客服人员,因为我们可以用 AI 替代”这种说法。

而实际情况是,这真的很复杂,有些事情 AI 能做,有些则不能。在基础科学研究尚未完成、无法判断哪些工程选择合理之前就贸然推进,简直是疯了。

围绕 AI 发生的疯狂的事情如此之多,可以说蔚为壮观。

Kiera:作为经历过互联网泡沫的人,你认为我们现在处于一个泡沫可能会破裂的繁荣周期吗?还是说情况有所不同?

Gosling:我认为一场巨大的调整即将到来。有一段时间,我担心它会产生相当广泛的影响。现在,我觉得不会那么广泛了。在 互联网时代,失败的模式很有意思,因为很多人成功了,一帆风顺地度过了。但也有很多公司的商业模式很愚蠢,比如 drugs.com。

他们一直说的是,他们的购买力让他们能够通过谈判获得更好的价格,但实际情况是,他们是在用投资者的钱补贴药品价格。所以就是为了让顾客满意,而以让自己亏损的价格来卖药。但钱花完了,他们也就完了。数学是相当残酷的,如果行不通,那就是行不通。

人们制定的商业计划对消费者很有吸引力,但在数学上根本行不通。我认为,OpenAI 和 Anthropic 尤其处于这样一种境地:他们的做法从数学上来说行不通,把巨额资金挥霍视为成功的衡量标准。我很难相信,建造这么多极其昂贵的数据中心有什么意义。

而且,现在这种愚蠢的循环融资还在继续。我很确定,他们两家会失败。还有无数的小型 AI 公司,他们是 AI 的使用者而非生产者。在风险投资领域,至少 95% 的公司会失败——这很正常,但我预计这一轮会更高。

有几家大公司在支出上很不负责任,比如 Oracle 似乎真的过度杠杆化了。如果他们倒闭了,我不会惊讶,但我也不会掉一滴眼泪。

Kiera:如果你要押注哪些公司能在调整中存活下来,有没有哪家特别突出?

Gosling:我对微软、谷歌或亚马逊没有任何担忧。大型科技公司感觉最稳固,社交媒体公司……比如 X 简直就是史诗级的垃圾场。Facebook 也是相当史诗级的垃圾场。一些较小的社交媒体公司,比如 Substack,很出色。但谁知道呢。

Kiera:在最近的 Java 纪录片中,Java 开发团队成员 Tim Lindenholm 描述了这样一个时刻:当时这门语言刚迎来爆发式增长时,为了满足需求,你们不得不接入未备案商用 T3 线路。他承认这是违法的,如果被人发现你们会被解雇。对于在尖端技术工作中为这类选择辩护,你有什么看法?

Gosling:Sun Microsystems 是一家相当不寻常的公司。对于“打擦边球的违规操作”,它的企业文化里有一种强烈的认可。一些管理者的优点之一是,他们知道自己实际上并不了解正在发生的事情:如果工程师们开始做一些出格的事情,他们会顺其自然。

工程部门会做的奇怪事情实在太多了。总有一小群人会做这样或那样的事情。

我认为,Sun 的优点之一就是对个人及其工作的控制非常松散。所以,Tim 所说的当年把资源放到互联网上那样的“违规操作”,在其他公司眼里或许属于违规的,但在 Sun 内部会被视作常规操作。在 Sun,这类“打擦边球的违规操作”数量不少,这几乎是当时的团队文化——大家只想着先把正确的事落地。

Kiera:你在开发 Java 的时候,有没有考虑过什么伦理问题?

Gosling:从伦理角度出发,最优先考虑的事情绝对是安全。Sun 非常不寻常,从公司成立第一天起,互联网技术就是我们构建产品的核心。

Sun 公司创立之初,所有人都认为给电脑加装网络适配器是个愚蠢的主意。我们遇到过各种各样的问题,也都深刻体会到了网络的价值,但同时也深知其中的风险所在。

1985 年愚人节那天,我编写了一个蠕虫病毒并入侵了 Sun 公司的内部网络,把很多人气得够呛。它没有造成任何实际的损害,但我过了好几年才承认是自己干的。

作为一家工程技术文化浓厚的公司,我们对安全问题和可靠性问题高度敏感。当你的产品被用于主要的工业领域和银行系统,一分钟的故障可能造成数百万美元的损失,或者可能实际对人造成伤害时,你对可靠性的看法就会截然不同。因此,在我们的道德准则中,安全和可靠性居于首位。而对于像微软这样主营业务是视频游戏和电子表格的公司来说,在 90 年代这些并不算是那么重大的问题。

总体而言,管理者讨厌安全,因为做好安全的成本非常高昂,而且它不会在产品功能列表上产生那种引人注目的效果。

这就好比说:“这是一款烤面包机:能烤百吉饼,能烤这烤那,你甚至可以用它做燕麦粥”,然后在最底下加一行小字:“顺便说一下,它不会要你的命。”人们会反问:“不会要命是什么意思?”

与从事消费电器的工程师交流时你会发现,如果你查看他们设计的任何设备的需求清单,总有一条编号为零的需求:“不要伤害你的客户。”

对于烤面包机这样的设备,确实存在真正的风险。但他们绝不会在营销材料中写上“我们承诺不会伤害你”,而在计算机行业中,安全在很多方面也是如此——大家都默认你会这么做。

Kiera:而且,大多数人不喜欢被提醒软件存在风险。

Gosling:是的,工程行业令人遗憾的一点在于,对于大多数工程师来说,一个关键目标就是让自己隐形。工程师大部分时间都在确保事情顺利进行、不出差错。

工程师的绝对目标之一,就是不让自己的项目出现在新闻中。

Kiera:说到工程行业,你认为编程行为是更像水管工那样的手艺,还是更像木工那样的手艺——既具有创造性,又依赖直觉?

Gosling:我想说两者皆是。我认识一些水管工,我会称他们为艺术家。当一个水管工的工作做得非常出色时,那是美的。

或者当一个优秀的电工搭建系统时,那也是美的。当然,它可能被墙遮住,但依然是美的。而那些普通的水管工,活也能干,但你走进这些地方不会感叹“哇,这活干得真漂亮。”

就软件工程而言,代码之美在于:它有多清晰?有多容易理解?这往往关系到它的可靠性如何?或者可维护性如何?

对于那些设计要运行多年、甚至数十年的系统,比如伦敦地铁的控制系统,会有一队工程师搭建它,多年来随着情况变化不断有工程师修改它、修复问题。当代码优美时,往往意味着下一批接手的人能轻松上手。

我认为所有工程师都是艺术家,只是方式略有不同。

Kiera:我想人们可能会认为你是一位成功的艺术家,因为你创造了一件非常著名的艺术品:Java 语言。你现在是否在使用大语言模型来改变你的编程方式?

Gosling:我一直在用大语言模型辅助编程,但从未对其生成的代码满意过。我基本上会全部重写,因为那看起来太糟糕了。

大语言模型编程助手真正给我带来的价值在于,当你试图在一个从未涉足的领域编写软件时。有一种误解是编程语言很难学。事实并非如此;编程语言很容易。难学的是所有的接口:如何建立网络连接?如何操作数据库?

我觉得编程助手最有价值的地方在于,它能提供编程环境和 API 的地图。和朋友聊天时,他们会说编程助手挺好用的,只要你不去看代码。因为如果看了代码,你会尖叫。

这让我思考,这些由大语言模型编写的软件将如何演进。任何真正的软件,大型银行的大型代码库中都有数百万甚至数十亿行代码。在联邦快递这样的公司,你可能有五十亿行代码,怎么维护?如果你把这五十亿行代码丢给一个大语言模型助手,它肯定会崩溃。

我见过有人用它做一些相当简单的东西,效果还不错,但这仍然是个科学实验。

我觉得,让人欣喜的一点是,长久以来软件开发工具都没得到多少重视。但如今,它们却突然成了行业里的热门赛道,就像是说,大家现在的共识是:“行,给你的开发者配齐趁手的工具,这事儿就相当靠谱了。”

原文链接:

https://www.thestack.technology/james-gosling-software-engineers-artists-ai/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

END

转发,点赞,在看,安排一下?图片

今日好文推荐

全网恐慌48小时,拯救互联网的却是一个“无名之辈”

全球 70% 网站一夜告急,日本首相催打补丁!详解PHP暴雷事件始末

AI把整个软件生态打成筛子,全栈开发者的至暗时刻

PostgreSQL 19 发不出来?AI“找茬”太快,人类修Bug的速度跟不上了

跳转微信打开

来源:InfoQ · 微信公众号 · mp.weixin.qq.com