报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

评论 3 条评论

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

OptaPlanner 和 商人旅行问题(TSP)

积木编程

数据库-MySQL-基础(2)-DDL操作

Geek_a7ae15

MySQL 数据库 sql 10月月更

OptaPlanner和网球俱乐部排程问题

积木编程

Web3 中最佳 AI 艺术工具

devpoint

AI web3 starry

🧩 Vue 深入组件开发☞#异步组件#

小鑫同学

前端 Node 10月月更

CLI新功能之多项目启动器

小鑫同学

前端 Node 10月月更

我用了7个月拿下3个ACP认证

跟YY哥学Jira

Atlassian Jira Cloud JiraServiceManagement Atlassian认证

构建工具Gulp-lesson3

小鑫同学

前端 Node 10月月更

搭建组件库最小原型(支线)

小鑫同学

前端 Node 10月月更

Vue2.x组件间通信汇总表

小鑫同学

前端 Node 10月月更

架构实战营模块九作业(毕业设计)

zhihai.tu

【抓包】青花瓷使用教程①

小鑫同学

前端 Node 10月月更

正确发送统计数据到服务器

小鑫同学

前端 Node 10月月更

打包 Composition API、Vue3

小鑫同学

前端 Node 10月月更

如何搭建组件库的最小原型

小鑫同学

前端 Node 10月月更

【愚公系列】2022年10月 Go教学课程 027-深拷贝和浅拷贝

愚公搬代码

10月月更

跟着卷卷龙一起学Camera--夜景拍照04

卷卷龙

ISP camera 10月月更

开源项目站点必备&交流区功能

小鑫同学

前端 Node 10月月更

面试官:你说说var、let、const三者的区别

CoderBin

JavaScript 面试 前端 10月月更

构建工具Gulp-lesson1

小鑫同学

前端 Node 10月月更

构建工具Gulp-lesson2

小鑫同学

前端 Node 10月月更

【抓包】青花瓷实战教程②

小鑫同学

前端 Node 10月月更

【Java深入学习】线程状态

Geek_65222d

10月月更

【Ajv】JSON Schema Validator

小鑫同学

前端 Node 10月月更

构建工具Gulp-lesson5

小鑫同学

前端 Node 10月月更

Spring之注解开发

楠羽

笔记 Spring 框架漏洞 10月月更

【uniCloud】云对象的应用与提升

小鑫同学

前端 Node 10月月更

【PPT下载】杭州ACE三周年活动

跟YY哥学Jira

Atlassian Jira ITSM jsm ITSM解决方案

【个人成长】我认为的好的日报

非晓为骁

个人成长 日报

构建工具Gulp-lesson4

小鑫同学

前端 Node 10月月更

Java 如何将 List 转换为 MAP

HoneyMoose

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