共计 2299 个字符,预计需要花费 6 分钟才能阅读完成。
出名软件行业剖析公司 RedMonk 公布了 2020 年第三季度半年度编程语言排行 ,这是 RedMonk 往年公布的第二份榜单,上一次是往年 3 月公布的第一季度编程语言排行。
RedMonk 榜单的排名过程做了一些调整,尽管具体的收集形式曾经扭转,但根本过程依然是一样的。RedMonk 从 GitHub 和 Stack Overflow 提取语言排名,并将它们联合起来进行剖析。 这种排名办法要关联语言探讨和应用状况,来提取对潜在的将来采纳趋势的见解。
2020 第三季编程语言排行
前二十名排名如下:
1 JavaScript
2 Python
3 Java
4 PHP
5 C ++
5 C#
7 Ruby
7 CSS
9 TypeScript
10 C
11 Swift
11 Objective-C
13 R
14 Scala
15 Go
15 Shell
17 PowerShell
17 Perl
19 Kotlin
20 Rust
本季度的排名总体上变动较小。
这是否是绝对语言轨迹失常起伏的一部分,目前尚不分明, 但 RedMonk 曾经运行了上面探讨的一些初步数据,并将亲密关注趋势的倒退。
Python(0): 本季度排名中最引人注目的“赢家”是 Python,是第一个独占前两名的非 java 或 JavaScript 语言。
在过来的几年里,这门语言的多功能性被低估了,就像鼎盛时期的 Perl 一样,Python 是成千上万个小我的项目的粘合剂,也是有数集体脚本的根底,包含一些为这些排名检索数据的脚本。
Java (- 1) : 排名中个别名次之间的差异很小,任何一个季度的排名都只是一个快照,受到临时的稳定影响。然而值得注意的是,自 2012 年执行这些排名以来,这是咱们第一次将 Java 排在第一或第二以外。
即便其余报告过早或谬误地称其为死语或登记该语言,它在这些数量级排名中的强劲体现证实了咱们定性地察看到的后果,即因为 Java 可能发现和满足新的用例,它依然被宽泛应用。
然而,在开发者工夫和关注度方面,Java 素来没有像明天这样面临过如此强烈的竞争,只管它已成为企业的多年支柱,但它传统的劣势位置并没有失去保障。因而,在接下来的几个季度里关注 Java 将是一件十分乏味的事件,它将决定这种运行是一种临时的偏离,是一种新的现状,还是一种长期风行水平降落的晚期指标。
Rust (+ 1) : 说到与 Java 竞争开发人员工夫和注意力的语言,Rust 的排名正在稳步晋升。五年前的这个季度,Rust 在这些语言中排名第 48 位,落后于 Haskell,Matlab,Clojure 和 Groovy 将近三十位。
截止到本季度,它曾经超过了它们,并且仿佛还有更多的增长后劲。它对平安应用程序的构建的关注尤其重要,并且越来越重要,并且有助于 Rust 在越来越多的出名我的项目中的应用。
Kotlin(0),Dart(0),Julia(0): 这三种语言在本季度没有名次上的变动。如果跟以往相比的话,Kotlin 在五年前排名 68,比 Rust 还落后 20 位,但此刻比 Rust 高一名。
然而,撇开这种历史性的增长不谈,对于咱们最近在这些排行榜上名落孙山的许多公司来说,这种增长并没有带来什么变动。这三种语言在最近的倒退轨迹中都停滞不前了。
咱们跟踪的 Stack Overflow 标签与咱们上次运行时相比增长率为负 (- 16%),然而考察语言中 GitHub 的申请增长率为 11%。从历史上看,这并不是一种反常的模式,因而仿佛不会对代码奉献和探讨产生过大的影响。
TypeScript (0) : 与 Python 或这里提到的其余几种语言一样,在 TypeScript 的运行方面没有什么须要报告的。
然而,思考到它在第 9 位的地位,这自身就很值得注意。TypeScript 的问题是该语言的潜在下限,它会排在前 10 名的后半局部吗?还是能够推动前五名?咱们将刮目相待。
排名流程
剖析中 GitHub 局部应用的数据源是 GitHub Archive。通过提取申请的形式来查询语言,其形式相似于 GitHub 用于组装 octverse 状态的形式。查问被设计成与前一个过程尽可能类似。
- 语言是基于根本存储库语言的。尽管上面持续列出了一些注意事项,但它的确具备与先前的办法相结合的益处。
- 排除了分叉回购。
- 应用聚合历史来确定排名(只管基于表构造的变动,这不再可能通过单个查问来实现)。
- 对于 Stack Overflow,只需应用其有用的数据浏览器工具收集所需的指标。
其余注意事项
- 要蕴含在这个剖析中,必须在 GitHub 和 Stack Overflow 中都能够察看到一种语言。
- 这里没有说这些排名代表了更宽泛的广泛用法。它们只不过是对两个人群之间互相关系的测验,咱们置信这两个人群能够预测将来的应用状况,因而它们具备价值。
- 有许多潜在的社区能够被考察来进行这种剖析。和 Stack Overflow 在这里首先应用是因为它们的大小,其次是因为它们公开了剖析所需的数据。然而,咱们激励无关各方应用其余起源进行本人的剖析。
- 所有的数字排名都应该有所保留。咱们在这里严格依照数字排名是为了引起趣味。一般来说,数字排名远不如语言的档次或分组相干。在许多状况下,列表中的一个点与下一个点是无奈辨别的。然而,在情节上语言档次的拆散,通常代表了绝对受欢迎水平的微小差别。
- 此外,排名越降落,到年可用于语言排名的数据就越少。除了语言的顶层,依据快照的不同,须要评估的数据量很小,并且语言的理论地位随着列表的进一步深刻而变得不那么牢靠。
- 那些在 Stack Overflow 之外领有社区的语言,如 Mathematica,在这个轴上的代表性有余。掂量 100 个不同社区站点的过程是不可能的,一方面是因为许多站点没有可用的公共指标,另一方面是因为不同社区站点之间的互相掂量在统计学上是不正确的。