原文地址javascript
「世上語言千千萬,我卻獨愛這一種!」這句話用來形容程序員和編程語言之間的愛恨情仇實在是再精準不過了。根據GitHub 2016年的開源報告,其上全部開源項目共包含了316種編程語言,這是一個什麼概念呢?舉個例子來講,世界上共有226個國家和地區,也就是說編程語言的數量比國家數量還多。php
想要所有精通這些語言顯然是個不可能事件,因此編程語言的選擇就有了前後之分。編程語言的好壞之爭娛樂性高於知識性,因此本文不以好壞論高下,而是以熱度做爲參考條件,盤點2017年哪些編程語言最受歡迎。java
▲藍色爲Java,紅色爲Go,黃色爲Swift,綠色爲Python,紫色爲Kotlinpython
▲藍色爲PHP,紅色爲Ruby,黃色爲C++,綠色爲C#android
上圖是今年話題度比較高的編程語言在Google Trends上的熱度狀況,咱們從中選取Java、python、R 、go以及Kotlin語言來進行分析。程序員
Java:編程語言中的「小浣熊」算法
小浣熊乾脆面有一句廣告詞深刻人心「一直被模仿,從未被超越!」若是套用在Java身上,那就是「一直被唱衰,從未被打倒。」Java應該是被死亡次數最多的編程語言,每個月TIOBE發佈新的榜單,Java都要被拉出來鞭屍,其它編程語言有了哪些新改進,Java也要出來以死墊背陪跑。編程
Java 是企業擁戴的頭號編程語言,它有三大殺手鐗:靜態類型、更強大的工具,以及具有廣度和深度的庫的生態系統。任何語言想在這三個領域徹底取代Java都不是短期內可以完成的。swift
今年,關於Java熱度最高的詞語應該就是Java 9的發佈,java 9又雙叒叕延期的新聞一直傳到了近些日子,發佈時間才肯定下來是9月21日。據悉,Java 9將會有9大重要改進:新模塊系統、支持HTTP/2.0、改進的Javadoc、Stream改進、使用新的工廠方法更容易地初始化Collections、接口中的私有方法、語言和語法的改進、加強處理API、加強處理API。後端
Python:人生苦短,我用Python
IEEE發佈了2017年編程語言排行榜,Python位居榜首。從去年開始,Python就藉着人工智能的東風,熱度一路船高水漲。Python能夠說是一門比較功利的語言,它不復雜,讀和寫都很是易於使用,所以就有了「人生苦短,我用Python」這句調侃。
固然,Python的流行並不只限於易於使用,它背後還站着一個真正的大佬——Google。自2006年起,谷歌就在多個平臺和應用中大量使用Python。除此以外,Python社區的活躍度合支持度也很是高,同時,Python在數據科學中的流行度僅次於R語言。
關於版本問題,Python的功能發佈週期爲18個月。目前Python基金會正在積極推行Python 3+,據悉2020年將再也不支持Python 2.7。另外,Python 4也正在籌備中,據其核心開發人員Nick Coghlan透露,4.0中沒有任何深入的變化或大的向後兼容性的破壞。
R:大家對R語言的力量一無所知
雖然,R語言在TIOBE排行榜中一直都在十幾的位置徘徊,可是在IEEE 發佈 2017 年編程語言排行榜中卻位居第六。這說明R語言在編程語言中扮演的角色是「隱形富豪」,不少人對於R語言的力量一無所知。
在上文中,咱們也提到了R語言在數據科學中很是流行,那麼R語言能夠支持哪些量級的數據集呢?talkR會議上R語言熟手錶示百萬條記錄的數據集能夠輕鬆地用標準R進行處理;百萬到十億條記錄的數據集稍微努力一下也可使用R來處理;十億條以上的數據集就須要MapReduce算法,而這些算法能夠在R中設計,並用Hadoop等鏈接器進行處理。
固然R語言的力量也不只止於此,大數據的爆紅催生了物聯網的發展,不少項目都依賴多個數據源,而R語言剛好支持多數據源加載數據;R語言的學習曲線平緩,只需瞭解基本編碼原則就能夠經過內置庫來處理大數據;R語言與其餘主流的編程語言兼容;就連託管公司也爲R語言提供瞭解決方案。
GO:火得一路拉風帶閃電
TIOBE將2016年年度編程語言的桂冠頒給了Go語言,這一年中Go 語言得到了 2.16% 的用戶增加,大比分領先其它編程語言,進入2017年,Go語言熱度依然不減,總體發展趨勢仍是向上的。
今年已是Go語言1.0版本的第五個年頭了,在2月份發佈了1.8版本以後,Go語言團隊就開始慢慢向2.0版本邁進了。據悉,Go 2.0版本首先要保證兼容現有的Go 1.0源代碼,其次是要找到方法來解決Go語言的擴展問題。
據Go語言項目和團隊的技術主管 Russ Cox在Gophercon上透露,目前全球至少有50萬Go開發者,Go源文件和Go代碼至少有十億行。今日頭條是國內比較有名的在使用Go的廠商,其後端服務超過80%的流量是跑在 Go 構建的服務上,微服務數量超過100個,高峯 QPS 超過700萬,日處理請求量超過3000億。
Kotlin:一場「任命」引起的爆紅
若是要評今年熱度躥升最快的編程語言,Kotlin必定榜上有名。2017年5月,谷歌在IO大會上宣佈Kotlin語言將取代JAVA做爲安卓開發的一級編程語言,而後在TIOBE的六月份榜單中Kotlin就衝進了前50,位列43位,真可謂是一場「任命」引起的爆紅。
近日,Kotlin 1.1.4 發佈,其更新內容以下:修復 IDEA 插件中的主要性能迴歸;添加對包缺省的可控性註解的支持;改進對 Java 9 的支持;添加一個用於 JavaScript 死代碼消除的工具,提升對 js 調試和 JS 單元測試支持的源映射支持;生成更高效的字節碼;爲 IntelliJ IDEA 插件添加新功能;Android Extensions 插件加強功能。
針對於Java與Kotlin之爭,綠鳥集成技術公司CEO Thorsten Heller表示將來Java也許會死,也許不會死,可是毫無疑問Java會受到挑戰。而這個挑戰者我認爲正是Kotlin,它的簡單性、精益語法、函數式方法都是其流行度的加碼元素。