写点什么

RedMonk 最新编程语言排名:JS 占据统治地位,Ruby 持续下滑,Dart 上升名次最大

2021 年 3 月 05 日

RedMonk最新编程语言排名:JS占据统治地位,Ruby持续下滑,Dart上升名次最大

近日,RedMonk公布了最新的编程语言排名,JavaScript 排名第一,Python 和 Java 分别排名第二、第三。



2021 年 1 月编程语言总体排名


排名前 20 的编程语言(并列语言按字母顺序排序):


  1. JavaScript

  2. Python

  3. Java

  4. PHP

  5. C#

5.C++

5.CSS

  1. TypeScript

  2. Ruby

  3. C

  4. Swift

  5. R

  6. Objective-C

  7. Shell

14.Scala

  1. Go

  2. PowerShell

  3. Kotlin

  4. Rust

19.Perl


RedMonk 官方在博客写道,上次统计排名中,前 20 名编程语言的排名相当稳定。对综合指标来说,这样的结果很平常。但是本季度,最终排名发生很大的变化。前 20 名编程语言,有一半经历一定程度的波动,这非常不寻常。


很难把这种现象明确地归因于某种更高层面的宏观趋势,但这样的数据与一个行业是相吻合的:整个行业已经从疫情爆发初期的大封锁造成的混乱中开始恢复过来,此前的两个季度里,大家逐渐习惯了新形势。


如果这种趋势持续下去,那么它会演变成巨大的影响。


值得一提的是,Python 保住了第二名位置。Java 紧随 Python 之后,与后者的差距比自己与身后的 PHP 之间的差距更小——但是 Python 捍卫其排名新纪录的实力还是给人留下了深刻印象。


本期排名中最重要的几大要点(括号中的数字是自上期以来语言排名的净变化)


  • JavaScript(0):本文关注的主要是变化,因此讨论 JavaScript 似乎没什么意义,毕竟 JavaScript 的排名没有变化。但值得注意的是,JavaScript 的影响力还是那么稳固。尽管有来自众多新兴语言的竞争压力、关于 JS 碎片化的所有讨论,甚至有对 JavaScript 语言本身的批评,它仍然非常受欢迎。以数据为例,自 2018 年 1 月第一季度的排名以来,JavaScript 拉取请求增长了 453%。仅从上一季度到现在,这个数字就增长了 96%,这还是基于相当庞大的提交基础获得的增幅。简而言之,JavaScript 仍然(尽管存在负面因素)占据着统治地位,这一点在业内没有其他选手能比拟,并且数据中没有迹象表明这种情况很快就能改变。

  • TypeScript(1):谈到 JavaScript 的影响力,TypeScript 在我们的排名中名次继续上升。这样的结果令人印象深刻。Swift 是最近唯一能前进到 10 名以内的新语言,但也只待了一个季度,然后就退回了 11 位,自 2018 年以来名次一直保持相对稳定。TypeScript 面临的最初问题是它是否能够坚持下去。现在更常见的问题是这种语言的最终上限能到什么级别。TypeScript 在最近的八个季度排名中有 6 次上升,在整个行业中,它的受欢迎程度显而易见。而与它增长势头同样有趣的话题是,它的成长抢了谁的饭碗。

  • Ruby(-2):以前我们就讨论过,Ruby 的势头长期处于下降状态,只不过趋势比较温和。但从本季度的排名来看,它是否还能温和下滑已经是个问题了。当我们在 2012 年开始做排名时,Ruby 是名次第五的最受欢迎语言,并且这一水平保持了五年左右。但自 2016 年以来,Ruby 一直在逐渐下滑,本季度它已被 CSS(是的,我们知道你们中的许多人不认为它应该参与排名)和上面的 TypeScript 都超过了。近年来,Ruby 一直在努力解决它存在的一些性能问题,但且不说他们的宣传与实际成果有多少一致,对性能的这种关注似乎并没有改变从我们的排名中反映出来的命运。需要明确的是,Ruby 所处的第 9 位名次对于几十乃至几百种语言来说都是非常好的成绩了,但 Ruby 的用户和粉丝更应该关心的不是它的排名而是它的趋势。这是一门可爱的语言,语法优美,但在竞争激烈的语言市场中实力还远远不够。

  • Go(-1):与 Ruby 一样,Go 的排名相比其趋势来说也并不值得关注。经过早期的快速增长之后,Go 在 2018 年排名第 14 位,那也是它的巅峰时刻。之前,Go 一直是排名最稳定的语言,基本看不出下滑趋势。但这次的排名之所以会是这样,Go 相对其他一些语言更为狭窄的市场定位应该可以解释一部分原因。作为后端应用程序组合的主要竞争对手,Java 仍然是一种至关重要且使用率很高的语言,经过这么多年的流行也并没有消失淡出,这对 Go 来说并不是好事情。但不管它的地位是稳固的还是开始衰落,如果 Go 雄心勃勃想要成为真正的行业主导力量,那么它的路径和结构可能需要做一些改变了。

  • R(1):我们经常会讨论 R 的命运这一话题。R 的学术标签非常明显,只在单个领域(分析)中表现出色,并且在这一领域之外基本没有存在感。看到 R 和其他几种语言,很容易冒出一个问题:在当今碎片化的世界中,一种用途特殊的语言会有怎样的命运?它会走上多高的山峰,或者落到怎样的境地?通常,专用语言的表现比不上通用语言——就像上面提到的 Java 与 Go 的对比。但是,R 是这条规则的例外。尽管它从未经历过爆发式或线性增长,但在许多年前我们开始做排名时,这种语言的名次才是第 17 位。这太有趣了;更重要的是它超越了 ObjectiveC(-2)来到了今天的 12 位。自前十常客 Objective C 的指定继任者 Swift 诞生以来,前者的名次一直在缓慢下滑。不管怎样,看到一种专注于统计分析的语言名次能超越 2014 年前绝大多数 iOS 应用的编写语言,还是很令人震惊的。

  • Kotlin(1)/Rust(1):Kotlin 和 Rust 之间没有真正的联系,只是它们之间存在一定的功能重叠。Kotlin 是一种基于 JVM 的语言,具有现代语法,可以与 Java 自由混合;Java 是一种具有良好后端应用实力的语言,但它也是 Android 上的一等公民。Rust 是一种安全意识很强的语言,已被 Mozilla 等组织广泛使用,但也经常被认为是 Go 的替代语言。说到 Mozilla,他们将所有 Rust 商标和基础设施资产转移到了新的 RustFoundation,也就是这种语言的管理组织。该语言还得到了 AWS、谷歌、华为和微软的支持。Kotlin 和 Rust 的共同点是,它们在开发人员中的受欢迎程度让它们在本季度排名中都上升了一个位置——Rust 排名第 19,Kotlin 排名第 18。迄今为止,Kotlin 一直处于领先状态,但 Rust 新的专职基金会是否会完全改变这种情况是值得关注的。

  • Dart(3):不到三年前,Dart 一直处于低迷状态,徘徊在 30 名开外。但在 Flutter 框架推出两年后,Dart 排名上升了 3 位,排在我们的前 20 名之外。当时人们质疑 Dart 是不是已经来到了巅峰,但本季度的成绩否定了这种质疑。显然,Flutter 对这种语言的流行程度产生了实质性的影响,它可以编译为世界上最受欢迎编程语言的能力同样是一项优势。虽然排到 21 位已经是很难的成绩了,但本季度 Dart 大幅上升的名次使我们产生了期待,可以观察一下 Dart 接下来是否能跻身前 20 名,如果能做到的话过程中又会发生什么事情。


说明:


说明:RedMonk 编程语言排名是由 MongoDB 发布,每季度发布一次。RedMonk 排名最早始于 2010 年末。流程:从 GitHub 和 Stack Overflow 提取编程语言排名,然后将两份排名结合在一起,试图同时反映编程语言在代码(GitHub)和讨论(Stack Overflow)两方面的名次。

2021 年 3 月 05 日 15:322191
用户头像
万佳 InfoQ编辑

发布了 533 篇内容, 共 192.9 次阅读, 收获喜欢 1289 次。

关注

评论

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

LeetCode题解:231. 2的幂,迭代,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

屏读时代,我们患上了注意力缺失候群症

脑极体

一道比较运算符相关的面试题把我虐的体无完肤

Gopher指北

MySQL中特别实用的几种SQL语句送给大家

陈哈哈

SQL优化 实用SQl语句 高性能SQL

快快使用ModelArts,零基础小白也能玩转AI!

华为云开发者社区

人工智能 开发者 开发

干货 | 京东技术中台的Flutter实践之路

京东科技开发者

flutter

架构师训练营第三周课后作业

天涯若海

低代码开发不靠谱?看低代码开发在物联网APP开发中的应用

华为云开发者社区

技术 软件开发 代码

从广西的新基建耕种,读懂一颗名为智能体的种子

脑极体

TCP梳理总结

江龙

这份阿里P8整理的新版手抄本,简直把所有Java知识操作都写出来了

Crud的程序员

Java 编程 程序员 程序人生 java面试

这可能是关于编程指南的最实用指南了

华为云开发者社区

开发者 软件开发 语言

力扣解题:第三题(个人思路整理)

人语驿边桥

力扣

一周信创舆情观察(10.26~11.1)

统小信uos

啥是数据库范式

Simon

MySQL 数据库 数据库设计

LeetCode题解:231. 2的幂,递归,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

数字资产交易平台开发,场外交易所开发搭建

135深圳3055源中瑞8032

合约跟单模式开发,合约跟单系统平台

135深圳3055源中瑞8032

GitHub上超牛的Java进阶教程,汇总Java生态圈常用技术框架、开源中间件,系统架构、数据库、大公司架构案例、常用三方类库、项目管理、线上问题排查、个人成长、思考等知识

Java架构之路

Java 程序员 架构 面试 编程语言

谈谈敏捷开发概念和迭代开发方案

Philips

敏捷开发 快速开发

区块链钱包APP开发服务商,数字货币钱包开发价格

135深圳3055源中瑞8032

解决大中型浏览器(Chrome)插件开发痛点:自定义热更新方案——1.原理分析及构建部署实现

梁龙先森

Java chrome 前端 浏览器 技术方案

HTTP2协议及websocket协议总结

江龙

应用层软件开发教父教你如何重构,资深程序员必备专业技能

小Q

Java 学习 架构 面试 重构

阿里P8大牛精心整理,GitHub上超火的《Java工程师成神之路》从基础,到高级、底层、架构、进阶、扩展,囊括了Java体系内的所有知识点。

Java架构之路

Java 程序员 架构 面试 编程语言

【得物技术】数据分析 - 生活品类社区内容精选池模型

得物技术

数据分析 得物技术部 得物技术 社区内容 精选池模型

华为发布5GtoB核心网建设白皮书

华为云开发者社区

5G 边缘技术

“软件教父”花费20年,教你如何在应用层混迹的风生水起

小Q

Java 学习 架构 面试 应用

USDT承兑支付系统开发技术,搭建商户USDT支付系统

135深圳3055源中瑞8032

《高效程序员的45个习惯:敏捷开发修炼之道》.pdf

田维常

电子书

从技术到应用实践 揭秘京东区块链布局全景

京东科技开发者

区块链 区块链方案 供应链

RedMonk最新编程语言排名:JS占据统治地位,Ruby持续下滑,Dart上升名次最大-InfoQ