写点什么

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

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

关注

评论

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

萨曼莎AI结合MoE技术创新应用: 引领AI Agents落地新格局

Geek_2d6073

pd虚拟机专用windows系统镜像(m1/intel)

iMac小白

flinkcdc 3.0 尝鲜

Antgeek

flink 数据同步 flinkcdc

【LLM】提示工程技术提炼精华分享

EquatorCoco

架构 AI 前端开发 LLM

开发技巧:Flask 项目如何自动生成 API 文档

Liam

Python flask 程序员 后端 API 文档

WorkPlus构建安全高效的内网通讯平台,助力企业内部协作

WorkPlus

WorkPlus助力企业构建高效沟通与协作的即时通讯平台

WorkPlus

软件测试学习笔记丨控件交互识别

测试人

软件测试 自动化测试 测试开发

AnyMP4 Audio Converter for Mac(多格式音频转换工具)v8.2.20激活版

iMac小白

WorkPlus提供全方位的即时通讯解决方案,助力团队高效沟通与协作

WorkPlus

LigaAI 的 8 个年度关键词 | 2023 年度盘点

LigaAI

研发管理 研发效能度量 2023年终总结

Secureworks 威胁评分迎来网络安全 AI 新时代

财见

聚道云软件连接器:连接薪人薪事与携程商旅的桥梁,出差管理效率的新篇章

聚道云软件连接器

案例分享

一键部署Palworld幻兽帕鲁服务器最佳实践

天翼云开发者社区

云计算 云服务器

Parallels Desktop 19 虚拟机 完美激活版 附pd19激活教程

iMac小白

WorkPlus助力企业构建高效沟通与协作的即时通讯平台

WorkPlus

Video Cut Crop Join for Mac(mac视频剪辑合并软件 )v3.7激活版

iMac小白

flinkcdc 3.0 架构设计学习

Antgeek

flink 数据同步 flinkcdc

远程桌面时连接不上远程计算机是什么问题

德迅云安全杨德俊

【节选】Go语言的100个错误使用场景|数据类型

不在线第一只蜗牛

Go 算法 前端 开发语言

商品管理系统:服装品牌提升工作效率的利器

第七在线

Office 365 Mac破解版

iMac小白

平台工程: 用Backstage构建开发者门户 - 2

俞凡

平台工程

数字化商品计划管理:提升运营效率和竞争力的关键

第七在线

使用草料的状态面板功能,扫码即可查看设备状态

草料二维码

二维码 草料二维码

Aiseesoft Mac Screen Recorder for Mac(屏幕录像截图工具)v2.2.22激活版

iMac小白

dBpoweramp Music Converter for Mac(音频格式转换器)R2024.02.01直装版

iMac小白

Wall Clock与Monotonic Clock

fliter

WIFI 6E/IPQ5018 WITH QCN9074 Deliver new data experiences

wallysSK

私有化部署的局域网即时通讯工具

WorkPlus

WorkPlus Meet视频会议系统,支持局域网部署

WorkPlus

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