Go語言 |
Go是Google在2009年11月推出的開發語言,支援多核心處理器運算、網路運算、提供垃圾蒐集機制,又能快速編譯的程式語言。在TIOBE全球開發語言排行榜上普及率排名第13名的程式語言。 |
你知道目前全世界的開發語言有多少種嗎?根據全球開發語言排行榜TIOBE網站的追蹤,至少有150種,TIOBE每個月都會統計這些開發語言的流行程度。TIOBE找出一套轉換公式,可以利用這些語言名稱在各大搜尋網站上的查詢結果筆數,來估算出每一種開發語言的普及率。
TIOBE還會選出每一年普及率成長最多的開發語言,作為年度開發語言,過去多是廣為人用的主流開發語言成為年度語言,如Java、C、PHP等。但今年不同,TIOBE出乎意料的宣布,一個公開現身不到2個月的程式語言成為2009年的年度開發語言,也就是Google推出的Go語言。
在短短兩個月內,Go語言超越了一百多種開發語言,成為全球第13名普及的開發語言,普及程度比開發Flash應用程式的ActionScript還高,僅次於iPhone應用程式所使用的Objective-C。
Google從2007年末開始發展Go語言,2008年中開發相關的編譯程式,最後於2009年11月正式對外發表,並且將程式碼開源。
特性 編譯效率是C語言的5倍以上
Go語言是一種靜態編譯語言,屬於C語言家族,所以語法相似,例如fmt.Printf ("Hello, 世界\n"); 就是輸出Hello,世界的字串到螢幕上。不過,Go語法比C語言更簡化,例如For迴圈指令和C語言相同,但判斷條件不需要使用小括弧。還能夠支援多核心處理器、新增Concurrency方法來強化系統與伺服器執行併行程序和記憶體垃圾收集機制。
此外,Go特別著重編譯速度的改善,例如取消了物件導向語言的型別階層(Type Hierarchy)來加快編譯效率。Google表示,編譯時間只有C語言的10~20%,換句話說,Go語言的編譯速度是C語言的5倍以上。
目前開發小組有5人,是Google內部正式專案之一。成員包括Unix共同創始人Ken Thompson,他也發明了C語言的前身B語言,並和Rob Pike共同發明了UTF-8編碼格式,Rob也是Go專案成員之一。所以,Go語言原生支援UTF-8格式,字串變數值可以用中文。
Google提供兩種Go語言的編譯器,包括6g和gccgo,但只支援Linux和Mac OS X,Google表示,因人力不足,短期內不打算提供Windows版本的編譯器。
發展 將成為Linux內建開發語言
Google表示,Go還是一個發展中的程式語言,尚未決定最後的語法和規格,例如分號規則還會調整、增加共用變數型別、Generics語法、例外處理等。
未來也會提供除錯器、支援原生客戶端執行程式、支援SWIG、套件管理、持續建置與效能框架,以及相關導入文件等。編譯器也會增加新功能,如正規表示式方法、goto指令限制等。而Google提供的App Engine應用代管服務也會支援這項語言等。
GCC指導委員會(Steering committee)成員David Edelsohn已在1月26日宣布,未來GCC編譯器將採用Go專案團隊開發的gccgo前端編譯器,以及Go語言的GCC專用Runtime,讓GCC編譯器可以支援Go語言,最快在GCC 4.5版中納入。
換句話說,未來Linux作業系統的開發環境中,將內建Go語言的開發與編譯能力。文⊙王宏仁
熱門新聞
2025-01-06
2025-01-07
2025-01-08
2025-01-08
2025-01-06