大數據可視化的一個漂亮案例

TIOBE每個月都會給編程語言排名,從側面說明哪些編程語言使用比較廣泛。那麼你是否考慮過這些編程語言彼此之間的影響力呢?哪一門語言的影響力是最大的呢?顯而易見,大多數開發者都會認爲他們的語言是最好的。如果你想要一個更科學的(或者藝術點的)視圖,可以查看下面這幅編程語言影響圖。

編程語言之間的影響力

下圖是由Ramio Gómez實現,圖中的每個節點代表1種編程語言,之間的連線代表該編程語言對其他語言有影響。看了它,你可能會問,爲何Lisp比SQL更具影響力呢?


查看大圖

該圖數據來自Freebase上的編程語言維護表裏的數據,其包含的數據超過3900萬個topic,2011種類型以及超過30000屬性。Gómez利用這些數據創建了上面這幅交互式網絡圖片,來反映編程語言之間的影響力。

其中包含1184個編程語言節點和972種關係連線,每個節點表示一門編程語言,其中有影響力的語言會連線多個語言,相應的節點也會越大。從圖中我們不難發現,節點較大的有Lisp、C、Java、Smalltalk、Pascal這幾門語言。

該圖所用的數據來源是Ramio Gómez通過Python對Freebase中的數據進行檢索並生成的json和gexf格式文件,然後經過JavaScript庫sigma.js渲染,並使用Gephi虛擬化平臺和Force Atlas 2對佈局進行了預處理。

語言創始人之間的影響力

此外,Gómez還基於Google的搜索機制製作了一張迷人的曲線圖,用來反映一些著名程序員之間是如何有關聯的。根據GitHub上的種子資源,Gómez找到了最受歡迎的編程語言的創建者名字,比如Brendan Eich (JavaScript)、James Gosling (Java)、Rasmus Lerdorf (PHP)、Dennis Ritchie (C)、Bjarne Stroustrup (C++)、Brad Cox (Objective-C)。如果搜索結果裏面包含知識信息圖,則表明這名程序員(或黑客、計算機科學家)可以作爲一個節點。


查看大圖

同樣道理,節點越大,影響力也就越大。Ramio Gómez已將該程序開源,源碼託管在Github

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章