你應(yīng)該知道Go語言的發(fā)展歷史
今天馬哥教育就帶大家了解一下go語言的歷史,go語言從07年開始進(jìn)入大家的視線,那么想要學(xué)習(xí)go語言,和剛入門go語言的小伙伴,一定要就好好看看這篇文章了。
2007年9月,Rob Pike在Google分布式編譯平臺(tái)上進(jìn)行C++編譯,在漫長的等待過程中,他和Robert Griesemer探討了程序設(shè)計(jì)語言的一些關(guān)鍵性問題,他們認(rèn)為,簡化編程語言相比于在臃腫的語言上不斷增加新特性,會(huì)是更大的進(jìn)步。隨后他們?cè)诰幾g結(jié)束之前說服了身邊的Ken Thompson,覺得有必要為此做一些事情。幾天后,他們發(fā)起了一個(gè)叫Golang的項(xiàng)目,將它作為自由時(shí)間的實(shí)驗(yàn)項(xiàng)目。
2008年5月 Google發(fā)現(xiàn)了GO語言的巨大潛力,得到了Google的全力支持,這些人開始全職投入GO語言的設(shè)計(jì)和開發(fā)。
2009年11月 GO語言第一個(gè)版本發(fā)布。2012年3月 第一個(gè)正式版本Go1.0發(fā)布。
2015年8月 go1.5發(fā)布,這個(gè)版本被認(rèn)為是歷史性的。完全移除C語言部分,使用GO編譯GO,少量代碼使用匯編實(shí)現(xiàn)。另外,他們請(qǐng)來了內(nèi)存管理方面的權(quán)威專家Rick Hudson,對(duì)GC進(jìn)行了重新設(shè)計(jì),支持并發(fā)GC,解決了一直以來廣為詬病的GC時(shí)延(STW)問題。并且在此后的版本中,又對(duì)GC做了更進(jìn)一步的優(yōu)化。到go1.8時(shí),相同業(yè)務(wù)場景下的GC時(shí)延已經(jīng)可以從go1.1的數(shù)秒,控制在1ms以內(nèi)。GC問題的解決,可以說GO語言在服務(wù)端開發(fā)方面,幾乎抹平了所有的弱點(diǎn)。
在GO語言的版本迭代過程中,語言特性基本上沒有太大的變化,基本上維持在GO1.1的基準(zhǔn)上,并且官方承諾,新版本對(duì)老版本下開發(fā)的代碼完全兼容。事實(shí)上,GO開發(fā)團(tuán)隊(duì)在新增語言特性上顯得非常謹(jǐn)慎,而在穩(wěn)定性、編譯速度、執(zhí)行效率以及GC性能等方面進(jìn)行了持續(xù)不斷的優(yōu)化。
開發(fā)團(tuán)隊(duì)

GO語言的開發(fā)陣營可以說是空前強(qiáng)大,主要成員中不乏計(jì)算機(jī)軟件界的歷史性人物,對(duì)計(jì)算機(jī)軟件的發(fā)展影響深遠(yuǎn)。Ken Thompson,來自貝爾實(shí)驗(yàn)室,設(shè)計(jì)了B語言,創(chuàng)立了Unix操作系統(tǒng)(最初使用B語言實(shí)現(xiàn)),隨后在Unix開發(fā)過程中,又和Dennis Ritchie一同設(shè)計(jì)了C語言,繼而使用C語言重構(gòu)了Unix操作系統(tǒng)。Dennis Ritchie和Ken Thompson被稱為Unix和C語言之父,并在1983年共同被授以圖靈獎(jiǎng),以表彰他們對(duì)計(jì)算機(jī)軟件發(fā)展所作的杰出貢獻(xiàn)。Rob Pike,同樣來自貝爾實(shí)驗(yàn)室,Unix小組重要成員,發(fā)明了Limbo語言,并且和Ken Thompson共同設(shè)計(jì)了UTF-8編碼,《Unix編程環(huán)境》、《編程實(shí)踐》作者之一。
可以說,GO語言背靠Google這棵大樹,又不乏牛人坐鎮(zhèn),是名副其實(shí)的“牛二代”。想要了解更多go語言的知識(shí),可以到馬哥教育的官網(wǎng),獲取更多的知識(shí)!
聲明:文章來源于網(wǎng)絡(luò),侵刪!