RedMonk 排行:TypeScript 与 C++ 并列,Kotlin 或将超越 Go?
知名软件行业分析公司 RedMonk 发布了 2022 年 6 月(第三季度)编程语言排行榜。
RedMonk 编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言采用趋势。该榜单一年发布两次,这是今年的第二份榜单。上一次榜单发布是在 3 月份,即第一季度编程语言排行。
目前 RedMonk 对编程语言的排序算法基本思路没有变化,但是具体的数据收集方式改变了。现在使用 GitHub Archive 作为数据源对 GitHub 数据进行分析;而 Stack Overflow 部分则直接使用其提供的实用工具 data explorer,具体排序算法见官方介绍。
下图是 Q3 的编程语言排行情况:
排名前 20 的编程语言为:
1 JavaScript
2 Python
3 Java
4 PHP
5 C#
6 CSS
7 C++
7 TypeScript
9 Ruby
10 C
11 Swift
12 R
12 Objective-C
14 Shell
15 Scala
15 Go
17 PowerShell
17 Kotlin
19 Rust
19 Dart
恰如往常,榜单中的排名变动越来越少。RedMonk 方面称,正如之前所猜测的那样,似乎有越来越多的证据表明,有关编程语言使用的暂时平衡的假设是正确的。榜单中的“新兴语言”也都有了一定的年纪,譬如 Go 发布距今已有 13 年的历史;Rust,12 年;Dart 和 Kotlin 11 年;TypeScript,10 年;甚至相对年轻的 Swift 也已经面世八年了。
期望一种新语言在这些排名中表现出色是不合理的。它们本质上是递增的,要从长远使用和讨论方面看才更有利。但有趣的是,我们 RedMonk 并没有真正遇到许多新兴的编程语言,只有少数例外,比如 Ballerina——5 岁,排名第 87 位。
当然,这并不是说编程语言的进化已经完成或将完成。不管是好是坏,我们的行业都是一个致力于不断改造的反复无常的行业。但它确实表明,目前,行业创新集中在编程语言以外的领域,我们可能已经对可供开发人员使用的各种语言达成了相对的——可能是暂时的——满足感。
RedMonk 对此次排行榜中个别编程语言的排名变化进行了分析和点评:
- TypeScript (1):长期以来,TypeScript 一直是崛起最迅速的语言之一,也是为什么与流行的现有语言的互操作性可以极大地促进使用和采用的典型例子之一。但近期以来,TypeScript 在该榜单中的排名却总是停滞不前。在过去的三轮调查中,TypeScript 一直保持第八的位置;本季度则与 C++ 并列第七。RedMonk 曾指出过一些与编程语言流行度相关的一般因素,包括:前面提到的与流行的现有语言的互操作性;任何增加的安全相关功能的可用性;以及与流行框架或项目的关联。TypeScript 有幸兼备了所有的这些,“目前几乎没有迹象表明该语言除了向上发展外还会有其他任何方向,唯一真正的问题是在什么时间范围内”。
- Go (1):与 TypeScript 不同,Go 的轨迹并不清晰。经过稳步且迅速地增长阶段后,该语言似乎也开始停滞不前,从未超过第 14 位,并且在最近三场调查中跌至了第 16 位。不过在本季度,Go 的排名上升了一位,回到第 15。就其本身而言,这一提升意义有限;因为排名越低,相互之间的差异也越小。但在此之前,Go 语言已经一年多没有出现过变动。这也提出了一个问题,即它是否还有进一步上升的空间,或者它是否会继续徘徊在技术上备受推崇但并不特别受关注的位置上。
- Kotlin (1) / Rust (0):和 Go 一样,Kotlin 过去的三场调查里都处于相同的位置。它和 Rust 在最近几个季度一直保持着同步发展,但当 Rust 连续第四次排在第 19 位时,Kotlin 实现了从 18 跃升到 17 位。人们对这种语法友好的语言寄予厚望,因为它可以随时进入世界上最大的编程语言生态系统之一的 Java,但维持其速度和上升势头被证明比预期的更难。但事实证明,要维持其速度和上升势头比以往预期的要困难得多。考虑到 Kotlin 现在紧随 Go 之后。在接下来的一两个季度可以观察这两种语言的轨迹,看看 Kotlin 是否会将距离拉得更近,或者一举超越。
- Scala (-1):自 2020 年以来,Scala 在榜单中首次从第 14 位下降到 15。虽然如上所述,这肯定不是命运的重大转变,但它确实会让人疑惑语言的未来的长期发展。Scala 多年来一直被用作高度可信的企业后端语言,最近在这方面也没有什么变化。然而,一个有趣的问题是,将 Akka(一种流行的 Scala 框架)许可的变更是否会以及如何影响 Scala 的采用。Scala 无疑比 Akka 更宽泛,但如果流行的框架可以加速采用它们所基于的语言,那么反之亦然吗?重新许可的长期影响尚不清楚,但是有一些已知的公共实例,例如 Flink 就表示不会再使用带有新许可证的 Akka 版本。当然不也能说 Scala 会像 Akka 一样,但是在增长停滞不前且竞争激烈的语言环境中,不可能排除该决定对语言的不利影响。
- Objective C (1):自 2018 年年中达到第 9 位的峰值以来,Objective C 一直处于大幅下降的轨道上。在过去的七次调查中,它只上升了一次;但 RedMonk 认为这一结果并不令人意外,很可能只是其逐步下滑道路上的一个暂时的小插曲。这种古老的语言在《捉鬼敢死队》(原版)、《夺宝奇兵》和《末日神庙》上映的同一年首次发布,其在这些排名中的受欢迎程度主要归功于它作为 iOS 生态系统最初认可的首选语言的地位,这是世界上最大和最有商业利润的消费市场之一。但当 Apple 在 2014 年宣布现代 Swift 为其继任者时,这一切似乎都已成定局。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
VHS —— 命令行视频录制工具
VHS 是一个 Go 语言实现的命令行视频录制工具。 将终端 GIF 编写为集成测试和演示 CLI 工具的代码。 上面的例子是用 VHS 生成的(查看源代码)。 VHS 内置了 SSH 服务器。当你自己托管 VHS 时,可以像在本地安装一样访问它。VHS 将可以访问主机上的命令和应用程序,因此无需将它们安装在你的机器上。 要启动服务器运行: vhs serve 有几种基本类型的 VHS 命令: Output <path>: 指定文件输出 Require <program>: 指定tape文件所需的程序 Set <Setting> Value:设置录制设置 Type "<characters>": 模拟typing LeftRightUpDown: 方向键 BackspaceEnterTabSpace: 特殊键 Ctrl+<char>:按控制+键 Sleep <time>: 等待一定的时间 Hide: 从输出中隐藏命令 Show: 停止从输出中隐藏命令
- 下一篇
Linux 内核收获一批新的 Rust 基础设施优化补丁
今年 10 月,初始的 Rust 基础设施已被合并到 Linux 6.1 。意味着未来 Rust 编程语言将用于内核驱动程序和其他子系统的代码。但 10 月的 Rust for Linux 只提供了底层的基础设施和一些非常基础的集成,缺少很多规范和子系统抽象。 近日,领导 Rust for Linux 工作的 Miguel Ojeda 发布了一组优化补丁( 28 个),为内核提供了更多的 Rust 核心支持代码。 Ojeda 在补丁系列邮件中解释道: 这个补丁系列是对上游 Rust 支持的第一批更改,所有引入的设施都是“Rust 核心”的一部分,不会与 C 端交互(没有使用新的 C 类型;只有 strlen、memchr、额外的错误代码和一些更多的 printk 格式字符串)。 该系列补丁的主要内容: 让str.rs 和 print.rs 与下游同步 添加剩余的 proc 宏 让error.rs更完整,尽管稍后会出现更多的 pub(crate) 功能(以避免在系列之间留下死代码)。 此外,此系列补丁使用了一些临时的 #[allow(dead_code)] 属性,以便在组织补丁时有更多的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16