根據近年來TIOBE最受歡迎語言排行榜,我們很容易會發現一個現象:Java語言長盛不衰,多次連續獲得最受歡迎語言排行榜第一名,對于很多程序員而言,這似乎已經成為一個習慣,Java也順理成章的成為很多編程人員學習的首選。但是,如今看來,這種定式或將會發生變化。
為什么這么說呢?從2016年10月的最受歡迎語言排行榜來看,盡管Java仍然位居第一名,但是Go語言以1.67%的速度成為TOP20中增長速度最快的語言,相比而言,Java和C語言則是分別下降了0.74%和6.35%。按照這個發展速度,Go語言登頂最受歡迎語言指日可待。
2016年10月TIOBE語言排行榜
那么是什么讓Go語言的受歡迎度不斷上升?Go語言的優勢是什么?
1、背景。可能有人認為,我用的是編程語言,完全不依靠于語言背后的背景。那筆者只能說你太天真,一個語言的背景決定了他的發展方向和潛力,這就像一個人的家庭環境一定會對他的發展有影響。
Java是從1990年的雛形到1995年的正式發行已經過去20多年,期間Java的東家從SUN公司辯稱甲骨文公司,后來還成為甲骨文與谷歌之間逐力的砝碼。
相較而言,Go語言的背景更為清晰可靠,它是Google開發的,同時它也比Java年輕十四年(2009年發布)
2、簡約。俗話說“大道至簡”,Go語言就是這樣一個極為簡潔的編程語言。不同于Java,Go語言內嵌了關聯數組(也稱為哈希表(hashes)或字典(dictionaries)),就像字符串類型一樣。
GO語言最初的定位就是互聯網時代的C語言,所以,它的基礎哲學也來源于C語言,而C語言的成功正是因為它的簡單。而簡潔的表達方式也會提升程序員的開發效率。
3、并發性好。幾年前,要實現并發編程并不是一件容易的事兒,要想完成并發編程要同時了解線程、鎖、Semaphore、CPU緩存方式等等,而多核處理器的普及,讓編程語言更為注重并發性,而Go語言,可以在一個進程中執行有數以十萬計的協程,依舊保持高性能。
4、應用場景符合未來需求。有人猜測,今年10月GO語言增長率如此之高的原因之一是:Docker的普及。如果真是如此,那么GO語言將持續如此高的增長率。除此之外,GO語言適用于服務器編程、 分布式系統、網絡編程、內存數據庫和云平臺,而這些領域正是IT技術未來發展的重要方向。
2016年10月TIOBE編程語言排行榜