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

【十問(wèn)十答】對(duì)話Go語(yǔ)言開發(fā)團(tuán)隊(duì)

2018-07-20    來(lái)源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

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

  本月10日在巴黎舉行的dotGo會(huì)議最后一個(gè)環(huán)節(jié),是對(duì)Go語(yǔ)言開發(fā)團(tuán)隊(duì)(包括memcached開發(fā)者Brad Fitzpatrick)的問(wèn)答。本文譯自Sourcegraph的同學(xué)的現(xiàn)場(chǎng)記錄,讓我們一起來(lái)聆聽大神們?cè)趺纯碐o語(yǔ)言吧。

  譯文如下:

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

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

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

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

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

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

  Andrew Gerrand:語(yǔ)言核心中沒(méi)有版本管理能促使庫(kù)的作者們提供好的、穩(wěn)定的API。約定是包API改變時(shí),只改變導(dǎo)入路徑。

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

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

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

  Q4:Go語(yǔ)言在對(duì)Android支持方面有什么新進(jìn)展嗎?

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

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

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

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

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

  Brad Fitzpatrick:我想在連接器用Go重寫之前都沒(méi)時(shí)間做。

  Q7:因?yàn)闆](méi)有機(jī)制引用其他goroutine,實(shí)現(xiàn)supervision tree和銷毀goroutine線程都需要手工操作。這些未來(lái)會(huì)解決嗎,哪些是通過(guò)庫(kù)來(lái)支持,哪些會(huì)通過(guò)修改語(yǔ)言?

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

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

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

  Brad Fitzpatrick:這個(gè)在路線圖上。(Brad自己在此次會(huì)議的演講中說(shuō),Go 2.0還根本沒(méi)影呢)

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

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

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

  Brad Fitzpatrick:記住,標(biāo)準(zhǔn)委員會(huì)永遠(yuǎn)不會(huì)刪掉任何東西。

  Q10:大公司對(duì)選擇新語(yǔ)言顯得更為慎重,對(duì)于說(shuō)服他們來(lái)使用Go語(yǔ)言有什么建議嗎?

  Dave Cheney:Go語(yǔ)言進(jìn)入某個(gè)公司,往往是因?yàn)槟芙鉀Q具體問(wèn)題,而不是來(lái)自上層的命令。這是最好的推廣語(yǔ):“它能幫我解決問(wèn)題。”

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

  英文出自:dotGo

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

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

上一篇:13 種編程語(yǔ)言名稱的來(lái)歷

下一篇:最值得你學(xué)習(xí)的編程語(yǔ)言