開(kāi)啟go02.Go語(yǔ)言的前世今生-創(chuàng)新互聯(lián)

開(kāi)啟go 02.Go語(yǔ)言的前世今生

成都創(chuàng)新互聯(lián)公司成立與2013年,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元隨州做網(wǎng)站,已為上家服務(wù),為隨州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

一、 為什么需要一個(gè)新的語(yǔ)言

最近十年來(lái),C/C++在計(jì)算領(lǐng)域沒(méi)有很好得到發(fā)展,并沒(méi)有新的系統(tǒng)編程語(yǔ)言出現(xiàn)。對(duì)開(kāi)發(fā)程度和系統(tǒng)效率在很多情況下不能兼得。要么執(zhí)行效率高,但低效的開(kāi)發(fā)和編譯,如C++;要么執(zhí)行低效,但擁有有效的編譯,如.NET、Java;所以需要一種擁有較高效的執(zhí)行速度、編譯速度和開(kāi)發(fā)速度的編程語(yǔ)言,Go就橫空出世了。

傳統(tǒng)的語(yǔ)言比如c++,大家花費(fèi)太多時(shí)間來(lái)學(xué)習(xí)如何使用這門(mén)語(yǔ)言,而不是如何更好的表達(dá)寫(xiě)作者的思想,同時(shí)編譯花費(fèi)的時(shí)間實(shí)在太長(zhǎng),對(duì)于編寫(xiě)-編譯-運(yùn)行這個(gè)鏈條來(lái)說(shuō)周期太長(zhǎng)。動(dòng)態(tài)語(yǔ)言如Python,由于沒(méi)有強(qiáng)類(lèi)型的約束,很多問(wèn)題需要在運(yùn)行時(shí)發(fā)現(xiàn),這種低級(jí)錯(cuò)誤更應(yīng)該交給編譯器來(lái)發(fā)現(xiàn)。

  • 人力成本越來(lái)越高

  • 機(jī)器越來(lái)越便宜

  • 機(jī)器的性能越來(lái)越厲害

  • 在開(kāi)發(fā)效率和運(yùn)行速度上達(dá)到平衡

go出現(xiàn)之前,無(wú)論匯編語(yǔ)言、還是動(dòng)態(tài)腳本語(yǔ)言,在執(zhí)行效率和開(kāi)發(fā)效率上都不能兼?zhèn)洹?/p>

執(zhí)行效率 execution speed: C/C++ > Java > PHP
開(kāi)發(fā)效率 developing efficiency: PHP > Java > C/C++

二、 谷歌工程師的20%時(shí)間

谷歌的“20%時(shí)間”工作方式,允許工程師拿出20%的時(shí)間來(lái)研究自己喜歡的項(xiàng)目。語(yǔ)音服務(wù)Google Now、谷歌新聞Google News、谷歌地圖Google Map上的交通信息等,全都是20%時(shí)間的產(chǎn)物。

Go語(yǔ)言最開(kāi)始也是20%時(shí)間的產(chǎn)物。

三、 創(chuàng)始人

Go的三個(gè)作者分別是: Rob Pike(羅伯.派克),Ken Thompson(肯.湯普森)和Robert Griesemer(羅伯特.格利茨默) 。

  • Rob Pike:曾是貝爾實(shí)驗(yàn)室(Bell Labs)的Unix團(tuán)隊(duì),和Plan 9操作系統(tǒng)計(jì)劃的成員。他與Thompson共事多年,并共創(chuàng)出廣泛使用的UTF-8 字元編碼。

  • Ken Thompson:主要是B語(yǔ)言、C語(yǔ)言的作者、Unix之父。1983年圖靈獎(jiǎng)(Turing Award)和1998年美國(guó)國(guó)家技術(shù)獎(jiǎng)(National Medal of Technology)得主。他與Dennis Ritchie是Unix的原創(chuàng)者。Thompson也發(fā)明了后來(lái)衍生出C語(yǔ)言的B程序語(yǔ)言。

  • Robert Griesemer:在開(kāi)發(fā)Go之前是Google V8、Chubby和HotSpot JVM的主要貢獻(xiàn)者。

開(kāi)啟go 02.Go語(yǔ)言的前世今生

此外還有Plan 9開(kāi)發(fā)者Russ Cox、和曾改善目前廣泛使用之開(kāi)原碼編譯器GCC的Ian Taylor。

四、 Go的締造與發(fā)展

4.1 Go的命名

開(kāi)啟go 02.Go語(yǔ)言的前世今生

這是一封由 Rob Pike 在 2007 年 9 月 25 號(hào),星期二,下午 3:12 回復(fù)給 Robert Griesemer、Ken Thompson 的有關(guān)編程語(yǔ)言討論主題的郵件,郵件正文大意為:在開(kāi)車(chē)回家的路上我得到了些靈感。1.給這門(mén)編程語(yǔ)言取名為“go”,它很簡(jiǎn)短,易書(shū)寫(xiě)。工具類(lèi)可以命名為:goc、 gol、goa。交互式的調(diào)試工具也可以直接命名為“go”。語(yǔ)言文件后綴名為 .go 等等

這就是 Go 語(yǔ)言名字的來(lái)源,自此之后 Robert、Rob 和 Ken 三個(gè)人開(kāi)始在 Google 內(nèi)部進(jìn)行了研發(fā),一直到了 2009 年,Go 正式開(kāi)源了,Go 項(xiàng)目團(tuán)隊(duì)將 2009 年 11 月 10 日,即該語(yǔ)言正式對(duì)外開(kāi)源的日字作為其官方生日。源代碼最初托管在 http://code.google.com 上,之后幾年才逐步的遷移到 GitHub 上。

4.2 Go的發(fā)展過(guò)程中的記事

第一個(gè)事情是在開(kāi)發(fā)設(shè)計(jì) Go 語(yǔ)言過(guò)程中的第一個(gè)重大驚喜是收到了以下這封郵件:

開(kāi)啟go 02.Go語(yǔ)言的前世今生

這是一封由 Ian Lance Taylor 在 2008 年 6月 7 日(星期六)的晚上 7:06 寫(xiě)給 Robert Griesemer、Rob Pike、 Ken Thompson 的關(guān)于 Go gcc 編譯器前端的郵件。郵件正文大意如下:我的同事向我推薦了這個(gè)網(wǎng)站 http://…/go_lang.html 。這似乎是一門(mén)很有趣的編程語(yǔ)言。我為它寫(xiě)了一個(gè) gcc 編譯器前端。雖然這個(gè)工具仍缺少很多的功能,但它確實(shí)可以編譯網(wǎng)站上展示的那個(gè)素?cái)?shù)篩選程序了。

Ian Lance Taylor 的加入以及第二個(gè)編譯器 (gcc go) 的實(shí)現(xiàn) 在帶來(lái)震驚的同時(shí),也伴隨著喜悅。這對(duì) Go 項(xiàng)目來(lái)說(shuō)不僅僅是鼓勵(lì),更是一種對(duì)可行性的證明。語(yǔ)言的第二次實(shí)現(xiàn)對(duì)制定語(yǔ)言規(guī)范和確定標(biāo)準(zhǔn)庫(kù)的過(guò)程至關(guān)重要,同時(shí)也有助于保證其高可移植性,這也是 Go 語(yǔ)言承諾的一部分。自此之后 Ian Lance Taylor 成為了設(shè)計(jì)和實(shí)現(xiàn) Go 語(yǔ)言及其工具的核心人物。

第二件事情是 Russ Cox 在2008年帶著他的語(yǔ)言設(shè)計(jì)天賦和編程技巧加入了剛成立不久的 Go 團(tuán)隊(duì)。Russ 發(fā)現(xiàn) Go 方法的通用性意味著函數(shù)也能擁有自己的方法,這直接促成了http.HandlerFunc的實(shí)現(xiàn),這是一個(gè)讓 Go 一下子變得無(wú)限可能的特性。Russ 還提出了更多的泛化性的想法,比如 io.Reader 和 io.Writer 接口,奠定了所有 I/O 庫(kù)的整體結(jié)構(gòu)。

第三件事情是聘請(qǐng)了安全專(zhuān)家 Adam Langley 幫助 Go 走向 Google 外面的世界。Adam 為 Go 團(tuán)隊(duì)做了許多不為外人知曉的工作,包括創(chuàng)建最初的http://golang.org網(wǎng)站以及build dashboard。不過(guò)他大的貢獻(xiàn)當(dāng)屬創(chuàng)建了 cryptographic 庫(kù)。起先,在我們中的部分人看來(lái),這個(gè)庫(kù)無(wú)論在規(guī)模還是復(fù)雜度上都不成氣候。但是就是這個(gè)庫(kù)在后期成為了很多重要的網(wǎng)絡(luò)和安全軟件的基礎(chǔ),并且成為了 Go 語(yǔ)言開(kāi)發(fā)歷史的關(guān)鍵組成部分。許多網(wǎng)絡(luò)基礎(chǔ)設(shè)施公司,比如Cloudflare,均重度依賴(lài) Adam 在 Go 項(xiàng)目上的工作,互聯(lián)網(wǎng)也因它變得更好。我記得當(dāng)初 beego 設(shè)計(jì)的時(shí)候,session 模塊設(shè)計(jì)的時(shí)候也得到了 Adam 的很多建議,因此,就 Go 而言,我們由衷地感謝 Adam。

第四個(gè)事情就是一家叫做 Docker 的公司。就是使用 Go 進(jìn)行項(xiàng)目開(kāi)發(fā),并促進(jìn)了計(jì)算機(jī)領(lǐng)域的容器行業(yè),進(jìn)而出現(xiàn)了像 Kubernetes 這樣的項(xiàng)目?,F(xiàn)在,我們完全可以說(shuō) Go 是容器語(yǔ)言,這是另一個(gè)完全出乎意料的結(jié)果。

開(kāi)啟go 02.Go語(yǔ)言的前世今生

除了大名鼎鼎的Docker,完全用GO實(shí)現(xiàn)。業(yè)界最為火爆的容器編排管理系統(tǒng)kubernetes完全用GO實(shí)現(xiàn)。之后的Docker Swarm,完全用GO實(shí)現(xiàn)。除此之外,還有各種有名的項(xiàng)目,如etcd/consul/flannel,七牛云存儲(chǔ)等等
均使用GO實(shí)現(xiàn)。有人說(shuō),GO語(yǔ)言之所以出名,是趕上了云時(shí)代。但為什么不能換種說(shuō)法?也是GO語(yǔ)言促使了云的發(fā)展。

除了云項(xiàng)目外,還有像今日頭條、UBER這樣的公司,他們也使用GO語(yǔ)言對(duì)自己的業(yè)務(wù)進(jìn)行了徹底的重構(gòu)。

五、最后

Go語(yǔ)言是谷歌2009年發(fā)布的第二款開(kāi)源編程語(yǔ)言(系統(tǒng)開(kāi)發(fā)語(yǔ)言),它是基于編譯、垃圾收集和并發(fā)的編程語(yǔ)言。
Go語(yǔ)言專(zhuān)門(mén)針對(duì)多處理器系統(tǒng)應(yīng)用程序的編程進(jìn)行了優(yōu)化,使用Go編譯的程序可以媲美 C / C++代碼的速度,而且更加安全、支持并行進(jìn)程。作為出現(xiàn)在21世紀(jì)的語(yǔ)言,其近C的執(zhí)行性能和近解析型語(yǔ)言的開(kāi)發(fā)效率,以及近乎于完美的編譯速度,已經(jīng)風(fēng)靡全球。特別是在云項(xiàng)目中,大部分都使用了Golang來(lái)開(kāi)發(fā)。不得不說(shuō),Golang早已深入人心。而對(duì)于一個(gè)沒(méi)有歷史負(fù)擔(dān)的新項(xiàng)目,Golang或許就是個(gè)不二的選擇。
很多人將Go語(yǔ)言稱(chēng)為21世紀(jì)的C語(yǔ)言,因?yàn)镚o不僅擁有C的簡(jiǎn)潔和性能。而且還很好的提供了21世紀(jì)互聯(lián)網(wǎng)環(huán)境下服務(wù)端開(kāi)發(fā)的各種實(shí)用特性。被稱(chēng)為Go語(yǔ)言之父的羅勃·派克(Rob Pike)就曾說(shuō)過(guò),你是否同意Go語(yǔ)言,取決于你是認(rèn)可少就是多,還是少就是少(Less is more or less is less)。Go語(yǔ)言的整個(gè)設(shè)計(jì)哲學(xué)就是:將簡(jiǎn)單、實(shí)用體現(xiàn)得淋漓盡致。
如今 Go 已經(jīng)是云計(jì)算編程語(yǔ)言,GO語(yǔ)言背靠Google這棵大樹(shù),又不乏牛人坐鎮(zhèn),是名副其實(shí)的“牛二代”。想象一下:一個(gè)只有十幾年發(fā)展經(jīng)歷的編程語(yǔ)言,已經(jīng)成為了如此巨大而且正在不斷發(fā)展的行業(yè)的主導(dǎo)者,這種成功是每個(gè)人都無(wú)法想象的。

創(chuàng)新互聯(lián)www.cdcxhl.cn,專(zhuān)業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。

當(dāng)前文章:開(kāi)啟go02.Go語(yǔ)言的前世今生-創(chuàng)新互聯(lián)
本文路徑:http://muchs.cn/article20/cdeijo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)全網(wǎng)營(yíng)銷(xiāo)推廣、面包屑導(dǎo)航網(wǎng)站建設(shè)、定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司