當(dāng)我們開始 Goliath 項(xiàng)目的時(shí)候,團(tuán)隊(duì)中沒有人知道 Go,只是通過實(shí)驗(yàn)驗(yàn)證了 Go 是相較而言更好的選擇。今天,我們所有的后端和全棧工程師都在寫 Go,而我們對(duì) Goliath 的漸進(jìn)式交付也使我們跨越了一個(gè)重要的里程碑。現(xiàn)在有超過 50 萬(wàn)行的 Go 代碼在生產(chǎn)中運(yùn)行。這似乎是對(duì) Go 本身進(jìn)行反思的一個(gè)好時(shí)機(jī)。
Python 2 于?2020 年初到達(dá)?EOL 階段;鑒于此,可汗學(xué)院計(jì)劃進(jìn)行大規(guī)模遷移。對(duì)此,可汗學(xué)院的首席軟件架構(gòu)師 Kevin Dangoor 曾表示,從 Python 2 遷移到 3 并不是一件容易的事。他的團(tuán)隊(duì)曾認(rèn)為 Kotlin 是一個(gè)有吸引力的選擇,但最終還是選擇了 Go;其工程師認(rèn)為,和 Python 3 相比,Go 具有很大的性能優(yōu)勢(shì)。“由于 Go 的編譯速度快得驚人,我們可以更快地進(jìn)行迭代。此外,我們的團(tuán)隊(duì)成員擁有多年的經(jīng)驗(yàn)和圍繞許多不同編輯器建立的肌肉記憶。Go 比 Kotlin 更受各種編輯器的支持。”很多可汗學(xué)院的工程師反饋稱,Go 很容易寫和讀,并表示自己越是使用 Go 就越喜歡它。同時(shí),Go 的錯(cuò)誤處理、工具鏈以及編譯速度也都收到了諸多好評(píng)。另一方面,可汗學(xué)院方面也表達(dá)了對(duì)泛型的需要。“雖然大多數(shù)情況下不需要泛型。但有時(shí)候,特別是是在寫內(nèi)部庫(kù),尤其是涉及到 slice 時(shí),就會(huì)明顯感覺到對(duì)泛型的需求...... 我們希望少寫一點(diǎn)代碼,而泛型提供的選項(xiàng)將對(duì)此有所幫助。”最后,該組織總結(jié)稱,雖然一般來(lái)說 Go 比 Python 更冗長(zhǎng);但他們還是更喜歡 Go 一些,因?yàn)樗俣瓤臁⒐ぞ吆糜谩⒉⑶以谏a(chǎn)中運(yùn)行良好。