開發(fā)漫談:Go語言究竟能否超越Java?

責(zé)任編輯:editor004

作者:魯暢

2016-10-12 11:43:39

摘自:中關(guān)村在線

根據(jù)近年來TIOBE最受歡迎語言排行榜,我們很容易會(huì)發(fā)現(xiàn)一個(gè)現(xiàn)象:Java語言長盛不衰,多次連續(xù)獲得最受歡迎語言排行榜第一名,對于很多程序員而言,這似乎已經(jīng)成為一個(gè)習(xí)慣,Java也順理成章的成為很多編程人員學(xué)習(xí)的首選。

根據(jù)近年來TIOBE最受歡迎語言排行榜,我們很容易會(huì)發(fā)現(xiàn)一個(gè)現(xiàn)象:Java語言長盛不衰,多次連續(xù)獲得最受歡迎語言排行榜第一名,對于很多程序員而言,這似乎已經(jīng)成為一個(gè)習(xí)慣,Java也順理成章的成為很多編程人員學(xué)習(xí)的首選。但是,如今看來,這種定式或?qū)?huì)發(fā)生變化。

開發(fā)漫談:Go語言究竟能否超越Java?

為什么這么說呢?從2016年10月的最受歡迎語言排行榜來看,盡管Java仍然位居第一名,但是Go語言以1.67%的速度成為TOP20中增長速度最快的語言,相比而言,Java和C語言則是分別下降了0.74%和6.35%。按照這個(gè)發(fā)展速度,Go語言登頂最受歡迎語言指日可待。

開發(fā)漫談:Go語言究竟能否超越Java?

2016年10月TIOBE語言排行榜

那么是什么讓Go語言的受歡迎度不斷上升?Go語言的優(yōu)勢是什么?

1、背景。可能有人認(rèn)為,我用的是編程語言,完全不依靠于語言背后的背景。那筆者只能說你太天真,一個(gè)語言的背景決定了他的發(fā)展方向和潛力,這就像一個(gè)人的家庭環(huán)境一定會(huì)對他的發(fā)展有影響。

Java是從1990年的雛形到1995年的正式發(fā)行已經(jīng)過去20多年,期間Java的東家從SUN公司辯稱甲骨文公司,后來還成為甲骨文與谷歌之間逐力的砝碼。

相較而言,Go語言的背景更為清晰可靠,它是Google開發(fā)的,同時(shí)它也比Java年輕十四年(2009年發(fā)布)

2、簡約。俗話說“大道至簡”,Go語言就是這樣一個(gè)極為簡潔的編程語言。不同于Java,Go語言內(nèi)嵌了關(guān)聯(lián)數(shù)組(也稱為哈希表(hashes)或字典(dictionaries)),就像字符串類型一樣。

GO語言最初的定位就是互聯(lián)網(wǎng)時(shí)代的C語言,所以,它的基礎(chǔ)哲學(xué)也來源于C語言,而C語言的成功正是因?yàn)樗暮唵?。而簡潔的表達(dá)方式也會(huì)提升程序員的開發(fā)效率。

3、并發(fā)性好。幾年前,要實(shí)現(xiàn)并發(fā)編程并不是一件容易的事兒,要想完成并發(fā)編程要同時(shí)了解線程、鎖、Semaphore、CPU緩存方式等等,而多核處理器的普及,讓編程語言更為注重并發(fā)性,而Go語言,可以在一個(gè)進(jìn)程中執(zhí)行有數(shù)以十萬計(jì)的協(xié)程,依舊保持高性能。

4、應(yīng)用場景符合未來需求。有人猜測,今年10月GO語言增長率如此之高的原因之一是:Docker的普及。如果真是如此,那么GO語言將持續(xù)如此高的增長率。除此之外,GO語言適用于服務(wù)器編程、 分布式系統(tǒng)、網(wǎng)絡(luò)編程、內(nèi)存數(shù)據(jù)庫和云平臺,而這些領(lǐng)域正是IT技術(shù)未來發(fā)展的重要方向。

開發(fā)漫談:Go語言究竟能否超越Java?

開發(fā)漫談:Go語言究竟能否超越Java?


2016年10月TIOBE編程語言排行榜

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號