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上。