甲:據說最近java跌落神壇,python稱霸武林了,你知道嗎?html
乙:不是吧,我前幾天看python怎麼仍是第三?java
丙:大家都在扯蛋,python在2018年就已是最好的語言了!python
乙:不可能吧?git
甲:賭什麼? ……程序員
做爲茶餘飯後談資,語言排名這是咱們程序員必備的一個話題,但是由於你們獲取的信息不一致就出現上面的尬聊,甚至由於這個話題而爭執不休。github
歸根結底仍是由於你們看的語言排行榜不一樣,而產生了不一樣的結論,今天豬哥就來帶你們盤點,到底有哪些語言排行榜! web
TIOBE 編程社區索引由荷蘭 Eindhoven 的 TIOBE 公司創立和維護。TIOBE 表明着「真誠的重要性」,該索引將每項語言做爲關鍵字,按照搜索引擎的查詢數量對語言進行排名。索引每個月更新一次。評級基於全球技術工程師,課程和第三方供應商的數量。流行的搜索引擎,如谷歌,必應,雅虎,維基百科,亞馬遜,YouTube和百度,用於計算評級。值得注意的是,TIOBE索引與最佳編程語言或編寫大多數代碼行的語言無關。編程
簡單來講就是根據搜索語言名稱的次數來統計排行榜的,一個月更新一次榜單,那具體參考哪些搜索要引擎呢? TIOBE(讀:踢歐比)能夠說是最重要也是比較準確的一個排行榜,有兩個重要的排名榜要給你們介紹一下:數組
就是TIOBE最主要也是編程行業中最重要的一個排名榜,它衡量目前各個語言的熱度,下面是2019年3月的指數榜單以及指數曲線
服務器
列出全部「年度最佳編程語言」獎獲獎者的名人堂以下所示。該獎項授予一年內收視率上升最高的編程語言,2018年Python指數提高最大,因此當選2018年度語言。 數據淶源TIOBE官網:https://www.tiobe.com/tiobe-index/
編程語言流行指數(PopularitY of Programming Language Index 簡稱PYPL)是經過分析在Google上搜索語言教程的頻率而建立的,搜索語言教程越多,該語言就越受歡迎。這是一個領先的指標,原始數據來自Google。
TIOBE編程語言榜單是一種綜合計算形式,數據來源於谷歌、必應、雅虎、維基百科、亞馬遜、YouTube 和百度。而PYPL 指數的計算形式則是徹底更爲直接和精準。只基於 Google trends 數據。根據編程語言在 Google 上的搜索頻率,來評估語言的流行度。各語言的趨勢高下立判!
既然PYPL數據只來自Google,因此我以爲很難表明國內的一個流行趨勢,更多的是一種國際性全球性的語言流行趨勢,下面是2019年4月編程語言流行的排行榜。
數據淶源PYPL官網:http://pypl.github.io/PYPL.html
GitHub是全球最大的開源軟件開發與管理社區,包括Google、Facebook等衆多技術巨頭在內都在這裏安營紮寨,GitHub也成爲了一探硅谷技術趨勢最好的窗口,這個20億美圓的創業公司被開發者戲稱爲「全球最大同性交友社區(擁有三千萬開發者)」,每一年GitHub都會推出「Octoverse」報告,其中列出了一些趨勢,包括其網站用戶中最受歡迎的編程語言。
GitHub的「Octoverse」報告有不少有趣的數據,如下數據淶源2018年度報告:
以上數據淶源GitHub的「Octoverse」報告:https://octoverse.github.com/
著名的棧溢出網站(StackOverflow)是一個問答平臺。它有超過400萬的用戶,問答了1000多萬個問題。
Stack OverFlow年度調查結果榜:每一年Stack OverFlow都會讓開發者參與一項調查;2018年1月,有超過10萬開發者參加了長達30分鐘的問卷調查。調查設計程序開發的各個方面。這個調查中有不少有趣的問答:今年,咱們討論了一些新的主題,從人工智能到編碼倫理。如下是今年結果中的一些最重要的內容:
我看到還有一項有趣的調查令我我很意外:最愛的框架、包 或者工具的第一居然是TensorFlow(看來豬哥後面也要出一些TensorFlow的教程了:)
以上數據淶源Stack OverFlow年度調查報告 :https://insights.stackoverflow.com/survey
IEEE Spectrum 對 48 種語言進行排行,其排序綜合 9 個重要線上數據源的 11 個指標而成(今年去掉了 Dice,由於其關閉了 API),例如 Stack Overflow、Twitter、Reddit、IEEE Xplore、GitHub、CareerBuilder 等。IEEE Spectrum與其它排行榜不一樣的是,IEEE Spectrum 可讓讀者本身選擇參數組合時的權重,獲得不一樣的排序結果。考慮到不一樣 Spectrum 讀者的需求,他們提供了幾個預設的權重 —— 如新興的語言、僱主需求的語言、開源的熱門語言等。
今年的榜單中 Python 衛冕成功,而且與第 2 名的距離拉得更遠了一些,現在人工智能、大數據等重數據領域的浪潮未息,預估 Python 還會繼續火下去。
IEEE Spectrum 2018 編程語言 Top 10 以下: 再看看就業市場對編程語言的需求,前 10 名以下圖所示:
以上數據淶源IEEE Spectrum官網 :https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018
這裏豬哥只給你們列舉了這五個重要的編程排行指標,其重要性根據順序依次降低。從這幾個排行指標咱們能夠發現Python已然成爲了最流行的語言,可是根據TIOBE和我們在實際求職中就能感覺到目前稱霸的仍然是Java。
咱們在選擇一門編程語言的時候,須要考慮的不只僅是當前就業需求,還應該考慮到就業競爭和行業前景,能夠說如今Java工程師的競爭比Python工程師的競爭要激烈太多了,並且從事Java的開發也很是多,受供求關係影響Java程序員未來會愈來愈貶值,而反觀python開發目前國內起步晚競爭力小,並且政府也在大力支持發展人工智能,Python的路還很長。
《新一代人工智能發展規劃》是爲搶抓人工智能發展的重大戰略機遇,構築我國人工智能發展的先發優點,加快建設創新型國家和世界科技強國,按照黨中央、國務院部署要求制定。由國務院於2017年7月8日印發並實施。 ——百度百科
最後不得不聊的就是最近大火的go語言,咱們簡單看看go適合作什麼:
Go語言主要用做服務器端開發,其定位是用來開發「大型軟件」的,主要用做服務器編程、web開發、網絡編程雲平臺等
咱們能夠看到go語言優點其實和java的優點很像,而python的優點在於數據處理和人工智能等方向,因此go只可能吞噬Java的份額,很難撼動Python的奶酪,因此未來會是Python、Java、Golang三足鼎立的局面嗎?