通過Stack Overflow標簽分析編程語言新趨勢
近日,Salsita Software 的 CEO Matthew Gertner 發表了一篇題為《通過 StackOverflow 上的標簽分析軟件開發語言/工具的趨勢》的博文。在文章中,Matthew 介紹了通過對 Stack Overflow 上標簽的分析而得出編程語言/工具的新趨勢。結論包括 Java 仍然是王者、JavaScript 很強大、Android 和 iOS 并駕齊驅等。他們還使用 D3js 將分析的結果構造成交互式圖表,用來協助分析和方便查看結果。
Matthew 考慮到 Stack Overflow 沒有提供相關 API,于是自己就寫了一個簡單腳本來抓取相關列表和抽取標簽,從而構建出了一個具有廣泛性的軟件開發技能相關標簽數據,包括編程語言、編程開發工具等。Matthew 還將原始數據轉換成一個 Google Spreadsheet 表格的數據選項卡,并以手動和自動處理的方式將這些數據又生成了一個處理過的數據選項卡。Matthew 處理數據的方式包括合并類似的標簽、剔除只出現過一次的標簽、將標簽分類、使用 Adjusted Wald 方法計算標簽出現的置信區間。
Matthew 指出,這次分析的樣本雖然比較小,但是通過分析這些標簽仍然從側面反映了一定的編程趨勢,讀者不妨一看。具體內容如下:
Java 仍然是王者
目前,Java 仍然是最受歡迎的編程語言,不僅有很多開發者使用 Java 進行 Web 開發,而且 Java 還是一個非常流行的服務器端語言。金融行業的很多系統以及后臺都是使用 Java 開發的。同樣,Android 應用的開發也需要使用 Java 語言。
JavaScript 用戶非常多
JavaScript 即可以在瀏覽器中運行,又可以在本地運行。特別是隨著 Node.js 的出現和發展,JavaScript 已成了服務器端開發的主要語言,所以 JavaScript 的用戶數比較多不足為奇。然而對于能夠轉譯成 JavaScript 腳本語言并沒想象的中的那么受歡迎,諸如 TypeScript、Dart、PureScript、ClojureScript 根本就沒有出現,CoffeeScript 和 Haskell 僅僅出現了 5 次。
Angular.js 在類似框架中已經占據了領導地位
Angular.js 開發者的相關討論出現在了 72 個列表中,與 Android 和 HTML 相持平。沒有其它 JavaScript 框架能夠和 Angular.js 相匹敵,其中 Ember.js 和 Knockout.js 只出現了 3 次,Backbone.js 出現了 23 次。Angular.js 已變成當前單頁面 Web 應程序用開發的首選。
Python、PHP、C 和 C++ 正在變得越來越強
毫無疑問,這些語言同 JavaScript 不是一類語言,但是他們很明顯領先于其他語言。
Android 和 iOS 并駕齊驅
關鍵詞 Android 相對 iOS 出現稍多,但他們的置信區間幾乎完全重疊。
除了以上對編程語言分析外,還分析得出開發所用操作系統的選擇情況:Linux 完勝 Windows。Linux 出現了 102 次,Windows 只出現了 8 次,如此鮮明的對比,Matthew 認為微軟的地位很可能正在被 Linux 取代。