溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

為什么Go語言能夠成功

發(fā)布時(shí)間:2021-10-14 17:06:25 來源:億速云 閱讀:154 作者:柒染 欄目:編程語言

為什么Go語言能夠成功,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

  常言道,歷史不會(huì)重演,但總會(huì)驚人的相似。

  如果您想創(chuàng)建一種編程語言,多向那些有經(jīng)驗(yàn)的人士學(xué)習(xí),他們有很多可取之處。在《GoTime》第100期節(jié)目中,兩位Go語言的創(chuàng)造者RobPike和RobertGriesemer一起探討了他們的經(jīng)歷。

正式的語言規(guī)范

  在講述這個(gè)項(xiàng)目的起源時(shí),Rob說:“我們經(jīng)過六個(gè)多月的頭腦風(fēng)暴和思想成形之后,我們做的第一件重要的事情,就是花了幾個(gè)星期寫了一份正式的語言規(guī)范,我認(rèn)為這是項(xiàng)目成功的關(guān)鍵部分?!痹撘?guī)范引起了其他工程師的興趣,比如IanLanceTaylor。

  還有最重要的事情之一是IanTaylor看到了規(guī)范,并決定為它編寫一個(gè)編譯器。有一天他走進(jìn)我們的辦公室說:“順便說一下,我為你們的語言做了一個(gè)編譯器?!边@是一個(gè)多么神奇的時(shí)刻。當(dāng)然,他后來成為了團(tuán)隊(duì)的一員,現(xiàn)在他還在為Go工作。

殺手锏A(chǔ)pp

  Rob說當(dāng)時(shí)并沒有重點(diǎn)考慮為什么要引入Docker的,大概是為了使Go語言對系統(tǒng)程序員有吸引力?

  是的,Docker現(xiàn)在是我們的殺手锏A(chǔ)pp,因?yàn)樗怯肎o編寫的,運(yùn)行良好,它成為了現(xiàn)在所謂的云計(jì)算的核心……我們過去只稱它為系統(tǒng)編程或服務(wù)器。事實(shí)上,只要有一項(xiàng)重要的技術(shù)是用Go語言寫的,這就證明了它的用武之地。我認(rèn)為Go確實(shí)是一種很好的語言。

  后來又出現(xiàn)了Kubernetes。能夠使用你的語言編寫重要的軟件,這是取得成功的一個(gè)重要部分。如果一門語言沒有任何應(yīng)用內(nèi)容,那么它有多好就無關(guān)緊要了。

不會(huì)改變其他語言

  這一點(diǎn)一開始有點(diǎn)違背常理。通常對于軟件來說,要推崇其可塑性,而要避免僵化。然而,Rob很好地解釋了這一點(diǎn)。

  我們故意這樣做,對于Go語言我們承諾不改變?nèi)魏螙|西。這對語言的成功至關(guān)重要,因?yàn)樗蛊髽I(yè)相信我們所做的事情和依賴我們不會(huì)破壞他們的東西。我想很多人沒有意識到這一原則。我們沒有破壞人們的程序,即使這是一個(gè)有十年歷史的項(xiàng)目。這多么令人難以置信,但正因?yàn)槿绱?,我們才走到現(xiàn)在。

堅(jiān)持自己的信仰

  當(dāng)面對社區(qū)的不良反饋以及團(tuán)隊(duì)如何做出改變的時(shí)候,Rob說:

  Go的一些特點(diǎn)對它的成功至關(guān)重要,但人們并不喜歡,我們對此也直言不諱。我想您提到的,未使用變量的編譯錯(cuò)誤就是其中之一。這是令人非常惱火的,哪怕你忘記刪除一個(gè)未使用的變量,你的程序?qū)⒊霈F(xiàn)編譯錯(cuò)誤。但對我們來說,這是Go語言出彩的地方。雖然不能阻止你寫“壞”代碼,但我們試圖告訴你…這樣可以避免你的程序很慢,或者你的代碼難以維護(hù)。

  其實(shí)真正讓人們抓狂的是,Go不允許導(dǎo)入你不使用的庫。這對我們來說是至關(guān)重要的,因?yàn)槌绦驑?gòu)建和處理大量二進(jìn)制文件會(huì)花費(fèi)很多時(shí)間,我們確保您的程序的依賴項(xiàng)正是您所需要的。但對很多人來說,每次編輯并刪除打印語句或其他內(nèi)容時(shí),編譯器都會(huì)說“你沒有使用這個(gè)庫”,這簡直是太煩人了。

  后來,Brad編了一個(gè)基于gofmt的goimports,為你管理那些編譯項(xiàng),這基本上平息了那些抱怨。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI