速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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:024556
用户头像

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

关注

评论

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

SaaS与PaaS平台的区别

树上有只程序猿

低代码 PaaS SaaS

item_get_pro-获得淘宝商品详情高级版api接口

技术冰糖葫芦

API 文档

Xmind for Mac(思维导图软件) 24.01永久激活版

mac

XMind 思维导图软件 苹果mac Windows软件

弹性云主机支持多种规格

天翼云开发者社区

云计算 云主机 云平台

云电脑运行原理分析

天翼云开发者社区

虚拟化 云平台 云电脑

MatrixOne 支持多样化生态工具,持续提升开发者体验

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

AI机器学习实战:构建智能系统的关键步骤

不在线第一只蜗牛

人工智能 机器学习 AI

SecureFX for Mac(ftp文件传输工具)附注册码 v9.4.2永久激活版

mac

苹果mac Windows软件 SecureFX 文件传输客户端

使用CURL获取速卖通详情的API接口

Noah

专家分享——CAE仿真软件学习心得

智造软件

仿真 CAE 仿真软件 CAE软件 altair

大数据的技术运用:探索未来的无限可能性

EquatorCoco

大数据 技术应用 城市智能化 医疗健康

聚焦数据安全,神州数码联合多方发布《数据分类分级自动化建设指南》

科技热闻

MatrixOne 实战系列回顾 | 建模与多租户

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

情感语音识别的研究方法与实践

来自四九城儿

亲身体验云原生顶会北美 KubeCon,5个要点和4个 Fun Facts

小猿姐

Kubernetes 云原生 cncf KubeCON

三策略,六步骤,Jenkins 迁移到极狐GitLab CI 的终极指南

极狐GitLab

ci DevOps gitlab 持续集成 jenkins

AppLink上的小鹅通能实现什么操作呢?

RestCloud

APPlink

小程序转换工具—Antmove 使用教学

FN0

小程序 Antmove

Linux 爱好者线下沙龙:成都场圆满结束 & 下一场西子湖畔相见 | LLUG·第五站

OpenAnolis小助手

操作系统 杭州 龙蜥社区 LLUG Linux中国

情感语音识别技术的挑战与未来发展

来自四九城儿

Java中tranisent关键字到底是干嘛用的?

郑在暴富中

Java 关键字 transient

MatrixOne完成与欧拉、麒麟信安的兼容互认

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

有限元分析初学者需要关注哪些问题?

思茂信息

仿真软件 仿真技术 有限元分析 有限元仿真 有限元技术

交易所开发:加密货币交易平台开发的见解

区块链软件开发推广运营

交易所开发 dapp开发 区块链开发 链游开发 公链开发

情感语音识别技术的发展趋势与前景

来自四九城儿

代码迭代:软件开发者在众包平台的发展之路

知者如C

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