哪种编程语言的影响力最大?

编程语言的相对重要性,如果要你来给评级,你会怎么评?恐怖大多数开发者都会说,明显就是“他们的”编程语言是最好的,并且是最重要的。如果你想从更为科学的角度看这个问题,那你就要来看看这张展示各编程语言直接关系的交互式图。

编程语言影响力关系网

提示:下面这张截图来自 Ramio Gómez 的『编程语言影响力关系网』,这个交互图可以耗费你整天时间去探索,并会让很多人会大声发出惊叹,“怎么 LISP 的影响力居然还超过了 SQL 啊?”

译注:Ramio Gómez 是一位住在德国柏林的自由职业软件工程师,他擅长Web开发、数据挖掘和数据可视化,在用Python (Django, Flask)、JavaScript (jQuery, D3)、Twitter Bootstrap、PostgreSQL、MySQL、 MongoDB 和 Redis。他的个人网站上有很多出色的项目。

Programming Languages Influence Network

查看『编程语言影响力关系网』交互式的大图

『编程语言影响力关系网』的数据来自 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搜索结果页中有知识图谱信息,则表明这个人是可以作为一个节点的程序员(或黑客或计算机科学家)。

 

社交网络分析影响力最大化的代码可以通过以下步骤实现: 1. 构建图:根据社交网络的节点和边的关系,构建一个图G(V,E)。每个用户作为一个节点v,用户之间的关系作为边e。 2. 设置节点的概率:为每条边设置一个概率p,表示信息在网络中传播的概率。 3. 选择种子节点:根据需求,选择一部分节点作为种子节点,这些节点将作为初始的影响力源。 4. 传播模型:根据传播模型,按照一定的概率去尝试影响邻居节点。例如,如果节点i在上一时刻被激活,则在下一时刻,节点i以概率pij去尝试激活节点j。 5. 计算影响力:通过模拟传播过程,计算最终被激活的节点数量,即影响力的大小。 具体的代码实现可以根据具体的编程语言和社交网络分析工具进行选择和编写。常用的工具包括NetworkX(Python)、igraph(R和Python)、Snap(C++)等。这些工具提供了丰富的图分析功能和算法,可以方便地进行社交网络分析和影响力最大化的计算。 请注意,具体的代码实现可能因为不同的需求和算法而有所不同,以上只是一个基本的框架。在实际应用中,还需要根据具体情况进行参数调整和算法优化,以获得更好的结果。 #### 引用[.reference_title] - *1* *2* *3* [社交网络影响力最大化](https://blog.csdn.net/asialee_bird/article/details/79673418)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值