go創始人羅布派克認為golang取得成功的5個原因

創建一門語言是不易的,而創建一門成功的語言,被眾人接受使用的編程語言更是難上加難,那麼golang是如何取得成功的呢?讓我們聽聽創始人羅布派克的回答。

我們寫了一個正式的規範

在正式確定規範之前,我們開始了大約六個月的頭腦風暴和細節敲定。我們所做的第一件重要的事情就是我們編寫了語言的正式規範,我認為這是該項目成功的關鍵部分。

go創始人羅布派克認為golang取得成功的5個原因

其中還有一個重要的事情是伊恩·泰勒看到了規範,決定為此編寫一個編譯器。有一天他走進我們的辦公室,說:“哦,順便說一句,我已經為您的語言編寫完了一個編譯器。”對於我們來說,這真是令人驚訝的時刻。

我們推出了殺手級應用

我相信你們一定聽過Docker, ♂️是的,Docker是我們的殺手級應用程序,因為它是用Go編寫的,它運作良好,並且成為了現在所謂的雲計算的核心。

go創始人羅布派克認為golang取得成功的5個原因

我們過去僅將其稱為系統編程或服務器。而且其中一項關鍵技術是用Go語言編寫的,這一事實證明了該語言滿足許多人的口味。而且,我認為這實際上是一門非常好的語言。這是我們在將語言整合在一起時所考慮的事情,儘管我們不是自己做的。

後來,Kubernetes又出現了,用我們的語言編寫出色的軟件是一件很美好的事情,對於一個語言,如果有出色的軟件是用它來編寫的,那麼它一定是一個成功的編程語言。

我們建立了一個開源社區

我們花了很長時間才瞭解成為開源社區的一部分意味著什麼,擁有一個基本上由公司支付的項目,但是有很多開源貢獻者。

go創始人羅布派克認為golang取得成功的5個原因

實際上,我們有很多很棒的開源發展發生得很早。 Windows的移植工作完全由外部貢獻者完成,這真是太好了。

我認為有時人們會認為谷歌對代碼控制得太多,但是我不這麼認為。我認為他們低估了團隊聽取開源社區所說的話,閱讀所有問題,很好地處理所有問題的程度。

當有成千上萬的一起對語言提出改進意見的時候,這是一件非常具有挑戰性的事情,而現在,我相信全世界有數以百萬計的Go程序員。

我們讓語言難以改變


首先,這有點違反直覺。通常對於軟件而言,延展性是一種美德,而強硬是一種詛咒。但是對於像Go這樣的編程語言卻是不同的。

go創始人羅布派克認為golang取得成功的5個原因

對於Go的第一個版本,我們刻意寫下我們保證不做任何更改。這對於語言的成功至關重要,因為它使企業能夠相信我們正在做的事情以及依賴我們的事情不會破壞他們的工作。

雖然這使得進行更改變得更加困難。但我認為我們並未破壞軟件的發展,我們只是讓軟件朝著正確的方向前行,不讓他脫軌,這是我們必須要保證的。

我們堅持自己相信的特性

Go的某些功能對它的成功至關重要,雖然這些功能人們非常不喜歡。我們非常知道人們不喜歡他的程度,比如未使用變量的編譯錯誤,這很煩人,當您忘記刪除未使用的變量,程序就不會通過編譯。但是對於我們來說,這是非常重要的一部分,那它可以使一種語言能夠儘可能保證高質量的代碼。我們希望每個人都可以寫出健壯的代碼,雖然這不太現實,但是我們可以確保一些不雅的代碼可以快速被發現,,雖然這會使您的構建速度變慢,但是總好過難以維護的代碼。

go創始人羅布派克認為golang取得成功的5個原因

我認為還有一個使人發狂的是不允許您導入不使用的包。這對我們非常重要,因為我們花了很多時間在構建大量二進制文件的過程中,確保您程序的依賴項完全是您所需要的,會縮構建時間。對於很多人來說,每次您進行編輯並刪除打印語句或類似內容時,編譯器都會說“您沒有在使用該庫。我不會再引入你了。”

然後,布拉德(Brad)編寫了一個名為goimports的東西,它是gofmt的變體,可以為您管理包的導入,他應該可以減傷人們的煩惱。


分享到:


相關文章: