一看就懂:编程语言影响力排名

著名的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上。

文章相关课程 从C++起步到MFC实战VC++软件工程师高端培训(
服务器端开发方向) 基于J2EE实战竭诚网上商城B2C购物系统开发配Android版购物客户端(JFreeChart3D) Java开发
实用工具及组件应用(JFreeChart、PDF组件-iText、jasper report报表、Maven)

时间: 2024-07-28 21:14:11

一看就懂:编程语言影响力排名的相关文章

c语言-edison连接mpu6050代码看不大懂

问题描述 edison连接mpu6050代码看不大懂 #include "math.h" #include "stdio.h" #include "mraa.h" #include "unistd.h" #define MPU6050_I2C_ADDR 0x68 #define PWR_MGMT_1 0x6B #define SMPLRT_DIV 0x19 #define CONFIG 0x1A #define GYRO_CO

位图-mfc显示透明背景代码看不大懂

问题描述 mfc显示透明背景代码看不大懂 /*-----------------显示透明背景图片-------------------*/ void CHIT_MOUSE::TransparentBitmap(HDC hdc HBITMAP hBitmap short xStart short yStart short xadd short yadd COLORREF cTransparentColor){ BITMAP m_bm; COLORREF cColor; // 创建临时DC HDC

printf-mooc上老师讲的代码有两段没有看太懂

问题描述 mooc上老师讲的代码有两段没有看太懂 代码如下 #include<stdio.h> //输入数字然后程序判断这是几位数 int main (){ int x n=0; //x输入的数字 n是用来输出的位数 scanf(""%d""&x); n=n+1; // 3 只要输入数字都是1位以上的不存在0位所以先+1 x /=10; // 4 利用两整数相除省略小数部分,将输入的数字位数减去1位 while(x>0) //判断输入的数字

java-小白问题:JAVA自定义容器类时,一段构造方法不太看得懂,求详细解释

问题描述 小白问题:JAVA自定义容器类时,一段构造方法不太看得懂,求详细解释 我先解释一下题意,现在要设计一个容器类(intArray2),这个容器的本质就是一段数组(暂且只装int值),这个数组可以的索引可以根据使用者传入的数据多少而自动增长,而自动产生新数组覆盖以前的,那么我的疑问就是如下这个....为什么构造方法要像第二图里那么写,而不能照我想的第一张图里的写 我觉的应该如此写(编译通过,运行报错,失败): 正确的写法,为什么要这么写两个: 测试代码,实参传或不传,传什么值,都不影响结果

让技术人员看得懂的流程(2)——用例模型

                    让技术人员看得懂的流程(2)                          --用例模型 一般的管理流程都将软件项目划分为"需求->分析->设计->实现->维护",对应的技术流程中首先也肯定是要将需求明确,而"用例模型"就是用于获得和分析需求的. 简单来说,用例模型就是要将客户的需求写下来."需求"不是很好理解,更加通俗的讲法是"故事(story)".我觉得&

谁能和我说下网络编程,json,http,都有什么联系,,,网上copy过来我也不介意 只要看得懂

问题描述 谁能和我说下网络编程,json,http,都有什么联系,,,网上copy过来我也不介意 只要看得懂 谁能和我说下网络编程,json,http,都有什么联系,,,网上copy过来我也不介意 只要看得懂 解决方案 如果你不需要特别高的性能,那么用http,简单可靠. 解决方案二: json是一种表示数据的格式,和xml有些类似,同时json也符合js语法.http是通讯协议,这种标准的协议任何web浏览器都可以理解,因此它对于客户端来说,兼容性很好.网络编程分为两个方面,一个是web编程,

让技术人员看得懂的流程(6)——处理模型

                   让技术人员看得懂的流程(6)                                 --处理模型 看完"实现模型",你是否长吁一声,准备拿起咖啡,惬意的喝上一杯?毕竟我们已经完成了从用例到编码的全过程了,确实是值得庆祝的一件事情,但"革命尚未成功.同志还需努力",现在还不是享受的时候,接下来我们需要进入"处理模型"阶段. l         "处理模型"阶段的任务 "处

让技术人员看得懂的流程(4)——设计模型

                       让技术人员看得懂的流程(4)                                     --设计模型 完成了"领域模型"阶段后,面向对象已经初具雏形,我们已经看到了那熟悉的"对象"了,例如"商品"."交易"."商品清单"等,看起来已经进入了面向对象的世界了,你是否已经摩拳擦掌,跃跃欲试,准备开始编码了呢? 且慢,"领域模型"只是

应对网络威胁 NGFW看得懂的安全更安全

本文讲的是 :  应对网络威胁 NGFW看得懂的安全更安全  , 自从2013年"棱镜门"事件后,国家高层对网络安全越来越重视,"没有网络安全就没有国家安全"在全社会也形成了共识,普遍认为只有用自主可控的国产软硬件和服务来替代进口产品,才能从根本上提升中国网络安全自我防护能力,只有建立起完全自主.安全可控的核心系统,把信息安全掌握在自己手中,才能确保国家网络安全和信息安全,一场国产化替代浪潮也越掀越高. [IT168 评论]在互联网时代下,网络安全是基础,没有安全一