Go語言“暴走”要取代Java為企業級語言,Sun和甲骨文能答應嗎?

我最近因為工作比較忙所以沒怎麼上網,今天一上來,看到不少QQ好友留言問我有關Go語言的話題,其中有一個問的是“Go有沒有可能取代Java成為下一代企業級語言”。對於這個問題,幾乎可以肯定——絕無可能。

Go語言“暴走”要取代Java為企業級語言,Sun和甲骨文能答應嗎?


首先說一下什麼是“企業級語言”,顧名思義,企業級語言是企業開發項目時所用到的語言,而這裡說的“企業”並不是小企業、初創企業、科技型企業,而是大型企業、金融級企業,這些企業在今天看來,使用的語言幾乎都是Java語言。

為什麼Java能夠成為這些大型、超大型企業的選擇呢?歸根結底只有一個原因:Java是一套商業化語言。

試想:假如有朝一日你發達了、成為了名人,這個時候你需要一名自己的私人律師,你是會託隔壁老王幫你介紹個朋友來、還是直接從全世界最著名的律所簽下來一個律師?相信絕大多數人都會選擇後者,雖然要花錢,但是花了錢就有了合同,這個律師不是你刷臉刷人情請來的,他不能夠隨隨便便終止與你的合作。

編程語言也是如此,在今天的主流語言中,PHP語言是個人發起、社區維護的;Ruby是個人發起、社區維護的;Python也是個人發起、社區維護的;Lua是大學教授發起並維護的……唯有Java語言是由Sun公司發起、如今繼由甲骨文公司維護的。雖然從常識上看,PHP也好、Ruby也好,這些語言雖然是開源的、並且維護良好、完全沒有死掉的可能性,但並沒有任何“商業承諾”在裡面。而Java卻有著LTS承諾,所以從風控的角度講,選擇Java是最安全、風險可控的。同時如果在開發的過程中遇到了問題,也可以尋求商業幫助,這在其他語言而言並非“有錢就一定能得到支持”。

那麼再來看看Go語言,它是2009年由Google推出的語言,雖然也是企業發起的語言,但它比“年輕十多歲”,如果將Java看做可以治國安邦的人才、那麼Go在今天才不過是個黃口小兒。無論是成熟度、還是支持度上,都沒有Java那麼完善。所以如果Go真的要成為下一個企業級語言,至少也要再等待個5-10年才有可能。

最近幾年似乎很多新型語言的誕生、發展速度都很快,對於追新的人、技術型公司而言,選擇這些語言試玩、追潮並沒有問題。但是從穩健的角度講,有些時候還是選擇成熟穩重的語言更穩妥。

Go語言“暴走”要取代Java為企業級語言,Sun和甲骨文能答應嗎?

例如蘋果公司出的Swift語言、剛剛發佈的時候大有代替Objective-C的勢頭,但是後來情況是怎樣的呢?4年推出了四次更新,每一次更新都不是增量、而是近乎於推翻。這對於開發而言實際上是一場災難——你剛剛斥資研發出來的項目,正在準備上線之際,發現語言升級了,你是跟著升級、還是不跟著升級?跟著升級意味著要重複投資、重構代碼;不跟著升級過不了多久所依賴的第三方程序也許就會出現各種兼容問題……

在這樣的風險面前,相信任何理智的人和公司,都不會冒然做出激進的選擇。

另一方面,新語言並不在計算機學科教育的教學提綱內,這意味著企業招聘到的應屆畢業生是不會使用這些新語言的。同時也不會使用上文提到的PHP、Ruby這些語言,對於大學畢業生,他們在學校學習的基本都是C、Java,所以這也是企業進行語言選型的一個考量維度。

綜上所述,無論Go最近燒了那陣火,它只是一個科技型語言、並不能夠成為企業級語言。如果你希望學一門語言、並且能夠有儘可能多的機會就職於大中型企業,那麼在今天而言,還是以Java作為首選更為穩妥。


分享到:


相關文章: