

5 月 23 日是 Java 程式語言誕生三十週年紀念日。Java 憑藉著“一次編寫、隨處執行”的理念徹底改變了軟體開發領域。
這三十年裡,Java 經受住了技術浪潮、競爭語言和正規化更替的考驗。從 Applet 和 Servlet,到微服務和雲原生架構,Java 一路演進,同時又始終保持熟悉的面貌。它為開源軟體進入企業級市場鋪平了道路。
儘管已近三十年曆史,並且面對 2025 年眾多新興語言的挑戰,Java 依然是全球最受歡迎的程式語言之一。回望 Java 的起點,也離不開它的締造者——James Gosling。從一位聰慧的加拿大少年,到成為全球計算領域的先驅人物,他的人生軌跡為整個技術行業的發展提供了寶貴啟示。而他對語言和技術的發展,以及對當前 AI 浪潮的深刻見解,都持續影響著我們對程式設計未來的思考。
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 在多核處理器應用、記憶體管理、特別是垃圾收集方面的改進,並認為最新版本的垃圾收集機制“擁有現象級的實際表現”。
在 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 的最新進展時,Gosling 分享了一系列有價值的增強特性:“Java 在型別推斷方面的許多改進都很棒,陣列宣告的演進也非常順利。我認為這方面還有進一步提升的空間。”
但他同時強調,Java 近期最令人印象深刻的進步還是體現在其執行時環境和庫方面。他解釋道,“如今 JVM 的程式碼質量非常高,現代 JVM 版本中的垃圾收集機制令人驚歎,線性效能也極其出色。”
他特別讚揚了記憶體管理與效能可預測性方面的改進:“長期以來,Java 的儲存管理一直比 malloc 和 C 更加高效,如今更是達到了前所未有的水平。”曾經的垃圾收集機制需要暫停“10 到 20 秒”,而如今在精心設計下已經可以縮短到幾毫秒。“哪怕沒那麼精心,整個過程也完全可以在亞秒級別完成。”JVM 現在還能以相當驚豔的效率處理“一切大到離譜的記憶體空間”。
在被問及應該使用哪種程式語言來重建美國航空管理局(FAA)的空中交通管制系統時,Gosling 首先否定了這個問題的預設前提。“這就像建造一棟房子,我們最開始要考慮的肯定不是該買什麼品牌的錘子。”
相反,他主張先吃透問題領域——包括通訊系統、國際法規、飛機跟蹤 / 防撞以及飛行路徑規劃等需求,之後再為不同元件選擇合適的技術。他建議稱,“一定得根據打算實現的目標特性來做選擇”,但同時也承認 Java 堅實的可靠性在關鍵大型系統中確實表現較好。
儘管 AI 技術取得了長足進步,但 Gosling 堅信程式設計仍是一項必備技能。“如果現在我有個小孩,那我絕對會先教他們程式設計”,他解釋稱“哪怕 AI 最終接管了一切,人們也必須有能力理解它們的系統是如何運作的。”
他駁斥了扎克伯格等一眾科技高管關於 AI 技術將減少軟體工程師需求的說法,稱其“完全是自私自利的胡說八道”。在他看來,這些言論只是一種定位性的策略,同時也是在給他們瘋狂榨取員工更多產出做出不負責任的鋪墊和威脅。
當被問及為什麼 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
宣告:本文為 InfoQ 翻譯整理,不代表平臺觀點,未經許可禁止轉載。
6 月 27~28 日的 AICon 北京站將繼續聚焦 AI 技術的前沿突破與產業落地,圍繞 AI Agent 構建、多模態應用、大模型推理效能最佳化、資料智慧實踐、AI 產品創新等熱門議題,深入探討技術與應用融合的最新趨勢。歡迎持續關注,和我們一起探索 AI 應用的無限可能!
