NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

GitHub 上的编程语言:JavaScript 领衔 Java 次之

  • 2015-08-26
  • 本文字数:864 字

    阅读完需:约 3 分钟

最近, Linguist 项目统计了代码托管网站 GitHub 上各类编程语言的热度。下图展示了自 2008 年以来各编程语言的排名状况及它们的相对热度。

从上图中可以看出,Perl 已经不再流行,C#开源之后流行度迅速上升,JavaScript 高居榜首,Java 则一路攀升至第二名,“最好的语言”PHP 没有变化。 GitHub 的 Ben Balter 说,十年前 Java 是一个闭源开发的语言,银行和企业用来开发应用;如今 Java 是构建开源软件的最流行语言之一。Balter 认为,Java 的崛起是 Google 选择用它构建 Android 的结果。作为当今智能手机最广泛使用的操作系统 Android 的兴起使得 Java 开发者增多,同时企业里对版本控制平台的需求大大增加,这些因素都可能促成了现在这样的结果。

这个排名是基于 GitHub 上公共和私有库使用的语言及其创建时的年份统计的,该排名并没有统计分支中的情况。由于没有统计每一个仓库中的分支,统计得到的数据并不是各种语言的使用总量。另外,这种方法没有对统计对象进行加权,比如说,GitHub 上有相当多不同语言的 Hello World 项目仓库,它们之所以被创建,仅仅是因为使用者作为新手学习时进行的尝试。如果不把这一类意义不大的仓库剔除,编程语言使用情况的统计结果就会出现偏差。

如果采用加权法对统计进行改进的话,大型项目的权重需要设置得比小型项目的权重更大。这是因为,小型项目(如 batch files、css、html、examples、tests 等)往往约定俗成地使用某一种特定的语言,然而对于大型项目,却有多种语言可以选择。至于实现项目时到底选择哪一种语言,那么就要看程序员的考虑和喜好了,这也才是编程语言使用率统计的重点所在。新创建的(大型)项目相比于过往创建的(大型)项目,其权重也可以更大。将项目的代码行数和创建日期作为加权因子同时在统计中考虑,能够更好地体现各语言的使用率趋势。


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注 我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-08-26 19:024437
用户头像

发布了 268 篇内容, 共 118.2 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

.NET6新东西--模式匹配中的Extended Property Patterns

喵叔

28天写作 12月日更

在线问诊初体验

mtfelix

28天写作

管理文化

圣迪

管理 文化 强势文化 弱势文化

k8s daemonset controller源码分析

良凯尔

源码 Kubernetes 源码分析 源码解析 #Kubernetes#

性能分析之TPS从300到750的过程

zuozewei

性能测试 性能分析 12月日更

22《重学JAVA》--字节流

杨鹏Geek

Java25周年 28天写作 12月日更

PassJava 开源 (四):整合MyBatis-Plus实现CRUD

悟空聊架构

mybatis 28天写作 passjava 悟空聊架构 12月日更

今年读了多少书?(22/28)

赵新龙

28天写作

直播预告|百万人观看无卡顿!京东云CDN支撑直播丝般顺滑

京东科技开发者

CDN 直播

蓝绿发布、滚动发布、灰度发布

xcbeyond

灰度发布 28天写作 12月日更 蓝绿发布 滚动发布

绩效沟通准备

搬砖的周狮傅

绩效管理

盘点2021|「避坑宝典」为大家分享一下笔者在2021年所遇到“匪夷所思”的Bug趣事(上)

洛神灬殇

2021年展望 2021年度技术盘点与展望 盘点2021 避坑宝典

040022-week7-design

InfoQ_70156470130f

王者商城异地多活设计

天天向上

架构实战营

2021的科技卦象·兑·一场“双碳”催化雨

脑极体

DDD领域驱动实战(二)-限界上下文(bounded context)

JavaEdge

12月日更

Dubbo 框架学习笔记十

风翱

dubbo 12月日更

彩色图像色彩空间原理(理论篇—6)

不脱发的程序猿

机器视觉 图像处理 色彩空间原理

Python 的元类设计起源自哪里?

Python猫

Python ruby

单步调试理解webpack里通过require加载nodejs原生模块实现原理

Jerry Wang

前端 前端开发 webpack 28天写作 12月日更

盘一盘Java中的abstract和interface

李子捌

28天写作 21天挑战 12月日更

PassJava 开源 (三):快速生成前后端代码

悟空聊架构

SpringCloud 28天写作 passjava 悟空聊架构 12月日更

如何设计异地多活架构

天天向上

架构实战营

架构营模块七作业

GTiger

架构实战营

如何给产品做拉新?

石云升

AARRR 产品思维 28天写作 产品增长 12月日更

分布式数据缓存中的一致性哈希算法

程序员历小冰

缓存 一致性哈希 28天写作 12月日更

Prometeus 2.32.0 新特性

耳东@Erdong

Prometheus 28天写作 12月日更

leetcode 206 反转链表

好吃不贵

视频知识点(6)- MPEG vs JPEG

liuzhen007

28天写作 12月日更

【架构实战营】模块七作业

liu🍊

前端开发:Mac OS环境下的通过对Chrome浏览器设置SameSite解决跨域请求方法

三掌柜

28天写作 12月日更

GitHub上的编程语言:JavaScript领衔Java次之_Java_张天雷_InfoQ精选文章