九游娱乐 - Java之父宣布退休!69 岁大神:干了这么多年软件工程师是时候享
刚过完自己 69 岁生日的两个月后,Java 之父 James Gosling(詹姆斯·高斯林)在领英上官宣了自己退休的消息。他表示,“我终于退休了。在做了这么多年软件工程师之后,是时候让我好好玩玩了。尽管受到了 COVID-19 和工业环境的影响,但在亚马逊的过去 7 年还是非常美好的。
然而,从他的言辞中,我们不禁想起了 2019 年 10 月 Python 之父 Guido van Rossum 信誓旦旦的说要退休,结果仅时隔一年之后称而加入了微软团队。如今高斯林在退休宣言的最后也留下一句,「我有一长串的副业要做,会很有趣的」,他能否真正做到「退休成功」,也给大家留下了悬念。
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 的故事始于高斯林加入 Sun 公司的 5 个月后即 1991 年 6 月展开。
当时 Sun Microsystems 的一小队工程师在高斯林的带领下启动了一个名为 Green(绿色计划)的项目。这个项目的目标是开发一种用于消费电子设备(如智能电视、机顶盒和手持)的编程语言。这些设备需要一种简单、强大、可移植且安全的语言,因为它们的内存和处理能力有限,并且必须通过不同的网络相互通信。
起初,该团队将该语言命名为 Greentalk,文件扩展名为 .gt。后来,他们将其重新命名为 Oak,以纪念高斯林办公室外的一棵橡树。Oak 受到了其他几种语言的影响,例如 C、C++、Smalltalk、Lisp 和 Ada。
然而,Oak 并非为 Web 设计的,当时 Web 正成为一种分布式计算和信息共享的新平台。
1993 年,Green 团队向时代华纳(Time Warner,当时最大的媒体与娱乐公司)展示了他们的技术,时代华纳对将其用于互动电视很感兴趣。然而,有线电视行业尚未准备好接受如此先进的系统,最终交易未能达成。于是,团队将注意力转向了 Web 时代,认为这为他们的语言提供了更有前景的机会。
团队意识到,Oak 可以用于创建动态和互动的网页,这些网页可以在支持 JVM 的任何浏览器上运行。他们创建了一个名为 WebRunner 的原型浏览器,后来更名为 HotJava,它可以执行嵌入在 HTML 页面中的 Oak applet(小程序)。由于已经有另一种语言名为 Oak,他们决定将 Oak 更名为 Java。
选择 Java 这个名字是因为它简单、独特、有趣,而且让人联想到咖啡,团队在长时间工作中消耗了大量的咖啡。
自 1995 年首次发布以来,Java 经历了许多变化和改进。Sun Microsystems 于 1998 年成立了 Java 社区进程 (JCP),以允许其他公司和组织参与 Java 的开发和标准化。JCP 负责监督 Java 规范的创建和修订,这些规范定义了该语言的语法和语义以及其库和 API(应用程序编程接口)。
如今 Java 历经近 30 年的迭代,成为开发者最常用的编程语言之一。而高斯林作为 Java 编程语言的共同创始人之一,也被公认为“Java 之父”。
不过,和 Java 的发展趋势形成鲜明对比的是,其背后的 Sun 公司从 2007 年开始,因经营不善开始出现收入下滑,管理层甚至在 2008 年初以 10 亿美元的高价收购了 MySQL,企图通过一掷千金来力挽狂澜,然而已无事于补。
2008 年底,IBM 被曝出开始与 Sun 接洽,讨论合并的可能性,但是随即二者之间的谈判陷入僵局。
直至 2009 年 4 月 20 日,Sun 官宣已经和甲骨文(Oracle)达成最终协议,甲骨文将以每股 9.50 美元的现金收购 Sun。扣除 Sun 的现金和债务后,甲骨文的报价为 56 亿美元。
Sun 的股东于 2009 年 7 月 16 日投票批准了该提议,尽管该交易仍需获得监管部门的批准。包括欧盟和美国联邦政府在内的多方势力都担心着 Sun 被收购会引起更大的风暴,就这样拖延了将近一年,最终在 2010 年 1 月 27 日,甲骨文宣布完成收购,Sun 公司就此结束长达 27 年的公司历史。
彼时在收购时,高斯林等核心工程师也随即加入了 Oracle。可是没过多久,2010 年 4 月,高斯林毅然选择从甲骨文公司离职。
他表示,“实际上,有很多原因促使我离开 Oracle。例如,我的薪资报价。在收到他们的报价后,我试图计算一下我的 W-2 表上(一年度里,你从雇主那里获得的收入、从你的薪水中预扣的税款、提供的福利以及当年的其他信息的重要税务表格)的收入,结果发现备受打击。他们复制了我在 Sun 的基本工资。”
高斯林透露,当时在 Sun 公司时,任何副总裁及以上的高管都会根据公司的业绩获得相当于加薪或奖金的待遇。“在业绩平平的一年,你的收入还可以,但在业绩好的一年,你的收入会非常高。”
不过,这本身并不是一个决定性的因素。实际上,在这种约束下,高斯林还是继续在这家数据库巨头工作。然而,根据高斯林的说法,另一件令人烦恼的事情是,Oracle 没有高级工程师的概念,或者至少没有一个相当于高斯林在 Sun 的职级,在 Sun 公司,他是研究员。“在我的工作报价中,他们把我的职级降得相当低,”高斯林曾在采访中说道。
但即使这也不是他决定离开公司的最终因素。或许压垮骆驼的最后一根稻草是 Oracle 试图控制他的行为。毕竟在收购 Sun 公司之后,Oracle 拥有 Sun 和 Java,所以也拥有了其创始人及其知识产权,因此 Oracle 可以决定高斯林或其他人关于 Java 的言论。
“我在 Oracle 几乎没有任何决策权,”高斯林说。“Oracle 是一个极度微观管理的公司。所以我和我的 Java 领域的同事都没有权决定任何事情。我们的所有决策权都消失了。”
最终让高九游娱乐斯林决定彻底放弃这份工作的是,“我的工作似乎就是上台为 Oracle 的 Java 做公开展示。我完全不适合这种工作”。
2011 年 3 月,高斯林加入了 Google,但同年 8 月就离开了。对于这段经历,高斯林也没有太多想谈的,而且不像在其他公司任职时详述自己主要负责哪些事情。针对这段经历,他只在领英上留下了三个词,翻译过来就是——“随时随地脾气暴躁的人”。
此后,高斯林开启了不一样的探索之旅,他转而加盟一家从事海洋机器人研究的创业公司 Liquid Robotics,担任首席软件架构师,这一干就是 5 年。在此期间,他花费了大量时间去编写自主海洋机器人控制软件,甚至“波乘波浪滑翔机潜水,然后调试制导算法。”
2017 年 5 月,已经 62 岁的 Gosling 宣布加盟亚马逊 AWS,继续他的工程师生涯,主要从事物联网项目,发起并推出 AWS Greengrass()这款产品。
回顾过往经历,2015 年,高斯林被授予 IEEE 约翰·冯·诺依曼奖章。2018 年,高斯林因为设计并创造了 Java 语言被收录进计算机历史博物馆荣誉墙。
作为一名软件工程师,我们为你感到骄傲。你对编程世界的贡献将被铭记为编程的黄金时代。你的语言 Java 改变了编程世界。它可能是有史以来世界上使用最广泛的语言。退休快乐
享受退休生活吧,詹姆斯!几年前能亲自见到你是我的荣幸。我第一次接触 Java 是在 1997 年,当时我参加了伯克利计算机科学课程,创建了一个汉诺塔程序。谁知道今天世界仍在使用 Java。我仍然有那个 1.1 SDK。也许有一天我需要在我的 Sparc 20 上运行它。
Java 对我的启发和职业生涯的塑造产生了深远的影响。Java 推出时,我在 Sun 工作真是太棒了 - 从来没有一种编程语言/平台受到如此多的关注!
大模型刷新一切,让我们有着诸多的迷茫,AI 这股热潮究竟会推着我们走向何方?面对时不时一夜变天,焦虑感油然而生,开发者怎么能够更快、更系统地拥抱大模型?《新程序员 007》以「大模型时代,开发者的成长指南」为核心,希望拨开层层迷雾,让开发者定下心地看到及拥抱未来。
读过本书的开发者这样感慨道:“让我惊喜的是,中国还有这种高质量、贴近开发者的杂志,我感到非常激动。最吸引我的是里面有很多人对 AI 的看法和经验和一些采访的内容,这些内容既真实又有价值。”