Go 部落格
Go 在 I/O 大會:常見問題解答
在上週的 Google I/O 大會上,除了備受矚目的產品釋出,我們的小團隊也向座無虛席的觀眾進行了演講,並見到了許多當前和未來的 Go 程式設計師。能見到如此多在瞭解 Go 後,對其潛在益處(無論是即時還是長遠的)感到興奮的人們,尤其令人欣慰。
在 I/O 大會期間,我們被問了許多好問題,在這篇文章中,我想回顧並詳細解答其中的一些。
Go 在生產系統中有多適用?Go 現在已經成熟穩定。我們很高興地報告,Google 正在一些生產系統中使用 Go,並且它們執行良好。當然,仍有改進的空間——這就是為什麼我們持續改進語言、庫、工具和執行時。
你們有實現泛型的計劃嗎?關於類似泛型的特性,無論是在公開場合還是內部,已經提出了許多建議,但到目前為止,我們還沒有找到一個與 Go 語言其餘部分一致的方案。我們認為 Go 的主要優勢之一在於其簡潔性,因此我們對引入可能使語言更難理解的新特性持謹慎態度。此外,我們編寫的 Go 程式碼越多(因此我們越能更好地學習如何自己編寫 Go 程式碼),我們就越不覺得需要這樣的語言特性。
你們有支援 GPU 程式設計的計劃嗎?我們目前沒有立即的計劃,但由於 Go 是架構無關的,這很有可能。啟動一個在不同處理器架構上執行的 goroutine,以及使用通道在不同架構上執行的 goroutine 之間進行通訊的能力,聽起來像是好主意。
是否有計劃在 App Engine 下支援 Go?Go 團隊和 App Engine 團隊都希望看到這一點實現。一如既往,這取決於資源和優先順序,以及何時能成為現實。
是否有計劃在 Android 下支援 Go?Go 編譯器都支援 ARM 程式碼生成,所以這是可能的。雖然我們認為 Go 是編寫移動應用的絕佳語言,但目前並未積極開展 Android 支援的工作。
我可以用 Go 來做什麼?Go 在設計時就考慮了系統程式設計。伺服器、客戶端、資料庫、快取、負載均衡器、分發器——這些顯然是 Go 有用的應用領域,我們內部也開始這樣使用它。然而,自從 Go 開源以來,社群已經為 Go 找到了各種不同的應用領域。從 Web 應用到遊戲再到圖形工具,Go 有望成為一種通用的程式語言。其潛力僅受限於庫的支援,而庫的支援正以驚人的速度改進。此外,教育工作者也表示有興趣使用 Go 來教授程式設計,認為其簡潔的語法和一致性非常適合這項任務。
感謝所有參加我們演講或在辦公時間與我們交流的人。希望在未來的活動中再次見到你們。
Rob 和 Russ 的演講影片已在 YouTube 上釋出。
下一篇文章:Google I/O 大會上的 Go 程式設計主題影片
上一篇文章:即將舉行的 Google I/O Go 活動
部落格目錄