中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

【十問十答】對話Go語言開發(fā)團隊

2018-07-20    來源:編程學習網(wǎng)

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

  Go是谷歌推出的一門編程語言。熟悉Go語言的開發(fā)者都知道其彌補了C語言的不足并且保持了C的極簡主義。使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持并行進程(使用Go語言的12個理由)。一些主流的項目包括Docker、Heroku's Force.com以及Cloud Foundry's (Go)Router都是基于Go語言編寫而來。有人說,Go為云而生,也正是由于其擁有并發(fā)性的操作系統(tǒng)以及完美的架構(gòu),使其備受開發(fā)者的青睞。

  本月10日在巴黎舉行的dotGo會議最后一個環(huán)節(jié),是對Go語言開發(fā)團隊(包括memcached開發(fā)者Brad Fitzpatrick)的問答。本文譯自Sourcegraph的同學的現(xiàn)場記錄,讓我們一起來聆聽大神們怎么看Go語言吧。

  譯文如下:

Go語言開發(fā)團隊成員:Francesc Campoy Flores、Andrew Gerrand、Brad Fitzpatrick、Dave Cheney、Keith Rarick及Blake Mizerany

  Q1:在任何編程語言中都會出現(xiàn)反模式(譯注:指應(yīng)該避免的錯誤用法),尤其是新語言,人們還在學習該使用和復(fù)用哪些語言特性。你們在Go語言中看到了哪些反模式,正確的做法是什么?

  Dave Cheney:我覺得是包,現(xiàn)在的包實在是太多了。包的粒度應(yīng)該是一個比較完整和具體的概念,比如HTTP包合適,而HTTP Client就不合適。

  Utility包沒問題,但名字不應(yīng)該只是叫“utils”。

  Q2:坊間有不少第三方的依賴管理工具,如:godep,gpm等。未來Go的核心會提供這種功能嗎?

  Brad Fitzpatrick:我們不想來定義游戲規(guī)則,話語權(quán)應(yīng)交給社區(qū),讓它們自由競爭,產(chǎn)生勝者。受歡迎的產(chǎn)品穩(wěn)定幾年之后,我們才會考慮納入語言核心。另外,我們之所以不太操心依賴管理,是因為在Google內(nèi)部我們不用這些工具。

  Andrew Gerrand:語言核心中沒有版本管理能促使庫的作者們提供好的、穩(wěn)定的API。約定是包API改變時,只改變導入路徑。

  Q3:Go語言在Unix環(huán)境下的服務(wù)器端編程表現(xiàn)不俗。接下來,人們會不會嘗試使用Go來進行桌面和嵌入式應(yīng)用的編寫?

  Dave Cheney:我樂于看到Go能在小的ARM處理器上有所表現(xiàn)。我們需要讓編譯器能針對不同的ARM生成相應(yīng)的代碼,這還比較簡單。另外,垃圾回收語言需要更多內(nèi)存,但這也是可以解決的問題。

  Brad Fitzpatrick:已經(jīng)有人用Go編寫GUI庫了。

  Q4:Go語言在對Android支持方面有什么新進展嗎?

  Andrew Gerrand:當然有!Google紐約辦公室的David Crawshaw正在做這方面工作。他有幾個讓Go在Android上運行的辦法:1)通過NDK,游戲應(yīng)用可以訪問畫布、觸摸事件、聲音等;2)使用Java與Go相結(jié)合的辦法。

  Q5:你認為Go語言的垃圾回收器已經(jīng)適合用于產(chǎn)品環(huán)境的長時間運行、低延遲處理了嗎?

  Brad Fitzpatrick:沒問題啊,只要你仔細處理垃圾。我們已嘗試重構(gòu)dl.google.com,產(chǎn)生更少的垃圾,延遲非常小,F(xiàn)在Google內(nèi)部只剩一個客戶的實時需求Go垃圾回收器還無法滿足。

  Q6:類似dlopen的動態(tài)載入代碼有什么新進展嗎?

  Andrew Gerrand: 可以先看看Lance Taylor最近寫的關(guān)于Go語言執(zhí)行模式的文檔:Go代碼可以在哪些不同上下文中運行。這些模式的實現(xiàn)都在計劃之中,但何時完成誰來完成,具體還沒有時間表,文檔可以說是第一步吧。

  Brad Fitzpatrick:我想在連接器用Go重寫之前都沒時間做。

  Q7:因為沒有機制引用其他goroutine,實現(xiàn)supervision tree和銷毀goroutine線程都需要手工操作。這些未來會解決嗎,哪些是通過庫來支持,哪些會通過修改語言?

  Dave Cheney:在今年的GopherCon 會議上,有一種強烈的感覺,設(shè)計即使崩潰也能安全恢復(fù)的健壯應(yīng)用是程序員的天職。指望系統(tǒng)層面花費投入精力就能坐收百分百可靠性,是靠不住的。

  Andrew Gerrand: 我覺得你應(yīng)該反過來想想,即使Go語言把這些都實現(xiàn)了又能怎么樣呢?整個進程崩潰,清理處理器沒法調(diào)用時,你還不是得自己處理?

  Q8:堆壓縮在路線圖上嗎?還是要等到在2.0版本大改?

  Brad Fitzpatrick:這個在路線圖上。(Brad自己在此次會議的演講中說,Go 2.0還根本沒影呢)

  Q9:Go語言在新特性開發(fā)上好像較保守,不愿意增加新特性,這是有意為之嗎?

  Dave Cheney:是的,這正是Go的特色之一。

  Andrew Gerrand:Go的設(shè)計當初只需要三名成員達成共識就行,F(xiàn)在成員多多了,所謂眾口難調(diào),共識更難達成。(半開玩笑的口氣)小痛點不值得改,而大痛點需要大改,又很難hold住。Go 1.x總體已經(jīng)定型了,我不認為增加泛型能突然讓大家都滿意。

  Brad Fitzpatrick:記住,標準委員會永遠不會刪掉任何東西。

  Q10:大公司對選擇新語言顯得更為慎重,對于說服他們來使用Go語言有什么建議嗎?

  Dave Cheney:Go語言進入某個公司,往往是因為能解決具體問題,而不是來自上層的命令。這是最好的推廣語:“它能幫我解決問題。”

  Andrew Gerrand:我必須指出,現(xiàn)在使用Go語言的大公司很多,包括蘋果、Comcast、Facebook等等。更長列表參見這里。

  英文出自:dotGo

標簽: Google 安全 代碼 服務(wù)器 服務(wù)器端 谷歌 開發(fā)者 推廣

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:13 種編程語言名稱的來歷

下一篇:最值得你學習的編程語言