Go 部落格

I/O 的 Go:常見問題

Andrew Gerrand
2010 年 5 月 27 日

上週於 Google I/O 中,我們的產品發布備受矚目,我們的團隊在滿座的會議室中發表展示,並會見了許多現有和未來的 Go 程式設計師。認識這麼多人在了解到一點 Go 之後,便興奮於他們可以透過使用 Go 獲得的潛在好處(無論是立即或長期的),這讓我們感到特別滿足。

在 I/O 期間,我們被問了許多很好的問題,而我想要在本文中回顧並進一步說明其中一些問題。

Go 對生產系統的適用程度如何?Go 現在已準備就緒、很穩定。我們很高興地報告 Google 已經在一些生產系統中使用 Go,而且運作良好。當然,還有進步的空間,這就是我們持續致力於語言、程式庫、工具和執行時間的原因。

您是否有實作泛型的計畫?許多類似泛型的功能提案已公開和內部提出,但我們仍未找到與語言的其他部分一致的建議。我們認為 Go 的關鍵優勢之一便是其簡潔性,因此我們不願引入可能使語言更難理解的新功能。此外,我們編寫的 Go 程式碼越多(因此我們也更了解如何自行編寫 Go 程式碼),我們對此類語言功能的需求就越少。

您是否有支援 GPU 編程的計畫?我們沒有任何立即進行此項工作的計畫,但由於 Go 是與架構無關的,因此很有可能。在不同的處理器架構上執行 goroutine 並使用通道在不同架構上執行的 goroutine 之間進行溝通的能力似乎是個好主意。

是否有支援 App Engine 的 Go 計畫?Go 和 App Engine 團隊都希望看到此計畫發生。無論是否以及何時成為現實,這總是資源和優先次序的問題。

是否有支援 Android 的 Go 計畫?兩個 Go 編譯器都支援 ARM 程式碼產生,所以是有可能的。雖然我們認為 Go 將是撰寫行動應用程式的一門絕佳語言,但 Android 支援並非積極進行中的專案。

我可以使用 Go 做什麼?Go 的設計旨在進行系統程式設計。伺服器、客戶端、資料庫、快取、平衡器、配送器 - 這些顯然是 Go 有用的應用程式,這就是我們開始在 Google 內部使用它的方式。然而,自從 Go 開源釋出後,社群便已找到此語言許多多樣化的應用方式。從網路應用程式到遊戲再到圖形工具,Go 承諾將以一般用途程式語言的身份發光發熱。其潛力僅受程式庫相容性的限制,而這正在以驚人的速度改善。此外,教育工作者表示有意使用 Go 來教授程式設計,並指出其簡潔的語法和一致性非常適合這項任務。

感謝每位參加我們的簡報,或在辦公時間與我們交談。我們希望在未來的活動中再次見到您。

Rob 和 Russ 的演講影片 已在 YouTube 上提供

下一篇文章:Google I/O 的 Go 程式設計課程影片
上一篇文章:即將推出的 Google I/O Go 活動
部落格索引