久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

左耳朵耗子:Go語言,?Docker?對新技術(shù)怎么看,?

 aloha52o 2017-11-08

作者|陳皓
編輯|楊爽
本文摘自陳皓(左耳朵耗子)在極客時間App開設(shè)的付費專欄“左耳聽風(fēng)”,。


Go語言,,Docker和新技術(shù) 來自StuQ 01:34

下載「 極客時間 」App,,收聽完整版音頻。

上個月,,作為 Go 語言的三位創(chuàng)始人之一,,Unix 老牌黑客羅勃·派克(Rob Pike)在新文章“Go: Ten years and climbing”中,回顧了一下 Go 語言的發(fā)展過程,。其中提到,,Go 語言這十年的迅猛發(fā)展大到連他們自己都沒有想到,并且還成為了云計算領(lǐng)域中新一代的開發(fā)語言,。還提到了,,中國程序員對 Go 語言的熱愛完全超出了他們的想象,甚至他們都不敢相信是真的,。

這讓我想起,,我在 2015 年 5 月份拜訪 Docker 公司在灣區(qū)的總部時,Docker 負(fù)責(zé)人也和我表達(dá)了相似的感嘆:他們完全沒有想到居然中國有那么多人喜歡 Docker,,而且還有這么多人在為 Docker 做貢獻(xiàn),,這讓他們感到非常意外。此外,,還跟我說,,中國是除了美國本土之外的另外一個如此喜歡 Docker 技術(shù)的國家,在其它國家都沒有看到,。

的確如他們所說,,Go 語言和 Docker 這兩種技術(shù)已經(jīng)成為新一代的云計算技術(shù),,而且可以看到其發(fā)展態(tài)勢非常迅猛。而中國也成為了像美國一樣在強力推動這兩種技術(shù)的國家,。這的確是一件讓人感到非常高興的事,,因為中國在跟隨時代潮流這件事上已經(jīng)做得非常不錯了。

然而,,從 2014-2015 年我在阿里推動 Docker 和 Go 語言的痛苦和失敗過程中,,以及這許多年來,有很多很多人問我是否要學(xué) Go 語言,,是否要學(xué) Docker,,Go 和 Docker 是否能用在生產(chǎn)線上,這些問題看來,,對于 Go 語言和 Docker 這兩種技術(shù),,在國內(nèi)的技術(shù)圈中有相當(dāng)大的一部分人和群體還在執(zhí)觀望或是不信任的態(tài)度。

所以,,我想寫這篇文章,,從兩個方面來論述一下我的觀點和看法。

  • 一個方面,,為什么 Go 語言和 Docker 會是新一代的云計算技術(shù),。

  • 另一個方面,作為技術(shù)人員,,我們?nèi)绾巫R別什么樣的新技術(shù)會是未來的趨勢,。

這兩個問題是相輔相成的,所以我會把這兩個問題揉在一起談,。

雖然 Go 語言是在 2009 年底開源的,,但我是從 2012 年才開始接觸和學(xué)習(xí) Go 語言的。我只花了一個周末兩天的時間就學(xué)完了,,而且在這兩天,,我還很快地寫出了一個能工作很好的網(wǎng)頁爬蟲程序,以及一個簡單的高并發(fā)文件處理服務(wù),,用于提取前面抓取的網(wǎng)頁的關(guān)鍵內(nèi)容,。這兩個程序都很簡單,總共才寫了不到 500 行代碼,。

我當(dāng)時對 Go 語言有幾點體會,。

第一,語言簡單,,上手快 。Go 語言的語法特性簡直是太簡單了,,簡單到你幾乎玩不出什么花招,,直來直去的,,學(xué)習(xí)曲線很低,上手非???。

第二,并行和異步編程幾乎無痛點 ,。Go 語言的 Goroutine 和 Channel 這兩個神器簡直就是并發(fā)和異步編程的巨大福音,。像 C、C++,、Java,、Python 和 JavaScript 這些語言的并發(fā)和異步方式太控制就比較復(fù)雜了,而且容易出錯,,而 Go 解決這個問題非常地優(yōu)雅和流暢,。這對于編程多年受盡并發(fā)和異步折磨的我來說,完全就是讓我眼前一亮的感覺,。


(圖片來自 Medium:Why should you learn Go?)

第三,,Go 語言的 lib 庫麻雀雖小五臟俱全 。Go 語言的 lib 庫中基本上有絕大多數(shù)常用的庫,,雖然有些庫還不是很好,,但我覺得不是問題,因為我相信在未來的發(fā)展中會把這些問題解決掉,。

第四,,C 語言的理念和 Python 的姿態(tài) 。C 語言的理念是信任程序員,,保持語言的小巧,,不屏蔽底層且底層友好,關(guān)注語言的執(zhí)行效率和性能,。而 Python 的姿態(tài)是用盡量少的代碼完成盡量多的事,。于是我能夠感覺到,Go 語言想要把 C 和 Python 統(tǒng)一起來,,這是多棒的一件事啊,。


(圖片來自 Medium:Why should you learn Go?)

所以,即便 Go 語言存在諸多的問題,,比如垃圾回收,、異常處理、泛型編程等,,但相較于上面這幾個優(yōu)勢,,我認(rèn)為這些問題都是些小問題。于是就毫不猶豫地入坑了,。

當(dāng)然,,一個技術(shù)能不能發(fā)展起來,,關(guān)鍵還要看三點。

  • 有沒有一個比較好的社區(qū) ,。像 C,、C++、Java,、Python 和 JavaScript 的生態(tài)圈都是非常豐富和火爆的,。尤其是有很多商業(yè)機構(gòu)參與的社區(qū)那就更為人氣爆棚了,比如 Linux 的社區(qū),。

  • 有沒有一個工業(yè)化的標(biāo)準(zhǔn) ,。像 C、C++,、Java 都是有標(biāo)準(zhǔn)化組織的,。尤其是 Java,其在架構(gòu)上還搞出了像 J2EE 這樣的企業(yè)級標(biāo)準(zhǔn),。

  • 有沒有一個或多個殺手級應(yīng)用 ,。C、C++ 和 Java 的殺手級應(yīng)用不用多說了,,就算是對于 PHP 這樣還不能算是一個好的編程語言來說,,因為是 Linux 時代的第一個殺手級解決方案 LAMP 中的關(guān)鍵技術(shù),所以,,也發(fā)展起來了,。

上述的這三點是非常關(guān)鍵的,新的技術(shù)只需要占到其中一到兩點就已經(jīng)很不錯了,,何況有的技術(shù),,比如 Java,是三點全占到了,,所以,,Java 的發(fā)展是如此好。當(dāng)然,,除了上面這三點重要的,,還有一些其它的影響因素,比如:

  • 學(xué)習(xí)曲線是否低,,上手是否快 ,。這點非常重要,C++ 在這點上越做越不好了,。

  • 有沒有一個不錯的提高開發(fā)效率的開發(fā)框架 ,。如:Java 的 Spring 框架,C++ 的 STL 等,。

  • 是否有一個或多個巨型的技術(shù)公司作為后盾 ,。如:Java 和 Linux 后面的 IBM,、Sun……

  • 有沒有解決軟件開發(fā)中的痛點 。如:Java 解決了 C 和 C++ 的內(nèi)存管理問題,。

用這些標(biāo)尺來量一下 Go 語言,我們可以清楚地看到:

  • Go 語言容易上手,;

  • Go 語言解決了并發(fā)編程和寫底層應(yīng)用開發(fā)效率的痛點,;

  • Go 語言有 Google 這個世界一流的技術(shù)公司在后面;

  • Go 語言的殺手級應(yīng)用是 Docker,,而 Docker 的生態(tài)圈在這幾年完全爆棚了,。

所以,Go 語言的未來是不可限量的,。當(dāng)然,,我個人覺得,Go 可能會吞食很多 C,、C++,、Java 的項目。不過,,Go 語言所吞食主要的項目應(yīng)該是中間層的項目,,既不是非常底層也不會是業(yè)務(wù)層。

也就是說,,Go 語言不會吞食底層到 C 和 C++ 那個級別的,,也不會吞食到高層如 Java 業(yè)務(wù)層的項目。Go 語言能吞食的一定是 PaaS 上的項目,,比如一些消息緩存中間件,、服務(wù)發(fā)現(xiàn)、服務(wù)代理,、控制系統(tǒng),、Agent、日志收集等等,,沒有復(fù)雜的業(yè)務(wù)場景,,也到不了特別底層(如操作系統(tǒng))的中間平臺層的軟件項目或工具。而 C 和 C++ 會被打到更底層,,Java 會被打到更上層的業(yè)務(wù)層,。這是我的一個判斷。

好了,,我們再用上面的標(biāo)尺來量一下 Go 語言的殺手級應(yīng)用 Docker,,你會發(fā)現(xiàn)基本是一樣的。

  • Docker 上手很容易,。

  • Docker 解決了運維中的環(huán)境問題以及服務(wù)調(diào)度的痛點,。

  • Docker 的生態(tài)圈中有大公司在后面助力,。比如 Google。

  • Docker 產(chǎn)出了工業(yè)界標(biāo)準(zhǔn) OCI,。

  • Docker 的社區(qū)和生態(tài)圈已經(jīng)出現(xiàn)像 Java 和 Linux 那樣的態(tài)勢,。

  • ……

所以,早在 3,、4 年前我就覺得 Docker 一定會是未來的技術(shù),。雖然當(dāng)時的坑兒還很多,但是,,相對于這些大的因素來說,,那些小坑兒都不是問題。只是需要一些時間,,這些小坑兒在未來 5-10 年就可以完全被填平了,。

同樣,我們可以看到 Kubernetes 作為服務(wù)和容器調(diào)度的關(guān)鍵技術(shù)一定會是最后的贏家,。這點我在去年初就能夠很明顯地感覺到了,。

關(guān)于 Docker 我還想多說幾句,這是云計算中 PaaS 的關(guān)鍵技術(shù),,雖然,,這世上在出現(xiàn) Docker 之前,幾乎所有的要玩公有 PaaS 的公司和產(chǎn)品都玩不起來,,比如:Google 的 GAE,,國內(nèi)的各種 XAE,如淘寶的 TAE,,新浪的 SAE 等,。但我還是想說,PaaS 是一個被世界或是被產(chǎn)業(yè)界嚴(yán)重低估的平臺,。

PaaS 層是承上啟下的關(guān)鍵技術(shù),,任何一個不重視 PaaS 的公司,其技術(shù)架構(gòu)都不可能讓這家公司成長為一個大型的公司,。因為 PaaS 層的技術(shù)主要能解決下面這些問題,。

  • 軟件生產(chǎn)線的問題 。持續(xù)集成和持續(xù)發(fā)布,,以及 DevOps 中的技術(shù)必需通過 PaaS,。

  • 分布式服務(wù)化的問題 。分布式服務(wù)化的服務(wù)高可用,、服務(wù)編排,、服務(wù)調(diào)度、服務(wù)發(fā)現(xiàn)、服務(wù)路由,,以及分布式服務(wù)化的支撐技術(shù)完全是 PaaS 的菜,。

  • 提高服務(wù)的可用性 SLA 。提高服務(wù)可用性 SLA 所需要的分布式,、高可用的技術(shù)架構(gòu)和運維工具,,也是 PaaS 層提供的。

  • 軟件能力的復(fù)用 ,。軟件工程中的核心就是軟件能力的復(fù)用,,這一點也完美地體現(xiàn)在 PaaS 平臺的技術(shù)上。

老實說,,這些問題的關(guān)鍵程度已經(jīng)到了能判斷一家依托技術(shù)的公司的研發(fā)能力是否靠譜的程度。沒有這些技術(shù),,依托技術(shù)拓展業(yè)務(wù)的公司幾乎沒有可能發(fā)展得規(guī)模很大,。

在后面,我會另外寫幾篇文章詳細(xì)地講一下分布式服務(wù)化和 PaaS 平臺的重要程度,。

最后,,我還要說一下,為什么要早一點地進(jìn)入這些新技術(shù),,而不是等待這些技術(shù)成熟了后再進(jìn)入,。原因有這么幾個。

  • 技術(shù)的發(fā)展過程非常重要 ,。我進(jìn)入 Go 和 Docker 的技術(shù)不能算早,,但也不算晚,從 2012 年學(xué)習(xí) Go,,到 2013 年學(xué)習(xí) Docker 到今天,,我清楚地看到了這兩種技術(shù)的生態(tài)圈發(fā)展過程。讓我收獲最大的并不是這些技術(shù)本身,,而是一個技術(shù)的變遷和行業(yè)的發(fā)展,。

從中,我看到了非常具體的各種思潮和思路,,這些東西比起 Go 和 Docker 來說更有價值,。因為,這不但讓我重新思考我已掌握的技術(shù)以及如何更好地解決已有的問題,,而且還讓我看到了未來,。我不但有了技術(shù)優(yōu)勢,而且這些知識還讓我的技術(shù)生涯多了很多的可能性,。

  • 這些關(guān)鍵新技術(shù),,可以讓你拿到技術(shù)的先機  。這些對一個需要技術(shù)領(lǐng)導(dǎo)力的個人或公司來說都是非常重要的。

一個公司或是個人能夠占有技術(shù)先機,,就會比其它公司或個人有更大的影響力,。一旦未來行業(yè)需求引爆,那么這個公司或是個人的影響力就會形成一個比較大的護(hù)城河,,并可以快速地產(chǎn)生經(jīng)濟(jì)利益,。

近期,在與中國移動,、中國電信以及一些股份制銀行進(jìn)行交流的過程中,,我已看到通訊行業(yè)、金融行業(yè)對于 PaaS 平臺的理解已經(jīng)超過了互聯(lián)網(wǎng)公司,,而我近 3 年來在這些技術(shù)上的研究讓我也從中受益非淺,。

所以,Go 語和 Docker 作為 PaaS 平臺的關(guān)鍵技術(shù)前途是無限的,,我很慶幸趕上了這個浪潮,,也很慶幸在 3 年前我就看到了這個趨勢,現(xiàn)在我也在用這些技術(shù)開發(fā)相關(guān)的技術(shù)產(chǎn)品,,助力于為高速成長的公司提供這些關(guān)鍵技術(shù),。

注:本文摘自陳皓(左耳朵耗子)在極客時間App開設(shè)的付費專欄“左耳聽風(fēng)”,更多文章請掃描下圖二維碼,。


左耳聽風(fēng)專欄 | 全年目錄

陳皓特意選擇“洞悉技術(shù)的本質(zhì),,享受科技的樂趣”作為專欄的Slogan,意在幫助讀者拓寬思維,、開闊視野,,并能在技術(shù)工作中找到一種快樂的感覺。專欄的內(nèi)容設(shè)置具體如下:

  1. 剖析主流關(guān)鍵技術(shù),,從而提升你對技術(shù)的認(rèn)知理解程度,。

  2. 技術(shù)人生相關(guān),分享程序員應(yīng)對求職,、工作等方面難題的妙招,,如何面試,如何晉升,,如何在職場中成長,,如何拿到高薪,如何用技術(shù)變現(xiàn),,等等,。從而讓你可以在技術(shù)的道路上走得更好更快。

  3. 團(tuán)隊管理相關(guān),,話題涵蓋:如何管理團(tuán)隊,,如何當(dāng)好一個Leader,如何有執(zhí)行力,如何解決沖突,,如何管理好用戶,,如何應(yīng)對各式各樣的管理難題,等等,。從而幫你成為一個更為優(yōu)秀的團(tuán)隊領(lǐng)導(dǎo)者,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多