正文
他的早期编程经历涵盖 IBM 大型机上 PL/1 和 Fortran 语言、PDP-8 汇编语言和 CDC 6400 代码。一贯低调的他漫不经心地提到,自己“曾在暑假从事过编写 COBOL 编译器的工作”——事实上,这对大多数经验丰富的程序员来说都仍是一项艰巨的任务。
Gosling 也毫不惮于直截了当地表达自己对于学术界的看法。他将卡耐基梅隆大学享有盛誉的计算机科学博士项目描述为“实际上就是一个把研究生当作廉价劳动力的研究机构”。一贯务实的他曾在学习期间抽出时间在湾区一家初创公司工作,之后又回到匹兹堡完成了学业。
从卡耐基梅隆大学毕业后,他的第一份工作是在 IBM 研究院。多年后他对 IBM 的论文依然尖锐,宣称蓝色巨人的行为类似于“坚持要搬起石头砸自己的脚”。这也是对他冷幽默下深刻见解的最好诠释。早期工作经历影响了他在 Sun Microsystems 的工作方式,也真正让他的职业生涯蓬勃发展、一路起飞。
诞生于三十年前的 Java 无疑是 Gosling 最具标志性的成就。在被问及对创造出如此具有影响力的成果有何感受时,他仍然以谦逊的视角予以回应:“我时不时会在街上被人拦住,问「您是 James Gosling 吗?谢谢你让我有了工作。我写 Java 代码有 20 年了,这是份很棒的职业。」这样的情景总是让我心满意足。”
回顾 Java 的演变历程,Gosling 提到了 lambda 表达式(JDK 8 中的新增设计)等功能特性,而且希望这些成果能够早点出现。但他也解释了自己怎样以谨慎的态度设计编程语言:“我不希望添加任何不合适的东西。”泛型和 lambda 表达式等功能特性的挑战在于,如何为其确定最佳实现方式——“前 90% 总是容易理解,但最后 10% 的收尾工作则非常困难。”
谈到甲骨文在收购 Sun 之后如何管理 Java 项目时,Gosling 同样给出了审慎的评价:“他们的表现比预期中要好,但也必须得承认,我本就没抱太高的期待。”他认为社区才是推动 Java 持续发展和创新的绝对支柱。
Gosling 还提到,如今的 Java 已经与云环境高度契合,并强调“过去三十年间的一系列变化,使得 Java 在云环境中变得非常非常稳定。”他强调了 Java 在多核处理器应用、内存管理、特别是垃圾收集方面的改进,并认为最新版本的垃圾收集机制“拥有现象级的实际表现”。
在 2010 年甲骨文收购 Sun 之后,Gosling 短暂休息了一段时间,之后加入了谷歌。在搜索巨头效力“整整六个月”之后,他又加入 Liquid Robotics,负责自主海洋机器人的控制系统开发工作。这份工作既有技术挑战,也让他获得了施展才华的独特空间:“想做好这方面开发,就必须熟悉浮潜。而且我们工作的重要组成部分,就是在夏威夷待上一个礼拜甚至一整个月。”
Liquid Robotics 的工作涉及环境监测,包括研究北极和南极地区的温度变化。然而 Gosling 也承认,“研究这方面问题的项目根本就拿不到任何资金”,因此风险投资公司一直不支持大家在这方面“浪费金钱”。随着资方要求公司向国防应用领域转型,Gosling 对这样的应用思路感到不安,并最终选择离开。
Gosling 接下来加入了亚马逊云科技,在那里参与了 Greengrass 项目和其他开发工具的创作,直到去年正式退休。在整个职业生涯中,Gosling 不仅始终聚焦于技术,也没有忘记牢牢把握自己的道德判断。
关于开源事业的发展,Gosling 观察到“很多人已经找到了让开源成果为自己所用的方法”,而不同的应用模式也在不同环境下应运而生。在 Sun,开源“既关乎协作,也与开发者关系和市场营销密不可分”,由此建立起的自下而上的应用方式,与自上而下的传统企业应用思路截然不同。
在被问及“低代码和无代码”趋势时,Gosling 结合自己丰富的从业背景提出了质疑:“几十年来,人们一直在聊低代码和无代码,而且基本思路早在 COBOL 时代就已经喊过。”在他看来,这种方法往往只在特定领域表现出色,但在其他普适性的复杂问题上却举步维艰。