Java 走過 20+ 年,從 Oak 到億級裝置、450 萬開發者。本文彙整 Sun、IBM、BEA、Borland 等巨頭 CTO、架構師、開源領袖、資深工程師的真實訪談,還原一線視角的技術演進史。
| 大師 | 身份 | 關鍵動機 |
|---|---|---|
| Jim Waldo | Sun Labs 傑出工程師 | 1993 年用 Oak 開發,發現「跨 VM 安全遷移」殺手級特性 |
| Rod Smith | IBM 新興技術副總裁 | 看中 Java 成為產業標準的潛力,決定「搭順風車」而非自建輪子 |
| Ed Cobb | BEA CTO 辦公室副總裁 | 團隊大規模開發需強型別、模組化、工具鏈支援,Java 組合最優 |
| Rob Gingell | Cassatt Corp 執行副總裁/CTO | 網路計算時代需要類 Java 技術,Sun 讓它「突然降臨」 |
| Vlad Patryshev | Borland 前 R&D 工程師 | 1997 海灘度假讀手冊愛上 Java,發誓「選 Java 永不回頭」 |
| 觀點 | 代表人物 | 核心論點 |
|---|---|---|
| Swing 太複雜、不可預測、難學;SWT 較好但 API 老舊 | Bruce Tate | 《Better, Faster, Lighter Java》作者 |
| SWT 綁定原生庫快且一致,但 API 暴露太多底層細節;Swing API 較好但 Bug 多、效能差 | Michael Pilone | 資深工程師 |
| 偏好 SWT,更原生;Swing 只是粗略模擬原生 | Ed Cobb | BEA 架構師 |
| 堅持 Swing + Java Web Start,SWT 跨平台弱、缺乏可靠 MVC | Kyle Gabhart | 獨立顧問/作家 |
共識:**伺服器端才是 Java 正統戰場**,桌面 GUI 從未成主流。
| 陣營 | 核心觀點 | 代表 |
|---|---|---|
| 開源貢獻更大 | JCP 標準化慢、EJB/logging/persistence 曾是災難、簡單問題變難 | Bruce Tate、Laurent Ploix、Michael Pilone |
| JCP 定義標準,開源落地創新 | JCP 提供社群中心、防止分裂、標準化推動產業 | Rod Smith (IBM)、Ed Cobb (BEA)、Rob Gingell |
| 開源敏捷回應漏洞,JCP 跟不上工業步調 | 實際創新多在開源(Apache 系),JCP 追認 | Eric Bruno、Michael Pilone |
| 願望 | 提出者 | 現狀(2024) |
|---|---|---|
| 模組化系統 | Bruce Tate、Ed Cobb、Rod Smith | ✅ Java 9 JPMS (Jigsaw) 交付 |
| 運算符重載 | Jack Herrington、Michael Smialek | ❌ 未納入,Valhalla 專案探索值型別 |
| 屬性/事件語法糖 | Laurent Ploix | ❌ Lombok 填補,Records 部分緩解 |
| 開發者可控記憶體管理 | Raghu Donepudi | ❌ 違背 Java 核心哲學 |
| Jar 版本機制 | Michael Pilone | ✅ JPMS 模組版本、JEP 473 標準化 |
| Code-Behind (JSP 分離) | Kyle Gabhart | ✅ 早已被 Thymeleaf/FreeMarker/前後端分離取代 |
| 日期時間 API 修正 | Rob Gingell | ✅ Java 8 java.time 完全重寫 |
| 類別載入/運行時型別系統改進 | Jim Waldo | 🔄 進行中 |
「任何技術都不會對顛覆它的新技術產生免疫力。」—— Kyle Gabhart
「Java 將繼續作為巨大力量存在,但針對性腳本語言會在特定領域壯大。」—— Doug Tillman
「我們可以開發許多不同語言,保持 ABI 兼容,這就是 Java 長期重要的原因。」—— Rob Gingell
二十年來,Java 從「跨平台小語言」進化為「產業級平台、生態系統、標準制定者」。大師們的分歧與共識,映照出技術選型的本質:**沒有銀彈,只有權衡**。Java 的未來不在於語言語法有多花哨,而在於 **JVM 作為通用運行時的統治力** 能否延續。而這,取決於 Valhalla、Loom、GraalVM 能否兌現承諾。