阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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:0018249

评论 3 条评论

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

18 K8S之存储卷简述

穿过生命散发芬芳

k8s 11月日更

【LeetCode】整数替换Java题解

Albert

算法 LeetCode 11月日更

部署Apollo

小鲍侃java

11月日更

“零信任”的世界,让女性更安全

脑极体

Python中的控制流:break和continue

Peter

Python 控制流

一份数据的6种Plotly画法

Peter

数据分析 可视化

☕【Java技术指南】「技术盲区」看看线程池是如何回收和维持运作线程的核心技术体系

洛神灬殇

Java 线程池 11月日更

Prometheus Exporter (二)Windows Exporter

耳东@Erdong

Prometheus exporter 11月日更 Windows Exporter

Android C++系列:Linux文件系统(一)

轻口味

c++ android jni 11月日更

前端开发:Node版本引起的报错问题

三掌柜

11月日更

.NET Core 中对象池(Object Pool)的使用

喵叔

11月日更

flutter 开发中 vscode 插件推荐 3

坚果

flutter 11月日更

不用找了,这本书帮你完全搞定Spring Cloud Alibaba

胡弦(关注公众号架构随笔录)

分布式架构 spring cloud alibaba

Serverless 下的微服务实践

阿里巴巴云原生

阿里云 Serverless 微服务 云原生 SAE

如何设计高性能高可用存储架构

天天向上

架构实战营

【死磕Java并发】-----Java内存模型之从JMM角度分析DCL

chenssy

11月日更 死磕 Java 死磕 Java 并发

Electron常见问题 48 - Electron 获取本机 MAC 地址

liuzhen007

11月日更

又谈mysql,面试官问表结构设计要注意啥?

微客鸟窝

MySQL 11月日更

linux总结10大危险命令

入门小站

Linux

架构实战 - 模块四

唐敏

「架构实战营」

dart系列之:创建Library package

程序那些事

flutter dart 程序那些事 11月日更

redo Log 的持久化过程

卢卡多多

Redo Log 11月日更

完善Django的MVT框架开发,记得添加路由哦~

老表

Python django web开发 11月日更 博客系统

[ Kitex 源码解析] 函数式编程

baiyutang

golang 微服务 Go 语言 11月日更

在线等比数列项数生成器

入门小站

工具

[Pulsar] Delayed message原理

Zike Yang

Apache Pulsar 11月日更

【Flutter 专题】04 图解第一个程序遇到的安装依赖问题

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

前缀和后缀运算符有什么区别?

devpoint

JavaScript 11月日更 前缀运算符 后缀

测试左移实践介绍

刘冉

TDD 自动化测试 测试驱动开发 测试左移 ATTD

只需10分钟,让你的企业应用具备OCR能力

明道云

Java将增加虚拟线程,挑战Go协程

编程宝库

Java golang 并发

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