看到TIOBE程式語言排行榜,手裡的MATLAB突然不香了

2021-02-20 打浦橋程式設計師

程式設計師的世界永遠有一個亙古不變的話題:誰才是世界上最好的程式語言

 

有人說C,有人說Java,有人說PHP,還有人說Python

 

為此,他們爭論的面紅耳赤,喋喋不休

 

往往這個時候,我們MATLABer表現得異常的peace

我經常在朋友圈看到這類文章

 

這幫人肆無忌地炫耀著自己使用的程式語言才是最受歡迎的,而作為一個小眾的MATLAB公眾號博主,我好嫉妒!

 

每個月我都會偷偷逛一逛TIOBE榜單,看一看這個月MATLAB的排名有沒有上升,然而毫無驚喜可言,MATLAB的排名非常穩定,基本在17名左右徘徊...

 

 

我很好奇,這些年MATLAB的排名走勢都是怎麼樣的,而MATLAB同類型的軟體他們的情況又是怎麼樣的

 

然後我就特別想用MATLAB做一張TIOBE排名的動態可視圖,像平時常看到的人口變化那樣的動圖

 ‍

今天我們來聊一聊如何用MATLAB製作這樣的動態圖

 

先簡單介紹一下什麼是TIOBE榜單

 

TIOBE排行榜是根據網際網路上有經驗的程式設計師,第三方供應商,並使用搜尋引擎(如Google,Baidu等)統計出排名數據,其結果作為當前業內程序開發語言的流行使用程度的有效指標

 

打開TIOBE排行榜點擊相應的程式語言,就可以查看各個語言從2001年到目前為止的流行指數的變化

 

從MATLAB的指數曲線可以看到在2017年5月達到巔峰的2.06%之後,接下的幾年一直在走下坡路

TIOBE只能查看當期的指數排名,而20名之後的程式語言又獲取不到具體的數據,排名統計看起來像是一件容易實現的事,卻因為數據源的原因成了一個難以解決的問題

 

我嘗試了不少思路,終於找到了一個辦法,推薦大家一個叫網際網路檔案館的網站(Internet Archive)

這個網站會定期收錄並永久保存全球網站上可以抓取的信息,比如TIOBE,只需要在網際網路檔案館的頁面上輸入TIOBE的網址連結,就能查看這幾年被收錄的網頁

網頁數據結構很清晰,一個for循環,webread讀取網頁,正則法處理網頁信息之後,我爬取到了2016年到目前為止每個月的TIOBE TOP 50數據,包括程式語言排名情況,以及流行指數

然後通過barh命令,作出橫向柱形圖,把MATLAB所在數據標紅

RankAll = barh(RankNum); %RankNum:編程排名佔比
xlim([0,20])
set(gca,'YTick',[1:1:20])
yticklabels(ProgName) %ProgName:程式語言名稱
RankAll.FaceColor = 'flat' ; % MATLAB排名標紅
RankAll.CData(id_MATLAB,:) = [1,0,0];

接著for循環,每次循環更新柱形圖,並保存為圖片,循環結束之後,通過imwrite命令,把所有圖片寫入保存為gif動圖

for i=1:60
    %獲取當前圖片
    A=imread(['pic',num2str(i),'.png']);
    [I,map]=rgb2ind(A,256);
    %生成gif,並保存
    if(i==1)
        imwrite(I,map,'pic2gif.gif','DelayTime',0.5,'LoopCount',Inf)
    else
        imwrite(I,map,'pic2gif.gif','WriteMode','append','DelayTime',0.5)    
    end
end

從動圖可以看出,Python這幾年一直保持前3的位置,非常火爆

 

而曾經和MATLAB不相上下,偶爾還會被MATLAB遠遠甩在身後的R語言,今年的表現特別強勁

 

我查了一些資料,TIOBE Software執行長Paul Jansen解釋了R為什麼如此出色的原因:

 

「統計程式語言R在7月從第9位升至第8位,創造了新的記錄。不久前,Python似乎贏得了統計編程之戰,但是R的流行程度在Python的不斷提升中仍在增加。有兩種趨勢可能會增強R語言:1)商業統計語言和軟體包(例如SAS,Stata和SPSS)的時代已經結束,大學和研究機構採用Python和R進行統計分析,2)需要大量統計和數據挖掘才能找到針對COVID-19病毒的疫苗。結果,易於學習和使用的統計程式語言現在開始流行」

 

在過去的5年,MATLAB最好的成績是第10名,大多數時候排在15名左右,但是在2019年9月之後,MATLAB的表現不太理想,曾兩度差點迭出TOP20榜單

 

至於MATLAB的排名為什麼這麼低,我個人感覺,還是和商業軟體的本質離不開,價格形成使用門檻,哪怕是1塊錢也會流失用戶,何況MATLAB的License還不便宜,除了目前Simulink難以替代,在許多和Python、R有重合的領域,不少用戶也轉向了Python和R

 

當然,這也並不是一個簡單到能用一句話解釋的清的問題,影響因素還有很多,歡迎大家在留言區分享自己對這個問題的看法

總的來說,還是希望MATLAB多加把勁吧!不然,這個小眾的公眾號估計很快就要停更了…

以上就是今天關於MATLAB排名動態圖製作以及網際網路檔案館的分享,希望對大家平時的工作學習有所幫助

往期推薦

你願意和2020年和解嗎?

讓天下沒有難改的Simulink模型

吐槽一下MATLAB的workspace

考個駕照,逼得我把MATLAB都用上了…

一把王者榮耀的時間,讓你學會MATLAB GUI

MATLAB處理數據,掌握這7個小技巧就夠了!

還在用GetData提取曲線數據?MATLAB表示不服

MATLAB GUI滯銷工具開發人員

和你一起用MATLAB的角度看世界

相關焦點

  • TIOBE 12 月程式語言:Python 有望第四次成為年度語言
    回顧過去一年,程式語言領域百花齊放。在 TIOBE 近日發布的12月最新排行榜中,Python 和 Java 你追我趕,Python 漲幅佔優,預計有望成為有史以來四度奪得「年度程式語言」稱號的程式語言!
  • TIOBE已公布2020年6月的程式語言排行榜 Rust語言排在第20位
    TIOBE 已公布2020 年 6 月的程式語言排行榜。在最新一期榜單中,Rust 語言排在第 20 位,這也是它首次進入該榜單前 20。這與我們上個月的猜測相符:Rust 在榜單 30 名左右徘徊數月後,5 月份飆升至 21 名,果然在這個月再次上升一位,躋身前列。
  • TIOBE:2020年5月程式語言排行榜 C語言五年後重返第一
    TIOBE 已公布 2020 年 5 月的程式語言排行榜。本期最大的亮點是 C 語言超越 Java,重返第一的位置。C 語言上一次排名第一,還是在 2015 年。在上個月的榜單中,兩者的指數就已經非常接近了。那麼是什麼讓 C 重新拿下第一的寶座呢?
  • TIOBE 6月程式語言榜單:C語言繼續佔據第一
    不知道各位朋友有沒有發現,公眾號改版了,現在的推送規則已經不一定是按照時間順序了,有一些小夥伴甚至幾天收不到消息,要點進去公眾號主頁才能看到。請各位朋友將 公眾號設置為置頂或者星標 ,就能第一時間收到推送~ ------------------------------------ TIOBE 已公布 2020 年 6 月的程式語言排行榜
  • TIOBE 5 月程式語言排行榜:時隔5年,C 語言重返第一!
    點擊△藍字回復「教程」獲取100G資料很久沒發 TIOBE 編程社區指數了,看到5月榜單後,發,必須發!因為 C 竟然超越 Java ,重返第一了,第一了,一了,了。近日,TIOBE 程式語言社區發布了 5 月程式語言排行榜,排名前十的分別是:C,Java,Python,C++,C#,Visual Basic.NET,JavaScript,PHP,SQL和R。有沒有發現亮點?
  • 5 月程式語言排行榜:C 重回第一,今年程式語言名人堂冠軍還會是它...
    作者 | 院主責編 | 王曉曼出品 | CSDN博客本文章中語言排名數據來自TIOBE排行榜和PYPL排行榜。需要注意的是,TIOBE索引並不是關於最好的程式語言,也不是大多數代碼都是用哪種語言編寫的。該索引可用於檢查您的編程技能是否仍然是最新的,或者在開始構建新的軟體系統時,對應採用何種程式語言作出戰略決策。
  • TIOBE:2020年7月程式語言排行榜 易於學習使用的統計程式語言開始...
    TIOBE 已公布 2020 年 7 月的程式語言排行榜。在本期榜單中,各類應用於數據科學的語言是一大亮點。尤其是 R 語言,本月上升至第 8 位,創造了新的記錄,TIOBE 稱這是 R 語言「史無前例的高光時刻」。Python 不用說,一直在統計語言中拔得頭籌,而 R 在 Python 如此強勁的勢頭下,還能保持流行度的上升。
  • Python 一舉超越 Java,最新程式語言流行度排名來啦
    京東數科編譯自tiobe.com TIOBE 涉足程式語言排名已經快 20 年了,這麼多年裡,Java 和 C 語言一直霸榜前兩名,但今年形勢變了——C 語言依然拿下頭把交椅,但 Python 卻搶走了第二名的寶座。
  • C語言擊敗強敵Python勇奪「2019年度程式語言」冠軍
    【新智元導讀】2019年哪個程式語言最火?大多數人都以為穩坐年度程式語言冠軍位置的Python,今年只排在了第三位。這一次,C語言憑藉2.44%的年增長率獲「2019年度程式語言」冠軍。意不意外?「福利:1月16日,騰訊微信人工智慧高級研究員錢橋手把手教你「推薦系統與數據思維」,戳右邊連結上新智元We站公開課了解更多!」 近日,TIOBE 公布了 2019 年度程式語言的評選結果。
  • TIOBE 4 月榜單:少兒程式語言 Scratch 進入 TOP 20
    TIOBE 已公布 2020 年 4 月的程式語言排行榜。這期的標題主角是 Scratch,它是 MIT Media 實驗室 Lifelong 幼兒園團隊的一個項目,其通過點擊並拖拽的方式可視化完成編程,幫助兒童培養編程思維,學會創造性地思考、系統地推理和協同工作。
  • 2020年 ieee spectrum程式語言排行榜
    近日,IEEE Spectrum發布了2020年的IEEE Spectrum程式語言排行榜。Python連續第四年奪冠。Java和C語言分列第二和第三。為了進行程式語言流行度的分析,IEEE Spectrum程式語言排行榜綜合了八個來源的11個指標,通過加權和組合來進行排行的。這八個來源分別是CareerBuilder,GitHub,Google,Hacker News,IEEE,Reddit,Stack Overflow和Twitter。
  • 北大青鳥:2020年5月中國程式語言排行榜,哪種編程工資最高呢?
    回頭看自己每個月手裡可憐的工資條,心裡更是煩躁不已。於是乎下定決心一定要像人家一樣,月薪幾萬。但是實際上,並不是所有程式語言適合你學習哦!今天,小編從程式語言、平均工資、工資中位數、最低工資、最高工資、人頭、人頭百分比等方面進行分析,供大家參考!
  • TIOBE 4 月榜單出爐:Python 進前三,少兒程式語言 Scratch 進 TOP 20
    TIOBE 已公布 2020 年 4 月的程式語言排行榜。這期的標題主角是 Scratch,它是 MIT Media 實驗室 Lifelong 幼兒園團隊的一個項目,其通過點擊並拖拽的方式可視化完成編程,幫助兒童培養編程思維,學會創造性地思考、系統地推理和協同工作。
  • IEEE Spectrum 2018 年度程式語言排行榜,Python 衛冕
    IEEE Spectrum 發布了 2018 年年度程式語言排行榜。IEEE Spectrum 程式語言排行榜一年發布一次,今年是其發布的第五年。
  • 抖音手裡的雞腿突然不香了是什麼梗 有何內涵意思介紹
    手裡的雞腿突然不香了是什麼梗?最近刷抖音,很多網友都在評論這句話,這是個什麼段子?其實,和之前大火的檸檬類似,就是我很酸很羨慕,大家懂了嗎?  手裡的雞腿突然不香了是什麼梗  最近看抖音,發現許多網友都在評論手裡的雞腿突然不香了,這到底是個什麼梗呢?
  • 除了不會生孩子 MATLAB 什麼都會
    看到的這個 3D 時鐘也是極好的MATLAB 的優點1、編程效率高MATLAB 是一種面向科學與工程計算的高級語言,允許使用數學形式的語言編寫程序,且比 BASIC、FORTRAN 和 C 等語言更加接近我們書寫計算公式的思維方式,用 MATLAB 編寫程序猶如在演算紙上排列出公式與求解問題。
  • 2020年10月程式語言排行榜出爐
    7日TIOBE公布了2020年10月程式語言排行榜。官方標題為:Python正接近第二名。其中Python的受歡迎程度已經十分逼近排在第二位的Java,本月排名率為11.28%,達到歷史新高。*TIOBE2020年10月排行榜前20名TIOBE榜單以來,C和Java一直佔據了前兩名的位置,Python算是後起之秀,去年才上升至第三名,依照目前的走勢來看,截止今年年底Python超過Java的可能性很大。* Python上升趨勢圖為什麼是Python?
  • MATLAB編程入門 變量類型
    一、matlab編程中最常用的幾個命令clear all;    %清除Workspace中的所有變量
  • 2019年度程式語言排行榜公布!我為什麼讓你選擇它
    近日,TIOBE 公布了 2020 年最新一期的程式語言排行榜。上個月有媒體預測 Java, C, Python 和 C# 將有機會獲得「年度程式語言」稱號,現在結果已公布,相信出乎很多人意料 —— 古老的 C 語言了榮獲 2019 年度程式語言稱號。
  • Python繼續霸榜,上古語言Cobol獲關注,IEEE2020程式語言榜單揭曉
    去年的第五名 R 語言這次排名下滑到第 6,與 JavaScript 調換了位置。根據介紹,IEEE 2020 程式語言排行榜從8 個信息源按照 11 個指標收集數據,進而得到程式語言流行度的整體排名。