Thursday, December 10, 2009

Google推出Go程式語言強調組譯快狠準

Google推出Go程式語言強調組譯快狠準
吳明宜/編譯
2009/11/11 下午1:59

Google週二公佈專為開發高擴充性、支援多處理器的應用系統之開放原始碼程式開發語言,名為Go。

「我從來沒用過像Go生產力那麼高的語言,」Google首席工程師Rob Pike說。

Go也是Google今年釋出的第二項語言。7月間Google推出了開發Android應用的變種培基語言Simple。

Pike表示Go主要是作為系統語言,像今天的C++或C。

「Go作為開發和組譯都十分優異,我們也將原始碼釋出,因為我們認為它已夠成熟、夠強大。」

Go前身是群組20%專案之一:Google允許員工花20%的時間做本份工作之外的事。除了Pike,共同發明Go的還包括Robert Griesemer、Ken Thompson、Ian Taylor和 Russ Cox。

編譯好的Go程式執行速度可比美C,而且幾乎立即編譯完成。「就像是用互動語言一樣。」

現有程式語言都不是為多核處理器或高擴充性的應用最佳化,Pike表示Go被視作Google工程師的專用語言。

Pike比較Go和Java的學習曲線:「大約和Java差不多,如果使用者可以馬上上手使用Java,用Go應該也沒什麼問題。」

將Go以開放原始碼釋出原因之一,是希望開放原始碼社群能發展出使這項語言更好用的工具,像是Eclipse IDE開發環境。目前還沒有支援Go的IDE。

目前Google的公開程式都還沒用到Go來開發,但Google已有好幾項內部專案用它來開發。

Pike表示Go在未來的Chrome OS會扮演什麼角色,現在都還言之過早,但他表示Go可和該公司執行Web原生程式碼的開放原始碼技術Native Client整合。

「Go在瀏覽器環境下執行Web應用真的很優。」Pike說。例如包含前端JavaScript和C++伺服器程式碼的Wave利用Go在前後端實作都會更容易。

Go目前有兩個編譯器,一個是GCC作後端的Gccgo,和一個64位元及32位元x86機器專用的編譯套件(6g和8g)。目前Google正致力於Go對ARM晶片和Android裝置的支援。Pike說,目前Go還不能在Android手機做浮點運算。

No comments: