這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
前幾天剛看到<Oracle 起訴 Google Android 作業系統侵犯了其 Java 智慧財產權>的新聞時,我就在猜想:如果 google 要擺脫 Oracle 的訴訟糾纏,那麼只有一條路:就是用 go 取代 java 成為 android 的主要開發語言。這步遲早是要走的,也許Google已經在暗自部署了。我一直覺得手機應用開發採用VM語言或者JS是一種短視的行為,在前期也許會因為門檻低而吸引大配量序員湧入這個市場,但是很多進階應用程式(對速度響應要求很高)最終都難免要回到C/C++原生函數調用上來。別對我說什麼C/C++門檻太高,兩年前誰知道ObjectiveC,現在熱門排行榜都到第九位了。蘋果的ObjectiveC,諾基亞的C++/QT都選對了開發語言,相信Google很快會採用Go回到正軌,手機領域最終是C系語言的天下。至於微軟,語言不是關鍵,不擺脫PC思維和SB(斯蒂夫.巴爾默),就很難真正進入該領域。
但是周末我稍微看了一下 go 語言,感覺 Google 如果真打算將 go 作為 android 主流開發語言的話,難度相當大。
1:這門語言還不夠完善,處在實驗階段,支援的庫也不多。
2:go 雖說支援 x86 32 , 64 和 arm , 但是 arm 分支的開發不活躍,而且問題很多。
3:go 的改革比較激進,沒有繼承,沒有泛型,沒有異常,大小寫是文法,程式員要接受它的確會有點難度。實際上文法很簡單,相對傳統OOP語言的改進很激烈,比如既然繼承不如合成,那麼乾脆把繼承整個從物件導向中去掉。
不過我仍然覺得用 go 取代 java 是 google 必須走的一步。Google三大語言 c++, java , python 中,只有 java 是被一家公司控制著,以前的 Sun 還比較溫和,現在的 Oracle 很頑強,如果大規模使用它,將來會很被動。
與其現在看 android 開發還不如稍微學習和瞭解一下 go