近十年來巨量資料的應用興起,如何運用程式來更有效率的搜集、處理、分析資料和呈現分析結果已成為一項重要的技能。108課綱的「資訊科技」將程式教育納入學校的必修課程,幫助學生從小培養邏輯能力和技術思維,為已經到來的人工智慧時代做好準備,未來如果對程式有興趣,也可以打下良好的基礎。然而,程式語言的種類非常多,哪些是目前比較多人在使用的程式語言呢?
我們可以參考PYPL指數和Stack Overflow的開發者調查。PYPL指數是根據程式語言教學在線上被搜尋的次數排名,資料來源是Google Trends,被搜尋的次數用多代表越受歡迎,每個月更新排名結果(PYPL, 2023);Stack Overflow的排名則是根據對於185個國家超過90,000名程式開發人員,調查他們主要使用的程式語言、開發環境、套件等,每年發布最新的調查結果(Stack Overflow, 2023)。
排名 | PYPL | Stack Overflow |
1 | Python | JavaScript |
2 | Java | HTML/CSS |
3 | JavaScript | Python |
4 | C# | SQL |
5 | C/C++ | TypeScript |
6 | PHP | Bash/Shell |
7 | R | Java |
8 | TypeScript | C# |
9 | Swift | C++ |
10 | Objective-C | C |
此外,當寫程式遇到問題的時候,很多人會到網路上尋找解題的靈感或參考程式碼。調查結果顯示,63%的受訪者每天花30分鐘以上在網路上尋找答案(Stack Overflow, 2023),所以程式語言在網路上被「提問」的次數,也可以用來當作它們的熱門程度的參考依據。這裡我們統計每個程式在Stack Overflow平台的問題數量,Stack Overflow是目前最主要的線上程式社群之一,目前已有2千萬以上的使用者,累積超過2千4百萬筆問題和3千5百萬筆答案,適合用來分析程式語言的使用趨勢,但是要如何知道每個問題分別是關於哪個程式語言呢?
每個在Stack Overflow平台被提出的問題都有詳細紀錄,包含問題的序號、日期、內容、標籤等資訊,其中標籤(Tag)代表問題是屬於哪一種程式語言,搜集標籤的數量資訊就能知道每個程式語言被提問的次數,這些紀錄都可以在Stack Exchange Data Explorer資料庫中查詢(Stack Exchange Inc., 2023)。
首先我們查詢2022年的資料,2022年共有超過438萬筆標籤紀錄,將這些紀錄分類並加以排序後,整理出十大最熱門的程式語言如下:
接著我們查尋2008到2022年的資料,然後根據2022年十大熱門程式語言的標籤篩選出每年的標籤數量,計算每年的佔比後進行跨年度比較,找出這些程式語言的發展趨勢:
從各年度標籤數量的變化可發現,Python的熱門度在近幾年快速上升,同樣應用於資料科學的R也逐年成長,而關於HTML/CSS、Java、C#、Android和PHP的提問次數佔比在近幾年則呈現下降的趨勢。
透過標籤篩選也可以比較特定的語言種類,例如手機作業系統Android和iOS的熱門度在2012到2015年達到高峰,2016年後則開始逐年下降:
而近年來非常受小學生歡迎的程式遊戲麥塊(Minecraft),由於COVID-19疫情的影響,查詢麥塊標籤可發現提問數在2019到2021年之間快速上升,之後則開始下降,從麥塊問題數量推估的熱門度趨勢也反映在麥塊的年度銷售額(Statista, 2023):
程式語言在社群平台被提問的數量趨勢可用來推估它們的受歡迎的程度,但需要注意的是,自從OpenAI在2022年11月推出ChatGPT以來,越來越多開發人員轉而使用ChatGPT而不再從Stack Overflow等網路社群平台尋找答案,不過通常討論度越高、越多人使用的程式語言會有更多的學習資源與應用套件,還是可做為在決定要學什麼程式語言時的一項參考依據。
參考資料
PYPL, 2023. PopularitY of Programming Language. [Online]
Available at: https://pypl.github.io/PYPL.html
Stack Overflow, 2023. 2023 Developer Survey. [Online]
Available at: https://survey.stackoverflow.co/2023/
Stack Exchange Inc., 2023. Stack Overflow Data Explorer. [Online]
Available at: https://data.stackexchange.com/
Statista, 2023. Annual mobile revenue generated by Minecraft worldwide. [Online]
Available at: 2023 https://www.statista.com/statistics/972711/minecraft-mobile-revenue/