08.17 蘋果Swift語言之父跳槽谷歌是個大事件

蘋果Swift語言之父跳槽谷歌是個大事件

谷歌從特斯拉挖來了一位重量級人物——蘋果Swift語言之父克里斯•拉特納,此人實力和在開發者世界的影響不亞於安卓之父安迪•魯賓。

據國外科技媒體AppleInsider報道,曾在蘋果公司主導編程語言Swift開發的全球著名程序員克里斯•拉特納在6個月前從蘋果跳槽到特斯拉後,又於今年8月下旬入職谷歌參與Google Brain項目,該消息在拉特納的個人推特上得到證實。

蘋果、Swift和拉特納的那些事

說起編程語言Swift,我們不由去挖掘一下蘋果公司的歷史文本。開發者世界眾所周知的是,Swift是一門年輕的編程語言,誕生於2014年蘋果公司開發者工具部。而在那之前蘋果操作系統家族包括mac OS、iOS以及後來的watchOS的御用編程語言都是Objective-C。

Objective-C是C語言的嚴格超集,所以它的起源較早。1988年,離開蘋果公司的喬布斯創建了NeXT公司併購買了Objective-C的授權,擴展了知名的開源編譯器GCC,然後基於此開發了一些庫,這樣一來形成了一套開發環境,這套工具在1996年喬布斯迴歸後成了神一樣的利器,它奠定了至今為止蘋果操作系統家族的基礎。

GCC既是Objective-C的編譯器,也是GNU項目的一部分,重要的是後者,這意味著GCC註定在自由軟件勢力的約束之下(比開源社區更嚴格的一股勢力)。而鑑於蘋果封閉商業化的操作系統屬性與自由軟件精神相悖,必然導致Objective-C在GCC編譯器處理的優先級低下且支持度不高。因此蘋果公司一直想尋找GCC的開源替代品,他們注意到了克里斯•拉特納和他的LLVM項目。

LLVM是一套用於開發編譯器的工具庫,採用開源協議BSD,相比GCC的GPL協議對商業軟件更加友好和寬鬆。蘋果資助了LLVM項目並直接僱傭了拉特納,在拉特納的幫助下,蘋果逐漸建立起用於取代GCC的LLVM編譯器架構。2005年拉特納發起了以LLVM為後端的編譯器前端項目Clang,旨在完全取代GCC。那一刻起蘋果真正獲得了操作系統層級的核心競爭力,邁出了與微軟分庭抗禮的起點。

有了上述優勢之後,蘋果開始著手優化自己的核心競爭力,首先要從御用編程語言開始。Objective-C跟隨蘋果多年,甚至商標權也屬於蘋果,但是作為一個傳統的面向對象高級編程語言,Objective-C在某些方面跟不上時代趨勢。移動時代不僅僅做大了業界的產值蛋糕,也擴大了開發者群體,這些年開發者的數量在增加,他們有的來自於PC端,有的則是直接專注移動開發的新手,所以整體素質良莠不齊,整個領域出現了更多呼籲編程思想變革的趨向,那就是高內低耦、模塊化、細分化和流水線化。更多的程序員更擅長用現成的庫、框架、工具來快速搭建一個應用,所以開發者世界也不時傳出了“人生苦短,我用Python”這類詼諧的聲音。因此傳統的編程語言將退居幕後,服務於底層和中間件,把應用層的開發交給新的編程語言是一種趨勢。

蘋果公司在看清這種趨勢上趕了個早集,2010年時任開發者軟件部門總監的拉特納著手設計新的編程語言Swift,從而儘早過渡、逐步取代Objective-C。Swift是第一個既滿足軟件工程標準又像腳本語言一樣富有表現力的編程語言,它的特點是敏捷、超前又不失嚴謹,對初學者更加友好,這對蘋果OS平臺能否吸引更多開發者至關重要。從WWDC2014上線到2015年宣佈開源再到今日,Swift已經吸引了數量龐大的開發者,加上蘋果對編譯器的優化、在開發環境Xcode中優化集成併力推Swift,以及對現有框架Cocoa和Cocoa Touch較好繼承,這使得Swift在整個iOS/Mac工程中的代碼佔比越來越大。Swift這兩年發展迅速,在Tiobe排行榜上的位置逐年攀升,現已成為業界公認的語言新秀Python的強勁對手。

拉特納為什麼從特斯拉辭職

回顧了Swift和拉特納的故事後,幾個問題值得分析。首先是拉特納為什麼從特斯拉辭職。經媒體瞭解,拉特納在特斯拉自動駕駛軟件開發副總裁的崗位上工作了6個月,他委婉地表示這一崗位對他並不合適。拉特納的職業生涯不同於安迪•魯賓或者託尼•法德爾這類產品經理,前者自入職蘋果公司以來一直從事開發者工具設計,拉特納在開發者群體中有很高的聲譽,但在職業經理人的圈子裡卻鮮有見聞。自動駕駛汽車屬於跨界產品,整個項目是龐大的系統工程,模塊間並非低耦,千絲萬縷的需求難以被單領域的項目管理者掌控,這對於拉特納來說是個極大的難題。而Google Brain對他而言是個較好的選擇,比如給AI系統TensorFlow做做庫的優化,正是拉特納所擅長的。

拉特納跳槽谷歌是個大事件

其次是拉特納投身谷歌,對安卓和蘋果陣營的商業格局有什麼影響,以及谷歌未來的佈局會對業界風向產生什麼變化。今年年初拉特納從蘋果公司離職出走的原因其實很簡單,其任職11年給蘋果帶來了不少開源風格,也一直致力於推動組織與開源社區的關係實現成果和知識的共享,但蘋果的保密文化始終讓他感到疲憊。拉特納的離去或許對蘋果的核心競爭價值造成影響,但只要蘋果是一個在軟件領域善於保存組織知識資產的高科技公司,就不會太大問題。據悉,蘋果已任命另一位開發者項目經理特德•克里梅內克接收拉特納的工作。

拉特納的投奔對於谷歌而言絕對是久逢甘露,事實上谷歌對Swift早有覬覦。眾所周知的是,谷歌因捲入與甲骨文的Java版權案由來已久,目前Java案定格在2016年5月美國舊金山聯邦法庭陪審團做出的裁決暫時對谷歌有利,但是甲骨文並未善罷甘休,今年2月甲骨文向美國聯邦巡迴法院上訴法庭上訴,開啟了雙方六年來的第四輪的較量。假如將來Java案落定對甲骨文有利,那麼其結果對於谷歌、對於整個安卓平臺生態包括安卓開發者群體的影響是巨大的。Java對於安卓而言,是牽一髮而動全身的存在。

這些年,因為專利案的關係谷歌一直試圖削弱Java對安卓的影響,比如改用OpenJDK來重塑系統的部分代碼。但是谷歌對此並不滿意,要想完全擺脫掣肘必須尋求新的開發工具對平臺生態徹底改造。在這方面谷歌曾做過一些努力,比如考慮用Kotlin語言過渡,但仍不盡人意。當2015年底蘋果宣佈Swift語言開源時,谷歌終於把目標落在了Swift上。在2016年4月的倫敦會議上,谷歌、Facebook、Uber三家共同討論了Swift語言的實用性,谷歌甚至向外媒透露考慮將來用Swift作為安卓軟件開發的“一級語言”。

安卓的底層是C,部分中間件是C++,UI和應用層是Java(如今還有很多Python的代碼),對系統和APP生態的重塑恐怕是個漫長的過程。但Swift有較好的兼容性和易用性,同時擁有龐大的開發者群體,加之用Swift語言來開發安卓應用的可行性早已被證實,由此看來這條路徑愈加趨向現實。現在Swift之父直接加盟谷歌,由此人主導開啟安卓平臺生態的重塑,可能性非常之大。

文/水哥 高級工程師,科技專欄作者,中國計算機學會會員。IT評論、業界分析,不一而足。微信公眾號:qq133991


分享到:


相關文章: