天天看點

Go語言開源十周年

生日快樂,Go!

為了紀念這一時刻,Go gopher的建立者Renee French(用下面的新作)描繪了這個令人愉快的場景:

Go語言開源十周年

慶祝Go十周年讓我回想起2009年11月上旬,那時我們正準備與世界分享Go。我們不知道會發生什麼樣的反應,是否有人會關心這種新生的小語言。我希望即使沒有人最終使用Go,我們也至少會引起人們對一些好的想法的關注,尤其是Go的并發和接口,這些想法可能會影響後續語言。

當看到人們對Go感到興奮,我便檢視了C、C++、Perl、Python和Ruby等流行語言的曆史,并研究了每種語言花了多長時間才被廣泛采用。例如,在我看來,Perl在1990年代中後期就已經完全形成了,帶有CGI腳本和Web,但它于1987年首次釋出。這種模式在我所研究的幾乎所有語言中都重制了:在新語言真正騰飛之前,需要大約十年的時間進行安靜、穩定的改進和傳播。

(當時的)我想知道:十年後的Go會在哪裡?

今天,我們可以回答這個問題:Go無處不在,全世界至少有100萬開發人員在使用它。

Go最初的目标是網絡系統基礎架構,現在我們稱為雲軟體(cloud software)。如今,每個主要的雲計算平台提供商都使用用Go語言編寫的核心雲基礎架構,例如Docker,Etcd,Prometheus和Terraform。Cloud Native Computing Foundation的大多數項目都是用Go編寫的。無數公司也在使用Go将自己的工作遷移到雲上,從初創公司從頭開始建構到大企業更新軟體堆棧。Go還發現對其的采用已經遠遠超出了最初的雲計算目标,其使用範圍從使用GoBot和TinyGo控制小型嵌入式系統到使用GRAIL進行大規模的大資料分析和機器學習進行癌症檢測,以及介于兩者之間的所有内容。

這一切都說明Go超越了我們最瘋狂的夢想。Go的成功不僅僅在于語言。這是關于語言,生态系統,尤其是社群的共同努力。

在2009年,該語言是一個不錯的主意,并帶有一個實作的工作草圖。那時候go指令還不存在:我們使用指令6g編譯源碼和6l連結二進制檔案,并借助Makefile實作這個過程的自動化。我們在語句末尾鍵入分号。整個程式在垃圾回收期間停止,然後努力利用兩個CPU核。當時Go隻能在Linux和Mac,32位和64位x86和32位ARM上運作。

在過去的十年中,在世界各地的Go開發人員的幫助下,我們已經将這一想法和草圖發展為擁有出色的工具,生産級品質實作,先進的垃圾收集器和得到廣泛移植的高效語言,Go支援12種作業系統和10種CPU體系結構。

任何程式設計語言都需要蓬勃發展的生态系統的支援。開源釋出是該生态系統的種子,但是自那時以來,許多人貢獻了自己的時間和才幹,用出色的教程,書籍,課程,部落格文章,播客,工具,內建以及可重複使用的、支援go get的Go包來填充Go生态系統。沒有這個生态系統的支援,Go永遠不可能成功。

當然,生态系統需要蓬勃發展的社群的支援。在2019年,全球有數十個Go(技術)會議,以及超過150個Go聚會組織和90000名參會人員。GoBridge和Going Who Go通過指導,教育訓練和會議獎學金幫助将新的聲音帶入Go社群。僅今年一年,他們就在講習班上向數百名來自傳統團體的人們進行了教育訓練,在這些講習班上,社群成員教導和指導剛接觸Go的人。

全球有超過一百萬的Go開發人員,全球各地的公司都在尋求雇用更多的人。實際上,人們經常告訴我們,學習Go幫助他們獲得了技術行業的第一份工作。最後,我們為Go感到最自豪的不是設計完善的功能或巧妙的代碼,而是Go在這麼多人的生活中産生的積極影響。我們旨在建立一種可以幫助我們成為更好的開發人員的語言,我們很高興Go幫助了許多其他人。

恰逢Go開源十周年的時刻,我希望每個人都花一點時間來慶祝Go社群以及我們所取得的一切。我代表Google的整個Go團隊,感謝過去十年來加入我們的每個人。讓我們開啟下一個更加不可思議的十年吧!

Go語言開源十周年

我的網課“Kubernetes實戰:高可用叢集搭建、配置、運維與應用”在慕課網上線了,感謝小夥伴們學習支援!https://coding.imooc.com/class/284.html

我愛發短信:企業級短信平台定制開發專家 https://51smspush.com/

著名雲主機服務廠商DigitalOcean釋出最新的主機計劃,入門級Droplet配置更新為:1 core CPU、1G記憶體、25G高速SSD,價格5$/月。有使用DigitalOcean需求的朋友,可以打開這個連結位址:https://m.do.co/c/bff6eed92687 開啟你的DO主機之路。

Gopher Daily(Gopher每日新聞)歸檔倉庫 - https://github.com/bigwhite/gopherdaily

我的聯系方式:

微網誌:https://weibo.com/bigwhite20xx

微信贊賞:

Go語言開源十周年

商務合作方式:撰稿、出書、教育訓練、線上課程、合夥創業、咨詢、廣告合作。