哪種編程語言的影響力最大?
就編程語言的相對重要性,如果要你來給評級,你會怎麼評?恐怖大多數開發者都會說,明顯就是“他們的”編程語言是最好的,並且是最重要的。如果你想從更為科學的角度看這個問題,那你就要來看看這張展示各編程語言直接關係的交互式圖。
編程語言影響力關係網
提示:下麵這張截圖來自 Ramio Gómez 的『編程語言影響力關係網』,這個交互圖可以耗費你整天時間去探索,並會讓很多人會大聲發出驚歎,“怎麼 LISP 的影響力居然還超過了 SQL 啊?”
譯注:Ramio Gómez 是一位住在德國柏林的自由職業軟件工程師,他擅長Web開發、數據挖掘和數據可視化,在用Python (Django, Flask)、JavaScript (jQuery, D3)、Twitter Bootstrap、PostgreSQL、MySQL、 MongoDB 和 Redis。他的個人網站上有很多出色的項目。
『編程語言影響力關係網』的數據來自 Freebase 維護的編程語言表,該表包括 3900+ 萬主題,2011 種類型和超過 30,000 個properties。Ramio Gómez 利用這些數據製作了上麵那個交互式關係網圖。該圖包括 1184 個編程語言節點,972條表示影響關係的線條。點擊個節點,可呈現受其影響的其他語言。
每個節點代表一種語言,影響關係更多的語言,其節點在關係網中也越大。我們能看到的幾個大節點有:Lisp、C、Smalltalk、Java、Pascal、C++、Scheme、Haskell 等。
交互圖用到的技術
- 數據獲取:Python 代碼從 Freebase 取數據,並生成 json 和 gexf 文件(代碼已托管在 Github)
- 網絡分析:Gephi (Gephi 是一個用 Java 開發的網絡分析和可視化的工具)
- Presentation: jQuery、 Bootstrap、 定製的 CSS
- 可視化:D3.js、 sigma.js、 openstreetmap
程序員搜索關係網
基於 Google 的知識圖譜(比如我在 Google 中搜索 James Gosling ,搜索結果頁右側還會展現“其他用戶還搜索了”丹尼斯·裏奇“。Ramio Gómez 還做了一個『程序員搜索關係網』。
GitHub 上有個熱門語言排行榜,Gómez 把這些語言之父的名字作為關係網圖的”種子“。被當作”種子“資源的語言之父有:Brendan Eich (JavaScript)、Yukihiro Matsumoto (Ruby)、James Gosling (Java)、Guido van Rossum (Python)、Stephen R. Bourne (Bourne shell)、William Nelson Joy (C shell)、Rasmus Lerdorf (PHP)、Dennis Ritchie (C)、Bjarne Stroustrup (C++)、Larry Wall (Perl) 和 Brad Cox (Objective-C)。
如果在Google搜索結果頁中有知識圖譜信息,則表明這個人是可以作為一個節點的程序員(或黑客或計算機科學家)。
最後更新:2017-04-03 16:48:43