吐槽過后,我為什么要夸夸 Go 語言
爭做團(tuán)隊(duì)核心程序員,關(guān)注「幽鬼」
世上沒有完美的軟件,即便是一些看似很不錯的軟件也會有一些小問題。即使是我最心愛的軟件項(xiàng)目 Plan 9 也有一些令人痛心的缺陷!對于某些項(xiàng)目,我忍不住想吐槽,但我是出于對它們的喜愛,恨鐵不成鋼,希望它們能夠通過自己的努力贏得大家的尊重。
Go 編程語言就是一個(gè)這樣的項(xiàng)目。我曾在我的博客和其他地方多次吐槽 Go,但我也經(jīng)常在私下里贊美 Go。今天,我想來好好地夸一夸 Go,因?yàn)殡m然我經(jīng)常吐槽它,但 Go 仍然是我使用過的最好的編程語言之一,而且我對這門語言充滿了敬意。
01 語言魅力
我最欣賞 Go 的地方在于,它能長期保持簡單性、穩(wěn)定性和健壯性。我覺得這些特質(zhì)比軟件設(shè)計(jì)的其他目標(biāo)更為重要。Go 開發(fā)團(tuán)隊(duì)的工作態(tài)度非常嚴(yán)謹(jǐn),每個(gè)功能都經(jīng)過了深思熟慮,力求最簡單且最完整的解決方案,而且他們小心翼翼地限制了實(shí)現(xiàn)范圍,緊緊貼合這些解決方案。在這些方面,Go 幾乎沒有任何失誤。
團(tuán)隊(duì)紀(jì)律為他們贏得了巨大的優(yōu)勢。我認(rèn)為他們最大的成就在于,整個(gè) Go 生態(tài)系統(tǒng)的質(zhì)量都非常高。
首先,Go 提供了一門語言和標(biāo)準(zhǔn)庫,且設(shè)計(jì)和實(shí)現(xiàn)都非常卓越,這本身就是一項(xiàng)了不起的成就;
其次,Go 語言提供了簡單且優(yōu)雅的設(shè)計(jì),整個(gè)社區(qū)都可以利用 Go 語言設(shè)計(jì)出優(yōu)秀的軟件。很少有編程語言能夠在整個(gè)生態(tài)系統(tǒng)內(nèi)達(dá)到相同水平的統(tǒng)一性和高質(zhì)量。
此外,Go 語言還創(chuàng)造了自己的小眾市場,并幫助這些小眾市場發(fā)展壯大,最終成為全新的軟件設(shè)計(jì)類別。我認(rèn)為 Go 并不是一種系統(tǒng)編程語言(C 和 Rust 之類的語言更加適合)。
Go 是新一代軟件產(chǎn)品中的佼佼者,它是一種互聯(lián)網(wǎng)編程語言。Go 的標(biāo)準(zhǔn)庫高效、簡潔、正確地實(shí)現(xiàn)了豐富的網(wǎng)絡(luò)協(xié)議,并巧妙地結(jié)合了協(xié)作/搶占式多任務(wù)處理模型,因此使用 Go 編寫可擴(kuò)展的互聯(lián)網(wǎng)軟件非常容易。該領(lǐng)域還有其他幾種編程語言(比如 Elixir),但是它們沒能像 Go 這般成功。
02 優(yōu)秀的開發(fā)團(tuán)隊(duì)
Go 團(tuán)隊(duì)的專業(yè)素養(yǎng)令我非常佩服。Go 與 Google 緊密相連,二者的關(guān)系導(dǎo)致Go 按照自己的方式進(jìn)行權(quán)衡取舍,但由此而引起的項(xiàng)目領(lǐng)導(dǎo)權(quán)集中化卻對項(xiàng)目有利。Go 社區(qū)的一些成員已經(jīng)注意到了這種結(jié)構(gòu)的缺點(diǎn),Go 素來做不到及時(shí)響應(yīng)社區(qū)的需求。但我認(rèn)為,Go 的語言設(shè)計(jì)采用了保守的方式,因此這種脫節(jié)實(shí)際上對 Go 有好處,可能對項(xiàng)目本身來說還是一個(gè)優(yōu)勢。如果 Go 盡可能多地聽取社區(qū)的意見,那么就有可能成為一個(gè)大雜燴,也會因此而失去其特有的魅力。
雖然 Go 沒有做到對社區(qū)有求必應(yīng),但 Go 非常注重社區(qū)實(shí)際的需求。如果你指出 Go 中的某個(gè)問題,并引起他們的注意,則他們會認(rèn)真對待。許多項(xiàng)目都希望表現(xiàn)出非常謙遜的姿態(tài),一旦發(fā)現(xiàn)錯誤,他們就會主動承擔(dān)下來。Go 始終能夠遵循正常的工程流程:分析問題、提出解決方案、交付修復(fù)程序。
總的來說,雖然我經(jīng)常吐槽 Go,但我還是非常欣賞 Go。我認(rèn)為 Go 是有史以來最好的編程語言之一。Go 在編程領(lǐng)域達(dá)到了難以企及的狀態(tài),作為一種健壯的工程工具,在未來幾十年中,使用 Go 編寫的應(yīng)用程序都能夠正常且良好地運(yùn)作。我認(rèn)為 Go 是高水準(zhǔn)的編程語言,希望它能夠繼續(xù)發(fā)光發(fā)彩。
原文鏈接:
https://drewdevault.com/2021/04/02/Go-is-a-great-language.html
聲明:本文由CSDN翻譯,轉(zhuǎn)載請注明來源。
推薦閱讀
