写点什么

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

  • 2021-03-05
  • 本文字数:2600 字

    阅读完需:约 9 分钟

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-03-05 15:328200
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 369.8 次阅读, 收获喜欢 1803 次。

关注

评论

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

如何实现应用内支付零掉单?

HarmonyOS SDK

harmoyos

程序员的 “代码平权” 时代:飞算 JavaAI 如何打破技术壁垒?

飞算JavaAI开发助手

数据分析与AI丨预测电池寿命只需要2小时!Altair RapidMiner 实现论文级AI 模型流程化

Altair RapidMiner

人工智能 数据分析 汽车 电池 RapidMiner

Wasm Client SDK线上优化

Geek_1ef48b

程序员加班真相:60% 时间浪费在重复代码?AI 重构的破局之道

飞算JavaAI开发助手

SvelteKit 最新中文文档教程(22)—— 最佳实践之无障碍与 SEO

冴羽

前端开发 前端框架 React Svelte SvelteKit

Flutter Demo 的快速编译与运行

Geek_1ef48b

YashanDB知识库|执行 shutdown immediate 无响应还导致 coredump?背后原因找到了!

数据库砖家

空间应用中心AI4S空间科学实验研究成果发表于《中国科学院院刊》

ModelWhale

人工智能 人工智能大数据 中科院

Wasm Client SDK 架构介绍

Geek_1ef48b

使用YMP工具实现Oracle到YashanDB迁移全过程解析

数据库砖家

数据库

vllm+vllm-ascend本地部署QwQ-32B

zjun

财务领导者如何推动EPM系统现代化的快速增长

智达方通

全面预算管理 财务管理

开启报名!火山引擎 x PICO-全国大学生物联网设计竞赛赛题发布

火山引擎边缘云

物联网 火山引擎 端智能 具身智能

2025 年 Java 开发者薪资报告:AI 工具如何助你 “升职加薪”?

飞算JavaAI开发助手

为什么 .NET8线程池 容易引发线程饥饿

量贩潮汐·WholesaleTide

Java .net

Arthas stack (输出当前方法被调用的调用路径)

刘大猫

Java 监控 Arthas stack 调用路径

面试官:SpringBoot 工程启动以后,希望将数据库中已有的固定内容提前加载到 Redis 缓存中,应该如何处理

电子尖叫食人鱼

数据库

为什么YashanDB共享集群的高可用能力被频繁点赞?核心机制到底强在哪?

数据库砖家

数据库

深入研究:亚马逊商品列表API详解

tbapi

亚马逊API 亚马逊商品详情API 亚马逊商品列表接口 亚马逊数据采集

外贸企业网络加速方案选择指南

Ogcloud

网络加速 企业组网 海外网络加速 企业网络加速 网络加速服务

云图说|HSS新版‘反黑三件套’,全方位守护主机与容器安全!

华为云开发者联盟

华为云 主机安全 HSS

无界闪联 鸿启未来|“源师兄”智慧大脑L1焕新升级发布

坚果

润开鸿

YashanDB|修改yac参数后执行shutdown immediate数据库卡住的原因和解决办法

数据库砖家

数据库

零基础学编程,为何选 iVX?

代码制造者

低代码 无代码

Electron Demo 的快速编译与启动

Geek_1ef48b

面试5家收到4家offer,Java面试成功率高达80%!

程序员高级码农

Java java面试 Java面试题 Java面试题库

覆盖 6 大场景的在线工具网!这个宝藏网站让学习、办公、带娃全变简单

极客天地

YashanDB知识库|使用EXP导出全库导致服务器卡死?可能是这个原因!

数据库砖家

数据库·

1天成为Java高手?飞算 Java AI 解锁学习捷径

飞算JavaAI开发助手

开发者必看!2025 年最值得关注的 AI 代码工具 Top5

飞算JavaAI开发助手

RedMonk最新编程语言排名:JS占据统治地位,Ruby持续下滑,Dart上升名次最大_编程语言_王强_InfoQ精选文章