一直被唱衰的 Java,曾令比爾·蓋茨“焦慮難眠”
時光一晃又是一年,盡管近年來 Java 一直被唱衰,但這絲毫也不妨礙它成為 2021 年十大技術熱詞之一。Java 誕生至今已經(jīng) 26 年了,相較于部分起步較慢的編程語言,Java 自問世起,其“一次編寫,隨處運行”的特點便很快受到了 IBM、蘋果、甲骨文等科技巨頭的歡迎。
在 Java 被“炒作”的巔峰期,它甚至被譽為“一項會極大影響微軟未來的技術”——利用 Java,可創(chuàng)建能在所有操作系統(tǒng)上運行的桌面應用程序,即開發(fā)人員不必再為了生存只能專注編寫 Windows 程序。
在此形勢下,1996 年 9 月的某一天,微軟瀏覽器部門主管向時任微軟 CEO 的比爾·蓋茨詳細解釋了 Java 給微軟帶來的威脅,并懇切提醒道:“Java 絕不僅僅是一種語言,它是 COM 的替代者(COM 即 Componet Object Model,在 Windows 中大量使用的編程模型)!”
從此前公布的資料來看,比爾·蓋茨雖然第二天就看似冷靜地回復稱應先了解 Java 對微軟操作系統(tǒng)的影響何在,但本周四 @TechEmails 在推特上公布了當時的更多細節(jié):1996 年 9 月 30 日晚上 9:36,比爾·蓋茨給當時身為微軟 CTO 的 Nathan Myhrvold 發(fā)了一個郵件,主題為“Java 運行時成為操作系統(tǒng)”,并表示“我真的為此失眠了”。(注:Nathan Myhrvold 曾在微軟工作 14 年,于 2000 年辭職,后與 Edward Jung 共同創(chuàng)辦了美國知識風險公司 Intellectual Ventures,擔任 CEO 一職。)
1 “這個問題并沒有嚴重到令人失眠”
從郵件中可以看出,不論是之前瀏覽器部門主管的懇切提醒,還是當時 Java 盛行下開發(fā)者的熱情,都令比爾·蓋茨感到無比焦慮:
“我很擔心 Java/Javabean 和其運行時到底會發(fā)展成怎樣、會讓多少人興奮。我真的在這個問題上失眠了,因為隨著轉向更多基于服務器的應用程序,似乎會讓人們易于使用我們競爭對手的操作系統(tǒng)。
我很想聽聽你對此的看法。你認為我們有什么防御措施來應對這種情況?我實在沒有想出什么能解決這種情況的方法,這削弱了我的創(chuàng)造力?!?/p>
第二天,即 10 月 1 號,Nathan Myhrvold 就回復了一封超長郵件,開頭明確表達了他的看法:“我承認這是一個進退兩難的問題,但它還沒有嚴重到會讓你失眠的程度?!碑敃r Java 尚在起步階段,而 Nathan Myhrvold 認為,從“商業(yè)”角度看來,人們對其有些“過度炒作”了。
誠然,Java 的出現(xiàn)為人們提供了許多新鮮感:可以用它做出很棒的網(wǎng)頁、程序員有新東西可以學、推動相關書籍的售賣、給軟件工具公司提供一種發(fā)布新開發(fā)工具的方式…在這之中,肯定會有人獲得成功,從而吸引越來越多人加入 Java 生態(tài),跨平臺的訴求會愈發(fā)高漲,最終對微軟造成極大的壓力與困境——但 Nathan Myhrvold 指出:“新技術的確會殺死舊業(yè)務,可這不會發(fā)生得那么快,在此之前我們還有很多機會來挽回局面?!?/p>
因此,Nathan Myhrvold 在郵件中向比爾·蓋茨寬慰道:“在這場戰(zhàn)斗中,作為被挑戰(zhàn)方自然會有不舒服的感覺,但我們絕不能驚慌,因為焦慮情緒對實際業(yè)務和收入問題無甚裨益,我們不能讓感性問題過多地影響我們的思考?!?/p>
2 1996 年已預言“虛擬世界”的潛力
不過 Nathan Myhrvold 補充道:“這并不是說 Java 不重要,相反 Java 是非常重要的,只是我認為你把重點錯放在了還未成型的威脅上。我們正面臨失去一個新市場的危險,而這個市場將快速增長?!彼耘c其將時間浪費在無謂的情緒上,立刻做出改變并行動起來是最好的解決方法。
結合當時局勢及微軟自身情況,Nathan Myhrvold 列出了以下三點必做事項。
1、用微軟自己的方式來顯著改善網(wǎng)頁,包括繼續(xù)“擁抱和擴展”以及創(chuàng)造一些激進的新方法來改進網(wǎng)頁或構建 Web 應用程序。
其中,“擁抱和擴展”指的是新 Java 工具(如 J++,微軟實現(xiàn) Java 的開發(fā)套件和運行時環(huán)境的統(tǒng)稱)層面,但 Nathan Myhrvold 認為將雞蛋完全放在這個“籃子”里也并非明智之舉,這可能會引導微軟放棄其真正的優(yōu)勢,因此在這過程中,微軟需想出其他新方法來提升自我。
2、開拓其他途徑來參與新市場,想出一些能振興互聯(lián)網(wǎng)的創(chuàng)意。
這個“創(chuàng)意”并不一定需要什么復雜技術,更多是依靠創(chuàng)造力尋求新機遇的一種方式。在郵件中,Nathan Myhrvold 舉了兩個例子,分別是“虛擬世界”和“做服務器應用或網(wǎng)絡事務的新方法”——在此不得不感慨 Nathan Myhrvold 極具前瞻性的眼光:1996 年認為會振興互聯(lián)網(wǎng)的“虛擬世界”正預言了當前“元宇宙”、“AR/VR”爆火的趨勢。
3、繼續(xù)投資微軟的核心業(yè)務資產(chǎn),尤其是 Windows 運行時(WinRT)。
Nathan Myhrvold 對這一點的解釋為:假設 Java 真的成功且完全跨平臺,那人們?yōu)槭裁匆x擇 Windows 而不是其他系統(tǒng)呢?這必將取決于系統(tǒng)的其他方面,即非 Web 維度對用戶選擇系統(tǒng)也十分重要,這也是微軟的優(yōu)勢所在,需加大投入保持領先地位,不要因為 Java 可能帶來的沖擊就自亂陣腳。
在這點上,Nathan Myhrvold 同樣給出了一些具體措施:
必須成為多媒體領域的領導者。如比 SGI 和 Mac 更好的圖形/視頻/音頻最佳創(chuàng)作平臺、比 Ultra64 和 Playstation 更好的最佳游戲平臺等。
進一步保證產(chǎn)品易用性。例如須確保 PC 即時啟動、具有自我配置、自我診斷等功能。這注定會帶來許多額外的工作,但同時也會收獲意外的獎勵。
利用 Web 給舊應用提供新功能。如“我的工作空間”這一概念,可以完全抽象網(wǎng)絡上的存儲,這對用戶來說將是一個巨大的轉變——因為存儲抽象是當時 PC 中最難實現(xiàn)的東西之一。Nathan Myhrvold 指出:“如果我們基于 STORAGE(即文件系統(tǒng) API)執(zhí)行此操作,則可以縮短向基于其他 API 或協(xié)議分發(fā)的長期遷移過程?!?/p>
在郵件最后,提出以上長篇建議的 Nathan Myhrvold 調侃道:“我也不知道這樣是讓你少擔心了還是更擔心了?!钡冀K認為,即使 Java 盛行可能會給微軟帶來嚴重影響,但“我們遠比想象中有更多的選擇,且有實力創(chuàng)造一些任何人都難以匹敵的終端用戶價值”。
此后,微軟與 Java 開發(fā)方 Sun 公司可謂是“糾纏多年”:一會 Sun 公司以“歧視使用 Java 軟件”為由起訴微軟,一會微軟又在 Windows XP 中故意不安裝 Java 軟件。但到最后,微軟還是逃不過“真香定理”:2018 年微軟旗下 IDE Visual Studio 開始支持 Java 開發(fā);2019 年微軟宣布加入 OpenJDK,擁抱 Java 技術。
3 網(wǎng)友:“人們至今還在為 Java 失眠呢”
在 @TechEmails 公布以上比爾·蓋茨的提問及 Nathan Myhrvold 的回復截圖后,除了對當年微軟應對 Java 的細節(jié)有更深刻了解外,許多網(wǎng)友也對 Nathan Myhrvold 極強的技術洞察力感到欽佩:
“哇,所以 Nathan 在1996 年就預測了 metaverse(“虛擬世界”)和云(“存儲抽象”)。”
“這是一次很棒的交流。你可以看到蓋茨對獲勝的‘不健康’看法,而 Nathan 則旨在將蓋茨重定向到產(chǎn)品價值層面,同時他對技術的發(fā)展也很有洞察力。”
也有人感慨非常“理解”比爾·蓋茨的感受:“放心,人們至今還在為 Java 失眠呢?!?/p>
參考鏈接:https://twitter.com/techemails/status/1478785899009875968?s=21
本文來自微信公眾號“CSDN”(ID:CSDNnews),整理:鄭麗媛,36氪經(jīng)授權發(fā)布。