AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

Go 哪里沒有做好?Rob Pike 深刻反思了

來源: 責編: 時間:2024-04-08 17:19:33 188觀看
導讀今天這篇將會繼續(xù)延續(xù)前文,一起深入探究 Go 做錯、失敗的地方在哪。學習前人的經(jīng)驗。沒有引導好并發(fā)理念從歷史背景來看,在 Go 誕生的那個年代,并發(fā)編程是一個比較新穎的理念。許多其他編程語言、論文甚至書籍都寫過關(guān)于

今天這篇將會繼續(xù)延續(xù)前文,一起深入探究 Go 做錯、失敗的地方在哪。學習前人的經(jīng)驗。i0m28資訊網(wǎng)——每日最新資訊28at.com

沒有引導好并發(fā)理念

從歷史背景來看,在 Go 誕生的那個年代,并發(fā)編程是一個比較新穎的理念。許多其他編程語言、論文甚至書籍都寫過關(guān)于并發(fā)編程的內(nèi)容。并發(fā)編程還沒有成為主流思想。i0m28資訊網(wǎng)——每日最新資訊28at.com

Go 團隊發(fā)明了 “goroutine” 這個詞,Go 讓協(xié)程的使用變得非常簡單。也正因為有了并發(fā),讓這一切看起來像是一種新鮮的事物。i0m28資訊網(wǎng)——每日最新資訊28at.com

聽起來都很美妙。但是,Go 做錯了什么?i0m28資訊網(wǎng)——每日最新資訊28at.com

rob 認為:Go 團隊在并發(fā)上,缺乏對使用 Go 的開發(fā)者進行并發(fā)編程的指導。認為這是重大錯誤。i0m28資訊網(wǎng)——每日最新資訊28at.com

為此 Go 團隊整體上花了非常多的時間做教育和宣導,來澄清并行和并發(fā)之間的區(qū)別。i0m28資訊網(wǎng)——每日最新資訊28at.com

這一現(xiàn)象,直到 2012 年在技術(shù)大會上做了以下分享:i0m28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片i0m28資訊網(wǎng)——每日最新資訊28at.com

Concurrency is not Parallelism by Rob Pike[1]i0m28資訊網(wǎng)——每日最新資訊28at.com

自此,“并發(fā)不是并行” 這句 Go 哲學用語流行了起來。一直到現(xiàn)在。i0m28資訊網(wǎng)——每日最新資訊28at.com

編譯器有些困擾

早期的 Go 編譯器是用 C 編寫的。對社區(qū)里的開發(fā)者造成一定的困擾。i0m28資訊網(wǎng)——每日最新資訊28at.com

普遍上正確的方式是使用 LLVM 或類似的工具包,或者用 Go 本身編寫編譯器。這被稱為自托管或自舉。i0m28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片i0m28資訊網(wǎng)——每日最新資訊28at.com

The Go compiler architecture post Go 1.5i0m28資訊網(wǎng)——每日最新資訊28at.com

后面 rsc 加入后寫了個工具,半自動地將編譯器從 C 翻譯為 Go。再到后面(現(xiàn)在)絕大部分都是 Go 編寫的了。i0m28資訊網(wǎng)——每日最新資訊28at.com

編譯器的正式完善,Go 團隊一開始優(yōu)先級是放的比較低的。只是 ken 用 C 快速寫了個 plan9 風格的編譯器。直至后面 Go 核心相對穩(wěn)定,也有了新的人員進入后才逐步改變。i0m28資訊網(wǎng)——每日最新資訊28at.com

有的同學看到這,可能在想。這有什么錯誤的?rob 的解釋是:有些人對這一選擇感到不快,但這是我們當時最正確的選擇。i0m28資訊網(wǎng)——每日最新資訊28at.com

項目管理沒做好

這里特指的是開源社區(qū)。Go 團隊一開始就知道,Go 如果希望成功,必須要是一個開源項目。i0m28資訊網(wǎng)——每日最新資訊28at.com

但是 Go 團隊向開源的過渡的不是很順利,也比較缺乏經(jīng)驗。花費了大量的時間與社區(qū)溝通、互動、討論。i0m28資訊網(wǎng)——每日最新資訊28at.com

最終花了很長時間才了解轉(zhuǎn)為開放源代碼項目的影響,以及如何進行管理這個項目。i0m28資訊網(wǎng)——每日最新資訊28at.com

另外,Go 項目曾使用過 4 種不同的內(nèi)容管理系統(tǒng):SVN、Perforce、Mercurial 和 Git。Russ 做了一項艱巨的工作,讓所有的歷史都得以保留,這非常有價值。i0m28資訊網(wǎng)——每日最新資訊28at.com

包管理做的不太好

開發(fā) Go 軟件包管理的過程并不順利。i0m28資訊網(wǎng)——每日最新資訊28at.com

嚴謹來講,Go 本身的軟件包設(shè)計非常出色,但包管理和過程不太好。i0m28資訊網(wǎng)——每日最新資訊28at.com

主要分為以下兩點:i0m28資訊網(wǎng)——每日最新資訊28at.com

1、沒有使用包管理的經(jīng)驗:早期 Go 核心團隊的成員都很熟悉 Google 的工作方式,即使用 monorepo 和每個人都在進行構(gòu)建。但是,我們在使用軟件包管理器沒有足夠的經(jīng)驗,軟件包版本眾多,解決依賴關(guān)系圖的問題也非常困難。i0m28資訊網(wǎng)——每日最新資訊28at.com

2、與社區(qū)的合作不太成功:讓社區(qū)參與幫助解決依賴管理問題的初衷是好的,但當最終設(shè)計出來時,即使有大量的文檔和關(guān)于理論的文章,社區(qū)中的許多人還是覺得被輕視了。i0m28資訊網(wǎng)——每日最新資訊28at.com

Go 團隊認為這次失敗給團隊上了一課,讓他們知道如何真正與社區(qū)互動,并且自此取得了很大的進步。i0m28資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在包模塊的事情已經(jīng)塵埃落定,新出現(xiàn)的設(shè)計在技術(shù)上非常出色,而且似乎對大多數(shù)用戶來說都很好用。只是時間太長,道路崎嶇。i0m28資訊網(wǎng)——每日最新資訊28at.com

本煎魚表示,這次包管理的社區(qū)和官方的斗爭事件,也成為了 Go 團隊在社區(qū)里顯著的黑料,這么多年了也一直被記著。反復(fù)被人提起。i0m28資訊網(wǎng)——每日最新資訊28at.com

文檔和示例沒寫好

前期沒有做好的事情是文檔。Go 團隊寫了很多文檔,并認為自己做得很好,但很快就發(fā)現(xiàn),社區(qū)需要的文檔水平與團隊的預(yù)期不同。i0m28資訊網(wǎng)——每日最新資訊28at.com

原先的文檔,即使是最簡單的功能,我們也缺少示例。原以為只要說出某個功能的作用就可以了,我們花了很長時間才認識到,展示如何使用這些功能才更有價值。i0m28資訊網(wǎng)——每日最新資訊28at.com

Executable examplesExecutable examplesi0m28資訊網(wǎng)——每日最新資訊28at.com

劃重點,要有例子!i0m28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片i0m28資訊網(wǎng)——每日最新資訊28at.com

后面這些問題都已經(jīng)解決,現(xiàn)在的文檔中有很多示例,可以在瀏覽器上直接運行這些代碼片段。i0m28資訊網(wǎng)——每日最新資訊28at.com

總結(jié)

在 rob 對 Go 過去那么多年做回顧時,我們能夠發(fā)現(xiàn)無論是做得好,做的不好,都不是單純一點就能夠涵蓋的。i0m28資訊網(wǎng)——每日最新資訊28at.com

在本篇文章中,我認為更多的是 Go 團隊的成長過程中,一開始不懂,后面慢慢才懂的事情。我們可以以此吸取好的地方,爭取站在大佬的肩膀上。i0m28資訊網(wǎng)——每日最新資訊28at.com

最后 rob 也再次強調(diào)了,Google 對 Go 的支持慷慨得令人難以置信,Google 并不制定議程。社區(qū)的參與度要高得多。核心 Go 團隊由 Google 支付報酬,但他們是獨立的。i0m28資訊網(wǎng)——每日最新資訊28at.com

參考資料

[1]Concurrency is not Parallelism by Rob Pike: https://www.youtube.com/watch?v=oV9rvDllKEgi0m28資訊網(wǎng)——每日最新資訊28at.com

i0m28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-82038-0.htmlGo 哪里沒有做好?Rob Pike 深刻反思了

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 基于TTL 解決線程池中 ThreadLocal 線程無法共享的問題

下一篇: Java中的String,這一篇就夠了

標簽:
  • 熱門焦點
  • 7月安卓手機好評榜:三星S23Ultra好評率第一

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數(shù)據(jù)來源安兔兔評測,收集時間2023年7月1日至7月31日,僅限國內(nèi)市場。第一名:三星Galaxy S23 Ultra好評率:95.71%在即將迎來新
  • 0糖0卡0脂 旭日森林仙草烏龍茶優(yōu)惠:15瓶到手29元

    旭日森林無糖仙草烏龍茶510ml*15瓶平時要賣為79.9元,今日下單領(lǐng)取50元優(yōu)惠券,到手價為29.9元。產(chǎn)品規(guī)格:0糖0卡0脂,添加草本仙草汁,清涼爽口,富含茶多酚,保留
  • 三言兩語說透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是兩種很有用的技術(shù),可以幫助我們寫出更加優(yōu)雅、泛用的函數(shù)。本文將首先介紹柯里化和反柯里化的概念、實現(xiàn)原理和應(yīng)用
  • 重估百度丨“晚熟”的百度云,能等到春天嗎?

    ©自象限原創(chuàng)作者|程心排版|王喻可2016年7月13日,百度云計算戰(zhàn)略發(fā)布會在北京舉行,宣告著百度智能云的正式啟程。彼時的會場座無虛席,甚至排隊排到了門外,在場的所有人幾乎都
  • 10天營收超1億美元,《星鐵》比《原神》差在哪?

    來源:伯虎財經(jīng)作者:陳平安即便你沒玩過《原神》,你一定聽說過的它的大名。恨它的人把《原神》開服那天稱作是中國游戲史上最黑暗的一天,有粉絲因為索尼在PS平臺上線《原神》,怒而
  • 自律,給不了Keep自由!

    來源 | 互聯(lián)網(wǎng)品牌官作者 | 李大為編排 | 又耳 審核 | 谷曉輝自律能不能給用戶自由暫時不好說,但大概率不能給Keep自由。近日,全球最大的在線健身平臺Keep正式登陸港交所,努力
  • AMD的AI芯片轉(zhuǎn)單給三星可能性不大 與臺積電已合作至2nm制程

    據(jù) DIGITIMES 消息,英偉達 AI GPU 出貨逐季飆升,接下來 AMD MI 300 系列將在第 4 季底量產(chǎn)。而半導體業(yè)內(nèi)人士表示,近日傳出 AMD 的 AI 芯片將轉(zhuǎn)單給
  • 2299元起!iQOO Pad開啟預(yù)售:性能最強天璣平板

    5月23日,iQOO如期舉行了新品發(fā)布會,除了首發(fā)安卓最強旗艦處理器的iQOO Neo8系列新機外,還在發(fā)布會上推出了旗下首款平板電腦——iQOO Pad,其搭載了天璣
  • 回歸OPPO兩年,一加贏了銷量,輸了品牌

    成為OPPO旗下主打性能的先鋒品牌后,一加屢創(chuàng)佳績。今年618期間,一加手機全渠道銷量同比增長362%,憑借一加 11、一加 Ace 2、一加 Ace 2V三款爆品,一加
Top