且看如何以精致的方式展现,解析和分析GitHub上语言的发展趋势

GitHut网站原文连接:http://githut.info/,其实这是一个非常简单的只有一个页面的网站。做的事情就是去通过GitHub Archive来获取到GitHub代码仓库的大数据然后进行分析,并把Github上用到的各种语言的信息整理出来并呈现给大家。

GITHUT

GitHut is an attempt to visualize and explore the complexity of the universe of programming languages used across the repositories hosted on GitHub.

Githut尝试通过分析和探索Github上的大量的错综复杂的项目所用到的编程语言来把它们呈现出来给大家,以便大家更容易把握当前流行语言的走向和趋势。

Programming languages are not simply the tool developers use to create programs or express algorithms but also instruments to code and decode creativity. By observing the history of languages we can enjoy the quest of human kind for a better way to solve problems, to facilitate collaboration between people and to reuse the effort of others.

编程语言不仅仅是我们所认知的给程序员用来创建应用和实现算法的一个工具,同时它里面还封装和透露着人类伟大创造力的气息。通过观察语言的发展历史,我们很欣慰我们人类一直在追求着更优的解决问题的方法,以让人们之间的协作变得更加方便和让我们可以复用别人的努力成功而减少人力资源的浪费。

Github is the largest code host in the world, with 3.4 million users. It‘s the place where the open-source development community offers access to most of its projects. By analyzing how languages are used in GitHub it is possible to understand the popularity of programming languages among developers and also to discover the unique characteristics of each language. 

Github是世界上存有代码量最大的地方,它拥有者340万的用户量。这是一个开源开发社区提供大部分它们的项目让大家进行访问的地方。通过分析GitHub上的开发语言使用情况就很容易可以去了解开发人员当今正在使用的开发语言的流行程度以及这些语言各自的特性。

DATA

GitHub provides publicly available API to interact with its huge dataset of events and interaction with the hosted repositories.

GitHub提供了公共API来跟其巨大的事件数据集以及里面的代码仓库进行互动。

GitHub Archive takes this data a step further by aggregating and storing it for public consumption. GitHub Archive dataset is also available via Google BigQuery
The quantitative data used in GitHut is collected from GitHub Archive. The data is updated on a quarterly basis.

GitHub Archive 更进一步的把这些巨大的数据聚合并保存起来提供公共服务。Github Archive数据集同时也可以通过 Google BigQuery来获得。我们这里GitHut所用到的计量数据就是通过GitHub Archive 来收集到的。这些数据会在每个季度进行更新。

An additional note about the data is about the large amount of records in which the programming language is not specified. This particular characteristic is extremely evident for the Create Events (of repository), therefore it is not possible to visualize the trending language in terms of newly created repositories. For this reason the Activity value (in terms of number of changes pushed) has been considered the best metric for the popularity of programming languages. 

另外,对于我们获得的这些数据值得一提的一点是,其实GitHub Archive上面还有大量的数据里面是没有编程语言相关的信息的。这在先创建一个代码仓库所产生的创建事件中表现的特别明显(天地会珠海分舵注:因为创建一个仓库跟你创建一个文件夹来存放代码差不多,你没有存放实际的代码,我们怎么知道你这个仓库会用到什么编程语言呢?),因此,我们是没有办法去根据新创建的代码仓库来分析编程语言的发展趋势的。鉴于这个原因,我们去分析开发语言流行度最好的角度就是去分析那些代码改变后的签入相关的事件信息了。

The release year of the programming language is based on the table Timeline of programming languages from Wikipedia. 

上面的图表所现实的各种开发语言的发布日期参照的是Wikipedia上的开发语言时间轴这个表。

For more information on the methodology of the data collection check-out the publicly available GitHub repository of GitHut.

更多关于这些数据获取方式的信息请签出GitHub上公开的GitHut仓库

-------完----------


作/译者


微信知识共享公众号


CSDN


天地会珠海分舵


TechGoGoGo


http://blog.csdn.net/zhubaitian


优秀资源推荐


地址


点评


DoctorQ博客


http://testerhome.com/doctorq/topics


安卓自动化领域才俊

时间: 2024-10-08 09:45:39

且看如何以精致的方式展现,解析和分析GitHub上语言的发展趋势的相关文章

通过java递归思想实现以树形方式展现出该目录中的所有子目录和文件

当初在开始接触Java时  学习File部分的一个小练习  挺有意思 一开始是通过看 北京圣思园 张龙老师的视频开始学校java的,必须强烈推荐,真很棒. 功能实现:主要实现以树形方式展现出该目录中的所有子目录和文件. 另外, 在展现的时候将目录排在上面,文件排在下面.每一层要加上缩进. 文件是jre6文件夹,我想这文件夹就不用我说什么了.换上自己的文件路径就可以了. [java] view plain copy import java.io.File; public class FileTes

css实现相册方式展现的字母表

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

零元学Expression Blend 4 - Chapter 37 看如何使用Clip修出想要的完美曲线(上)

原文:零元学Expression Blend 4 - Chapter 37 看如何使用Clip修出想要的完美曲线(上) 几何外部的 UIElement 会在呈现的配置中以视觉化方式裁剪. 几何不一定要是矩形. 裁剪区域是几何的「外部」. 换句话说,如果几何是用来做为 Path 而非裁剪的资料,所显示 (未裁剪) 内容的几何区域即具有 Fill 属性. 裁剪区域是指落在几何覆叠外部的任何区域. 对於复杂的几何而言,区域的裁剪与否会受到几何的 FillRule 的影响. ? ? 开场白不知道怎麽写.

转载:删除github上文件夹的两种方式

http://www.jianshu.com/p/286be61bb9b8 删除github上文件夹的两种方式(解决已经加入ignore的文件夹无法从远程仓库删除的问题) 如果此文件夹已被加入git追踪,那么删除方法很简单,只需要将此文件夹删掉,然后提交一下就可以了如果次文件夹曾经被加入过git追踪,现在被加入.gitignore里了,但是github上还有此文件夹.对于这种情况,稍微有点复杂,因为已经加入.gitignore的文件或文件夹,无法对其进行提交了,哪怕是将其删除,都无法提交.我们用

【坐在马桶上看算法】算法11:堆——神奇的优先队列(上)

堆是什么?是一种特殊的完全二叉树,就像下面这棵树一样. 有没有发现这棵二叉树有一个特点,就是所有父结点都比子结点要小(注意:圆圈里面的数是值,圆圈上面的数是这个结点的编号,此规定仅适用于本节).符合这样特点的完全二叉树我们称为最小堆.反之,如果所有父结点都比子结点要大,这样的完全二叉树称为最大堆.那这一特性究竟有什么用呢? 假如有14个数分别是99.5.36.7.22.17.46.12.2.19.25.28.1和92.请找出这14个数中最小的数,请问怎么办呢?最简单的方法就是将这14个数从头到尾

微信支付通知的处理方式简要解析

通知机制的实现,官方只有文档没有demo代码,对没搞过的人来说,需要花大量时间来做测试. 从文档上说的来看,微信每次通知过来的数据,结构比较复杂,是一个多段数据,除了要取出POST数据外,还要取其它的数据. 这里首先涉及到一个关于php://input与$_POST取值的问题,简单列几点如下: 1,Content- Type取值为application/x-www-form-urlencoded时,php会将http请求body相应数据会填入到数组$_POST,填入到$_POST数组中的数据是进

4张图看懂delphi 10生成ipa和在iPhone虚拟器上调试(教程)

4张图看懂delphi 10生成ipa和在iPhone虚拟器上调试(教程) (2016-02-01 03:21:06) 转载▼ 标签: delphi ios delphi10 教程 编程 分类: 编程学习 参见: delphi XE4生成ipa并部署到越狱iPad视频教程 os x el capitan / Xcode_7.2 / delphi 10 切换不同版本的模拟器.png在虚拟器上调试的正确设置.png域名设置.png记得选择的平台要选虚拟器.png

ArrayList和LinkedList的几种循环遍历方式及性能对比分析

主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论.通过本文你可以了解(1)List的五种遍历方式及各自性能 (2)foreach及Iterator的实现 (3)加深对ArrayList和LinkedList实现的了解.阅读本文前希望你已经了解ArrayList顺序存储和LinkedList链式的结构,本文不对此进行介绍. 相关:HashMap循环遍历方式及其性能对

ArrayList和LinkedList的几种循环遍历方式及性能对比分析(转)

主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayList和LinkedList的源码实现分析性能结果,总结结论. 通过本文你可以了解(1)List的五种遍历方式及各自性能 (2)foreach及Iterator的实现 (3)加深对ArrayList和LinkedList实现的了解. 阅读本文前希望你已经了解ArrayList顺序存储和LinkedList链式的结构,本文不对此进行介绍. 相关:HashMap循环遍历方式及其性