哪门编程语言影响力最大?
英文原文:Which Languages Have Most Influence?
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 上。