写点什么

GitHub 发布 2018 编程语言 TOP10:JavaScript 独领风骚,Ruby 排名下降

  • 2018-11-19
  • 本文字数:1354 字

    阅读完需:约 4 分钟

GitHub发布2018编程语言TOP10:JavaScript独领风骚,Ruby排名下降

有许多方法可以检验编程语言的流行程度。在 Octoverse 报告中,我们统计了公共和私有存储库每个贡献者使用的主要语言,以及使用主要语言创建和标记的存储库的数量。

2008-2018 年创建存储库数量最多的编程语言


现在,使用 JavaScript 创建的存储库比任何其他语言都多。在过去的十年里,使用 JavaScript 创建的存储库数量一直在稳步上升,在 2011 年之后上升趋于稳定。此时,GitHub 总共拥有近 100 万个存储库,而新的 JavaScript 服务器如 Node.js(2009 年推出)让开发人员可以为客户端和服务器使用相同的代码。

截至 2018 年 9 月 30 日,贡献者使用最多的编程语言


JavaScript 也是公共和私有存储库中贡献者使用最多的语言,这在全世界任何地方的任何组织中都是如此。但是,我们也看到了 GitHub 上新语言的兴起。去年,TypeScript 进入了所有地区公共、私有和开源存储库编程语言 Top10。像 DefinitelyTyped 这样的项目可以帮助人们使用常见的 JavaScript 库和 TypeScript,推动其采用率。


我们也看到一些语言变得不那么受欢迎了。Ruby 在过去几年的排名下降。虽然使用 Ruby 编写的贡献者数量仍然在增加,但其他语言(如 JavaScript 和 Python)的增长速度更快。新项目不太可能用 Ruby 编写,特别是个人用户或小型组织的项目,他们更有可能用 JavaScript,Java 或 Python。

截至 2018 年 9 月 30 日,语言趋势地理分布(按贡献者使用)


在过去的 12 个月中,我们发现各地区使用的编程语言没有太大​​差异。但是,TypeScript 在南美洲和非洲的排名高于北美和欧洲。这可能是因为非洲和南美的开发者社区相对较“年轻”。去年在非洲和南美洲贡献的存储库总体上来说比北美和欧洲的存储库更“年轻”。也许这意味着他们更有可能专注于更新的开发者技术。

截至 2018 年 9 月 30 日,发展最快的语言(按贡献者使用)


PowerShell 被很多大公司的项目采用,在榜单中名次攀升。同样,Go 在各大公司的不同类型存储库中排名也上升,今年在开源存储库中排名第 9。此外,在线程安全性和互操作性上更有保证的静态语言也更加受欢迎,如 Kotlin,TypeScript 和 Rust 增长迅速。


那么,是什么因素让这些编程语言在 2018 年火起来的?我们认为有以下几个原因:


线程安全


除了 Python 之外,静态语言类型在增加,这可能是因为它能够为个体开发人员和团队开发更大的应用程序提供更高的安全性和效率。TypeScript 的可选静态类型加上了一层安全保障,特别是 Kotlin 提供了更强的交互性,同时创建了值得信赖的线程安全程序。


互通性


TypeScript 在榜单中排名上升的部分原因是它能够与 JavaScript 共存和集成。Rust 和 Kotlin 的排名也在上升。Python 的多功能性和互操作性也让人印象深刻,例如,开发人员可以直接从 Swift 调用 Python API。


互操作性不仅意味着语言能够为之前的社区使用和构建,还意味着他们可以“跨界”并融入不同的社区。


开源


当然,这些语言也都是开源项目,得到了 GitHub 的积极维护。那些帮助 Kotlin 等新语言改进、回答问题和创建资源的社区,可以促进未来社区之间的合作。


原文链接:


https://blog.github.com/2018-11-15-state-of-the-octoverse-top-programming-languages/




会议推荐:12 月 20-21,AICon 将于北京开幕,在这里可以学习来自 Google、微软、BAT、360、京东、美团等 40+AI 落地案例,与国内外一线技术大咖面对面交流。


2018-11-19 09:0019042

评论 3 条评论

发布
用户头像
c#
2018-11-22 16:17
回复
用户头像
js
2018-11-21 19:28
回复
用户头像
go...
2018-11-19 17:45
回复
没有更多了
发现更多内容

从0到1:实验室设备借用小程序开发笔记

CC同学

站在AGI拐点,重新想象老年生活

脑极体

AI

左耳听风 - 高效学习「读书打卡 day 08」

Java 工程师蔡姬

学习 读书笔记 程序员 个人成长 职业发展

为什么需要在 OpenShift 上部署企业级 Ingress Controller

NGINX开源社区

负载均衡 Kubernetes openshift Ingress Controller nginx 开源版

企业为什么要选择软件定制开发?

天津汇柏科技有限公司

软件定制 软件定制开发 软件开发定制

【深入挖掘Java技术】「源码原理体系」盲点问题解析之HashMap工作原理全揭秘(上)

码界西柚

Java 源码分析 hashmap 实现原理 2024年第十三篇文章

CNCF大使预测:2024年云原生面临倦怠、离职及云成本精简

SEAL安全

云原生 FinOps 开发人员

AZ逃生:容灾部署规范和最佳实践

焦振清

服务部署 弹性伸缩 机房容灾 AZ 逃生 同城多活

C# 介绍、应用领域、入门、语法、输出和注释详解

小万哥

C# 程序人生 编程语言 软件工程 后端开发

笔记软件Notability新手使用教程:功能特点、替代软件盘点和分屏技巧!

彭宏豪95

ipad 在线白板 笔记软件 Notability boardmix

Go 简单设计和实现可扩展、高性能的泛型本地缓存

陈明勇

Go golang 缓存 go 本地缓存

软件研发过程中,项目管理工具应该如何选择?

极狐GitLab

如何实现数据库读一致性

京东科技开发者

用 25,000 颗星撬动一个向量数据库的世界

Zilliz

Milvus Zilliz AIGC 向量数据库

数据集成时表模型同步方法解析

KaiwuDB

数据库 数据同步 数据集成

活了三十多年终于知道单模光纤与多模光纤

小齐写代码

请用心对待面试机会

老张

面试经验 求职面试 求职技巧

IPQ9574: High-performance WiFi7 wireless network chip leading the future

wallysSK

GitHub发布2018编程语言TOP10:JavaScript独领风骚,Ruby排名下降_编程语言_GitHub_InfoQ精选文章