日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

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

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

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

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

沒有引導好并發理念

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

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

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

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

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

這一現象,直到 2012 年在技術大會上做了以下分享:wjr28資訊網——每日最新資訊28at.com

圖片圖片wjr28資訊網——每日最新資訊28at.com

Concurrency is not Parallelism by Rob Pike[1]wjr28資訊網——每日最新資訊28at.com

自此,“并發不是并行” 這句 Go 哲學用語流行了起來。一直到現在。wjr28資訊網——每日最新資訊28at.com

編譯器有些困擾

早期的 Go 編譯器是用 C 編寫的。對社區里的開發者造成一定的困擾。wjr28資訊網——每日最新資訊28at.com

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

圖片圖片wjr28資訊網——每日最新資訊28at.com

The Go compiler architecture post Go 1.5wjr28資訊網——每日最新資訊28at.com

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

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

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

項目管理沒做好

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

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

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

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

包管理做的不太好

開發 Go 軟件包管理的過程并不順利。wjr28資訊網——每日最新資訊28at.com

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

主要分為以下兩點:wjr28資訊網——每日最新資訊28at.com

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

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

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

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

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

文檔和示例沒寫好

前期沒有做好的事情是文檔。Go 團隊寫了很多文檔,并認為自己做得很好,但很快就發現,社區需要的文檔水平與團隊的預期不同。wjr28資訊網——每日最新資訊28at.com

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

Executable examplesExecutable exampleswjr28資訊網——每日最新資訊28at.com

劃重點,要有例子!wjr28資訊網——每日最新資訊28at.com

圖片圖片wjr28資訊網——每日最新資訊28at.com

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

總結

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

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

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

參考資料

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

wjr28資訊網——每日最新資訊28at.com

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

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

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

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

標簽:
  • 熱門焦點
  • K60 Pro官方停產 第三方瞬間漲價

    雖然沒有官方宣布,但Redmi的一些高管也已經透露了,Redmi K60 Pro已經停產且不會補貨,這一切都是為了即將到來的K60 Ultra鋪路,屬于廠家的正常操作。但有意思的是該機在停產之后
  • Mate60手機殼曝光 致敬自己的經典設計

    8月3日消息,今天下午博主數碼閑聊站帶來了華為Mate60的第三方手機殼圖,可以讓我們在真機發布之前看看這款華為全新旗艦的大致輪廓。從曝光的圖片看,Mate 60背后攝像頭面積依然
  • 直屏旗艦來了 iQOO 12和K70 Pro同臺競技

    旗艦機基本上使用的都是雙曲面屏幕,這就讓很多喜歡直屏的愛好者在苦等一款直屏旗艦,這次,你們等到了。據博主數碼閑聊站帶來的最新爆料稱,Redmi下代旗艦K70 Pro和iQOO 12兩款手
  • 梁柱接棒兩年,騰訊音樂闖出新路子

    文丨田靜 出品丨牛刀財經(niudaocaijing)7月5日,企鵝FM發布官方公告稱由于業務調整,將于9月6日正式停止運營,這意味著騰訊音樂長音頻業務走向消亡。騰訊在長音頻領域還在摸索。為
  • 拼多多APP上線本地生活入口,群雄逐鹿萬億市場

    Tech星球(微信ID:tech618)文 | 陳橋輝 Tech星球獨家獲悉,拼多多在其APP內上線了“本地生活”入口,位置較深,位于首頁的“充值中心”內,目前主要售賣美食相關的
  • 新電商三兄弟,“抖快紅”成團!

    來源:價值研究所作 者:Hernanderz 隨著內容電商的概念興起,抖音、快手、小紅書組成的“新電商三兄弟”成為業內一股不可忽視的勢力,給阿里、京東、拼多多帶去了巨大壓
  • 華為發布HarmonyOS 4:更好玩、更流暢、更安全

    在8月4日的華為開發者大會2023(HDC.Together)大會上,HarmonyOS 4正式發布。自2019年發布以來,HarmonyOS一直以用戶為中心,經歷四年多的發展HarmonyOS已
  • 2納米決戰2025

    集微網報道 從三強爭霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無論是老牌勁旅臺積電、三星,還是誓言重回先進制程領先地位的英特爾,甚至初成立不久的新
  • 7月4日見!iQOO 11S官宣:“雞血版”驍龍8 Gen2+200W快充加持

    上半年已接近尾聲,截至目前各大品牌旗下的頂級旗艦都已悉數亮相,而下半年即將推出的頂級旗艦已經成為了數碼圈爆料的主流,其中就包括全新的iQOO 11S系
Top 主站蜘蛛池模板: 辽阳市| 鲁山县| 永修县| 建始县| 昆山市| 黄浦区| 安岳县| 安仁县| 南投市| 柳河县| 金沙县| 黔西县| 三亚市| 本溪市| 应用必备| 桃源县| 南康市| 丰县| 汉阴县| 福贡县| 信丰县| 禹州市| 淮安市| 安远县| 洛南县| 尚义县| 双流县| 博白县| 射洪县| 马尔康县| 巴南区| 宝兴县| 益阳市| 西华县| 富裕县| 甘孜县| 逊克县| 汉阴县| 永和县| 攀枝花市| 施秉县|