刚过完自己 69 岁生日的两个月后,Java 之父 James Gosling(詹姆斯·高斯林)在领英上官宣了自己退休的消息。他表示,“我终于退休了。在做了这么多年软件工程师之后,是时候让我好好玩玩了。尽管受到了 COVID-19 和工业环境的影响,但在亚马逊的过去 7 年还是非常美好的。”
让我们来回顾下高斯林的一生
学生期间开发出编辑器、窗口系统
1955 年 5 月 19 日出生于加拿大的高斯林,从小就喜欢技术,爱捣鼓一些电子产品。
12 岁时,高斯林已能设计电子游戏机,帮邻居修理收割机。
14 岁时,中学组织到附近大学参观,也就是在这个时候,高斯林首次接触到了编程,并萌发了兴趣。
据悉,一年后,他曾参观的卡尔加里大学招他当了一名临时编程员(兼职),他也成功编写了一些 ISIS II 卫星遥测的地面分析的软件。在双向成就之下,高斯林也进入卡尔加里大学并在 1977 年获得了计算机科学学士学位。
1983 年,高斯林获得了美国卡内基梅隆大学计算机科学博士学位,博士论文的题目是:“The Algebraic Manipulation of Constraints”。攻读博士学位期间,高斯林还开发了一款 Gosling Emacs 编辑器,这也是第一个在 Unix 上运行的类似 Emacs 的编辑器,它是用 C 语言编写的,并使用 Mocklisp 作为扩展语言,这是一种具有 Lisp 类似语法的语言。
除此之外,在卡内基梅隆大学(CMU)期间,他的一项重要工作是将 UCSD Pascal p-code 从 PERQ 工作站移植到 DEC VAX 计算机系统上,为此他编写了一个 VAX 仿真器。在后来参与 Sun Java 项目时,高斯林将这段早期工作作为灵感,提出了 Java 虚拟机的概念,这种虚拟机允许代码一次编写即可在多个平台上运行,使程序员始终针对同一个虚拟机编写代码。这当然都是后面发生的事情了。
回到当时,高斯林正式毕业之后,便加入 IBM 工作,设计并实现了 Andrew 窗口系统(第一个分布式窗口系统)和 Andrew 用户界面工具包(第一个基于文档的面向对象工具包)。此后,也为 IBM 的 PC/RT 产品提供咨询。
不过,有消息称,这一阶段的高斯林所做的工作并未得到公司领导层的重视,对于这段经历,高斯林也在他的领英上还有些遗憾地写道,“要是 IBM 听了我的意见就好了!!”
所以毕业在 IBM 干了不到两年后,高斯林跳槽到了虽说是初创公司,但已经成立十年的 Sun Microsystems,开启了 Java 的辉煌时代。
研发出 Java 而一战成名的 James Gosling
属于 Java 的故事始于高斯林加入 Sun 公司的 5 个月后即 1991 年 6 月展开。
当时 Sun Microsystems 的一小队工程师在高斯林的带领下启动了一个名为 Green(绿色计划)的项目。这个项目的目标是开发一种用于消费电子设备(如智能电视、机顶盒和手持控制器)的编程语言。这些设备需要一种简单、强大、可移植且安全的语言,因为它们的内存和处理能力有限,并且必须通过不同的网络相互通信。
1993 年,Green 团队向时代华纳(Time Warner,当时最大的媒体与娱乐公司)展示了他们的技术,时代华纳对将其用于互动电视很感兴趣。然而,有线电视行业尚未准备好接受如此先进的系统,最终交易未能达成。于是,团队将注意力转向了 Web 时代,认为这为他们的语言提供了更有前景的机会。
团队意识到,Oak 可以用于创建动态和互动的网页,这些网页可以在支持 JVM 的任何浏览器上运行。他们创建了一个名为 WebRunner 的原型浏览器,后来更名为 HotJava,它可以执行嵌入在 HTML 页面中的 Oak applet(小程序)。由于已经有另一种语言名为 Oak,他们决定将 Oak 更名为 Java。
他表示,“实际上,有很多原因促使我离开 Oracle。例如,我的薪资报价。在收到他们的报价后,我试图计算一下我的 W-2 表上(一年度里,你从雇主那里获得的收入、从你的薪水中预扣的税款、提供的福利以及当年的其他信息的重要税务表格)的收入,结果发现备受打击。他们复制了我在 Sun 的基本工资。”
高斯林透露,当时在 Sun 公司时,任何副总裁及以上的高管都会根据公司的业绩获得相当于加薪或奖金的待遇。“在业绩平平的一年,你的收入还可以,但在业绩好的一年,你的收入会非常高。”
“为了获得在 Oracle 工作的特权,他们希望我大幅减薪”,高斯林说。
不过,这本身并不是一个决定性的因素。实际上,在这种约束下,高斯林还是继续在这家数据库巨头工作。然而,根据高斯林的说法,另一件令人烦恼的事情是,Oracle 没有高级工程师的概念,或者至少没有一个相当于高斯林在 Sun 的职级,在 Sun 公司,他是研究员。“在我的工作报价中,他们把我的职级降得相当低,”高斯林曾在采访中说道。
但即使这也不是他决定离开公司的最终因素。或许压垮骆驼的最后一根稻草是 Oracle 试图控制他的行为。毕竟在收购 Sun 公司之后,Oracle 拥有 Sun 和 Java,所以也拥有了其创始人及其知识产权,因此 Oracle 可以决定高斯林或其他人关于 Java 的言论。