Go 部落格

Go語言八年

Steve Francia
2017年11月10日

今天我們慶祝Go作為開源專案釋出八週年。在Go語言的四週年時,Andrew在帖子中以“再創輝煌四年!”結尾。現在我們已經達到了這個里程碑,我不禁要回顧一下自那時以來,該專案和生態系統取得了多大的發展。四年前的文章中,我們包含了一張圖表,展示了Go語言在Google Trends上以“golang”搜尋詞的受歡迎程度的上升趨勢。今天,我們附上一張更新的圖表。在這個相對的受歡迎程度的尺度上,四年前的100現在僅為17。在過去的八年中,Go語言的受歡迎程度呈指數級增長,並且仍在持續增長。

來源:trends.google.com

開發者喜愛Go

Go語言在全球開發者中得到了廣泛認可,全球使用者約有100萬。在GitHub最新發布的2017年Octoverse報告中,Go語言已成為第九大最受歡迎的語言,超越了C語言。Go語言是2017年GitHub上增長最快的語言,在前十名中,同比增長52%。在增長方面,Go語言與JavaScript互換了位置,後者以44%的增長率降至第二位。

來源:octoverse.github.com

Stack Overflow的2017年開發者調查中,Go語言是唯一一門同時進入最受歡迎前五名和最渴望前五名的語言。使用Go語言的人喜愛它,而未使用Go語言的人則渴望使用它。

來源:insights.stackoverflow.com/survey/2017

Go語言:雲基礎設施的語言

2014年,分析師Donnie Berkholz將Go語言稱為新興的雲基礎設施語言到2017年,Go語言已成為雲基礎設施的語言。如今,幾乎所有云公司都使用Go語言實現了其雲基礎設施的關鍵組成部分,包括Google Cloud、AWS、Microsoft Azure、Digital Ocean、Heroku等。Go語言是Alibaba、Cloudflare和Dropbox等雲公司的關鍵組成部分。Go語言是Kubernetes、Cloud Foundry、Openshift、NATS、Docker、Istio、Etcd、Consul、Juju等眾多開源基礎設施的關鍵組成部分。越來越多的公司選擇Go語言來構建雲基礎設施解決方案。

Go語言的偉大社群

很難想象,就在四年前,Go語言社群還從線上社群過渡到包含線下社群,並舉辦了第一屆會議。如今,Go語言社群已在世界各地舉辦了30多場會議,進行了數百場演講,吸引了數萬名與會者。有數百個Go語言聚會每月舉行,覆蓋了全球大部分地區。無論您住在哪裡,都可能找到附近的Go語言聚會。

已經成立了兩個不同的組織來幫助提高Go語言社群的包容性:Go Bridge和Women Who Go;後者已發展到25個以上的分支機構。兩者在提供免費培訓方面都發揮了重要作用。僅在2017年,透過Go Bridge和Women Who Go的努力,就發放了50多個會議獎學金。

今年,Go語言專案迎來了兩個重要的第一次。我們舉辦了首次貢獻者峰會,來自Go語言社群的成員齊聚一堂,共同討論Go語言專案的需求和未來。不久之後,我們舉辦了首次Go語言貢獻者研討會,數百人來到這裡,首次為Go語言做出貢獻。

照片提供:Sameer Ajmani

Go語言對開源的影響

Go語言已成為開源世界的重要力量,為一些最受歡迎的專案提供支援,並推動了眾多行業的創新。您可以在awesome-go上找到數千個額外的應用程式和庫。以下是一些最受歡迎的專案:

  • Moby(原Docker)是用於打包和執行輕量級容器中應用程式的工具。其創造者Solomon Hykes引用了Go語言的標準庫、併發原語和易於部署作為關鍵因素,並表示“簡而言之,如果Docker不是用Go語言編寫的,它就不會如此成功。”

  • Kubernetes是一個用於自動化容器化應用程式部署、擴充套件和管理的系統。最初由Google設計並在Google雲中使用,Kubernetes現在是所有主要雲產品中的關鍵組成部分。

  • Hugo現在是最受歡迎的開源靜態網站引擎。憑藉其驚人的速度和靈活性,Hugo讓構建網站重新變得有趣。根據w3techs的資料,Hugo的使用量幾乎是Jekyll(之前的領導者)的三倍。

  • Prometheus是一個開源的監控解決方案和時間序列資料庫,用於提供指標和警報,旨在成為您在發生故障時求助的系統,以便您能夠快速診斷問題。

  • Grafana是一個功能豐富的開源指標儀表板和圖形編輯器,支援Graphite、Elasticsearch、OpenTSDB、Prometheus和InfluxDB。

  • Lantern提供快速、可靠和安全的訪問被遮蔽的網站和應用程式。

  • Syncthing是一個開源的跨平臺點對點連續檔案同步應用程式。

  • Keybase是一款新的免費安全應用程式,適用於手機和電腦。將其視為一個開源的Dropbox和Slack,並帶有端到端加密的公鑰加密。

  • Fzf是一個互動式的Unix過濾器,適用於命令列,可與任何列表一起使用;檔案、命令歷史、程序、主機名、書籤、git提交等。Fzf支援Unix、macOS,並對Windows提供beta支援。它還可以作為vim外掛執行。

其中許多作者表示,他們的專案沒有Go語言就無法存在。像Kubernetes和Docker這樣的專案創造了全新的解決方案。像Hugo、Syncthing和Fzf這樣的專案則創造了更精煉的體驗,儘管已有許多解決方案存在。僅這些應用程式的受歡迎程度就證明了Go語言是各種用例的理想語言。

謝謝

這是我們第八次榮幸地為Go語言撰寫生日博文,我們對Go語言社群的熱情和支援感到由衷的欽佩和感激。

自Go語言首次開源以來,我們已經發布了10個語言、庫和工具的版本,有超過1680名貢獻者在專案的34個儲存庫中提交了超過50,000次提交;這比兩年前的貢獻者數量增加了一倍多,提交次數也接近翻倍。今年我們宣佈已開始規劃Go 2,這是我們語言和工具的首次重大修訂。

Go語言團隊希望感謝所有為該專案做出貢獻的人,無論您是透過貢獻程式碼、報告錯誤、在設計討論中分享專業知識、撰寫部落格文章或書籍、舉辦活動、參加或在活動中發表演講、幫助他人學習或進步、開源您編寫的Go包、貢獻藝術作品、向他人介紹Go語言,還是僅僅是Go語言社群的一員。沒有您,Go語言就不會像今天這樣完整、有用和成功。

謝謝您,並期待下一個八年!

下一篇文章:參加2017年Go語言使用者調查
上一篇文章:社群外展工作組
部落格索引