Reddit基本可稱為世界最大的開源社群論壇,聚集了大量的開發者,最近Stuck_In_the_Matrix維護的reddit數據集偶然被發現,他歸檔了大部分編程語言之間的比較關係,涉及的數據量達到100GB,以下是這些數據可視化的結果。
數據可視化的結果顯示了相對於全局平均值(圈越大,顏色越深代表權重越大),每張圖列出了100個該編程語言最常被搜索到的單詞。例如,在Python中“learnpython”一詞被搜索的頻率最多,而Python的平均搜索頻率比其他所有編程語言都要高0.01%。
在進行頻率計數時,我刪除了常用的一些語氣詞之類的,以便影響可視化結果。根據圖片不難看出:
Python:搜索頻率最高的往往是與學習教育有關的,比如 “learnpython”,“subreddit”,“questions”,“post”等詞語更為頻繁,這說明可能有很多開發者還處於學習Python的階段。
Javascript:該編程語言非常強調框架和工具。 “react“佔據主導並不奇怪。
Java&C#:這些語言被眾多企業所使用,其背後也有企業支持,所以有很多與企業開發相關的單詞頻率很高。
Go:不能逃避Go的最大爭議:“generics”
Php:評論中包含比其他語言更多的“shit”。(這是什麼情況?PHP不是世界上最好的編程語言嗎?)
根據開發者的註冊信息可以得出該開發者使用的編程語言,通過開發者之間的關係可以顯示出編程語言之間的微妙關係,比如:
Python:訂閱Python的開發者數量最大,從其評論中可以看出,Python也是最吸引其他開發者的一門編程語言(Objective-C除外)。該編程語言因為其門檻較低,並受到機器學習興起的影響被炒得
Swift:這種編程語言的開發者一般是以自我為中心,基本不涉獵其他語言。R也是,但其中一些用戶也在Python中發表了評論。
Rust:訂閱者數量中等大小,但令人驚訝的是,它吸引了大量的評論者。
評論長度
通過顯示的平均評論長度來看,函數式編程語言基本上位於前列,比如Scala和Ocaml。評論的長度與用戶數量有一定關係,但並不成比例,因為較大的社區傾向於有更多的“淺”評論。
開發者提交數量
最後一個結果是顯示開發者提交的文檔或項目數量。僅使用最近3個月的數據,雖然數據集選取較小,但足以看出差別了。
Rust和Haskell憑藉著30和26份提交佔據提交數量最多的前兩位,Python、C++緊隨其後。
結論
這份可視化結果比較簡單,但也有很多值得探究的地方,整個過程中我使用到的工具是用D3.js可視化,使用SQLite存儲數據,用Python進行分析。