日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

你好,我是陳皓,網(wǎng)名左耳朵耗子。

之前,作為 Go 語(yǔ)言的三位創(chuàng)始人之一,Unix 老牌黑客羅勃·派克(Rob Pike)在文章“Go: Ten years and climbing”中,回顧了 Go 語(yǔ)言的發(fā)展歷程。文章提到,Go 語(yǔ)言這十年的迅猛發(fā)展快到連他們自己都沒(méi)有想到,并且還成為了云計(jì)算領(lǐng)域新一代的開(kāi)發(fā)語(yǔ)言。另外,文中還說(shuō)到,中國(guó)程序員對(duì) Go 語(yǔ)言的熱愛(ài)完全超出了他們的想象,甚至他們都不敢相信是真的。

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

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

然而就是在這樣的背景下,這幾年,總還是有人會(huì)問(wèn)我是否要學(xué) Go 語(yǔ)言,是否要學(xué) Docker,Go 和 Docker 能否用在生產(chǎn)環(huán)境等等。從這些問(wèn)題來(lái)看,對(duì)于 Go 語(yǔ)言和 Docker 這兩種技術(shù),國(guó)內(nèi)的技術(shù)圈中還有相當(dāng)大的一部分人在觀望。

所以,我想寫(xiě)這篇文章,并從兩個(gè)方面來(lái)論述一下我的觀點(diǎn)和看法。

  • 一個(gè)方面,為什么 Go 語(yǔ)言和 Docker 會(huì)是新一代的云計(jì)算技術(shù)。
  • 另一個(gè)方面,作為技術(shù)人員,我們?nèi)绾巫R(shí)別什么樣的新技術(shù)會(huì)是未來(lái)的趨勢(shì)。

這兩個(gè)問(wèn)題是相輔相成的,所以我會(huì)把這兩個(gè)問(wèn)題揉在一起談。

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

綜合下來(lái),我對(duì) Go 語(yǔ)言有如下幾點(diǎn)體會(huì)。

第一,語(yǔ)言簡(jiǎn)單,上手快。Go 語(yǔ)言的語(yǔ)法特性簡(jiǎn)直是太簡(jiǎn)單了,簡(jiǎn)單到你幾乎玩不出什么花招,直來(lái)直去的,學(xué)習(xí)難度很低,容易上手。

第二,并行和異步編程幾乎無(wú)痛點(diǎn)。Go 語(yǔ)言的 Goroutine 和 Channel 這兩個(gè)神器簡(jiǎn)直就是并發(fā)和異步編程的巨大福音。像 C、C++、JAVA、Python/ target=_blank class=infotextkey>Python 和 JavaScript 這些語(yǔ)言的并發(fā)和異步的編程方式控制起來(lái)就比較復(fù)雜了,并且容易出錯(cuò),但 Go 語(yǔ)言卻用非常優(yōu)雅和流暢的方式解決了這個(gè)問(wèn)題。這對(duì)于編程多年受盡并發(fā)和異步折磨的我來(lái)說(shuō),完全就是眼前一亮的感覺(jué)。

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

第三,Go 語(yǔ)言的 lib 庫(kù)“麻雀雖小,五臟俱全”。Go 語(yǔ)言的 lib 庫(kù)中基本上有絕大多數(shù)常用的庫(kù),雖然有些庫(kù)還不是很好,但我覺(jué)得這都不是主要問(wèn)題,因?yàn)殡S著技術(shù)的發(fā)展和成熟,這些問(wèn)題肯定也都會(huì)隨之解決。

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

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

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

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

  • 有沒(méi)有一個(gè)比較好的社區(qū)。像 C、C++、Java、Python 和 JavaScript 的生態(tài)圈都是非常豐富和火爆的。尤其是有很多商業(yè)機(jī)構(gòu)參與的社區(qū)那就更是人氣爆棚了,比如 linux 社區(qū)。
  • 有沒(méi)有一個(gè)工業(yè)化的標(biāo)準(zhǔn)。像 C、C++、Java 這些編程語(yǔ)言都是有標(biāo)準(zhǔn)化組織的。尤其是 Java,它在架構(gòu)上還搞出了像 J2EE 這樣的企業(yè)級(jí)標(biāo)準(zhǔn)。
  • 有沒(méi)有一個(gè)或多個(gè)殺手級(jí)應(yīng)用。C、C++ 和 Java 的殺手級(jí)應(yīng)用不用多說(shuō)了,就算是對(duì)于 php 這樣還不能算是一個(gè)優(yōu)秀的編程語(yǔ)言來(lái)說(shuō),因?yàn)槭?Linux 時(shí)代的第一個(gè)殺手級(jí)解決方案 LAMP 中的關(guān)鍵技術(shù),所以,也發(fā)展起來(lái)了。

在我看來(lái),上面提到的三點(diǎn)至關(guān)重要,新的技術(shù)只需要占到其中一到兩點(diǎn)就已經(jīng)很不錯(cuò)了,何況有的技術(shù),比如 Java 三點(diǎn)全都滿(mǎn)足,所以,Java 的蓬勃發(fā)展也在情理之中。當(dāng)然,除了上面這三點(diǎn)重要的,還有一些其它的影響因素,比如:

  • 學(xué)習(xí)難度是否低,上手是否快。這點(diǎn)非常重要,C++ 在這點(diǎn)上越做越不好了。
  • 有沒(méi)有一個(gè)不錯(cuò)的提高開(kāi)發(fā)效率的開(kāi)發(fā)框架。如:Java 的 Spring 框架,C++ 的 STL 等。
  • 是否有一個(gè)或多個(gè)巨型的技術(shù)公司作為后盾。如:Java 和 Linux 后面的 IBM、Sun……
  • 有沒(méi)有解決軟件開(kāi)發(fā)中的痛點(diǎn)。如:Java 解決了 C 和 C++ 的內(nèi)存管理問(wèn)題。

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

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

好了,我們?cè)儆蒙厦娴臉?biāo)尺來(lái)衡量一下 Go 語(yǔ)言的殺手級(jí)應(yīng)用 Docker,你會(huì)發(fā)現(xiàn)基本是一樣的。

  • Docker 容易上手。
  • Docker 解決了運(yùn)維中的環(huán)境問(wèn)題以及服務(wù)調(diào)度的痛點(diǎn)。
  • 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)勢(shì)。
  • ……

所以,早在三四年前我就覺(jué)得 Docker 一定會(huì)是未來(lái)的技術(shù)。雖然當(dāng)時(shí)的坑兒還很多,但是,相對(duì)于這些大的因素來(lái)說(shuō),那些小坑都不是問(wèn)題。只是需要一些時(shí)間,這些小坑在未來(lái) 5-10 年就可以完全被填平了。

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

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

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

  • 軟件生產(chǎn)線的問(wèn)題。持續(xù)集成和持續(xù)發(fā)布,以及 DevOps 中的技術(shù)必須通過(guò) PaaS。
  • 分布式服務(wù)化的問(wèn)題。分布式服務(wù)化的服務(wù)高可用、服務(wù)編排、服務(wù)調(diào)度、服務(wù)發(fā)現(xiàn)、服務(wù)路由,以及分布式服務(wù)化的支撐技術(shù)完全是 PaaS 的菜。
  • 提高服務(wù)的可用性 SLA。提高服務(wù)可用性 SLA 所需要的分布式、高可用的技術(shù)架構(gòu)和運(yùn)維工具,也是 PaaS 層提供的。
  • 軟件能力的復(fù)用。軟件工程中的核心就是軟件能力的復(fù)用,這一點(diǎn)也完美地體現(xiàn)在 PaaS 平臺(tái)的技術(shù)上。

老實(shí)說(shuō),這些問(wèn)題的關(guān)鍵程度已經(jīng)到了能判斷一家技術(shù)驅(qū)動(dòng)公司的研發(fā)能力是否靠譜的程度。沒(méi)有這些技術(shù),我認(rèn)為,依托技術(shù)拓展業(yè)務(wù)的公司機(jī)會(huì)就不會(huì)很大。

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

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

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

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

  • 這些關(guān)鍵新技術(shù),可以讓你提前搶占技術(shù)的先機(jī)。這一點(diǎn)對(duì)一個(gè)需要技術(shù)領(lǐng)導(dǎo)力的個(gè)人或公司來(lái)說(shuō)都是非常重要的。

如果一個(gè)公司或者一個(gè)人能夠抓住技術(shù)紅利,那就會(huì)比其它公司或個(gè)人有更大的影響力。一旦未來(lái)行業(yè)需求引爆,那么這個(gè)公司或這個(gè)人的影響力就會(huì)形成一個(gè)比較大的護(hù)城河,并可以快速地從中獲取經(jīng)濟(jì)利益。

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

所以,Go 語(yǔ)言和 Docker 作為 PaaS 平臺(tái)的關(guān)鍵技術(shù)前途是無(wú)限的,我很慶幸自己趕上了這波浪潮,也很慶幸自己在幾年前就看到了這個(gè)趨勢(shì),所以現(xiàn)在我也在用這些技術(shù)開(kāi)發(fā)相關(guān)的技術(shù)產(chǎn)品,并致力于為高速成長(zhǎng)的公司提供這些關(guān)鍵技術(shù)。

分享到:
標(biāo)簽:語(yǔ)言
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定