RedMonk 编程语言排行榜通过追踪编程语言在 GitHub 和 Stack Overflow 上的代码使用情况与讨论数量,统计分析后进行排序,其旨在深入了解潜在的语言采用趋势。该榜单一年发布两次,这是今年第二份榜单,上一次榜单发布是在 3 月份,即第一季度编程语言排行。
目前 RedMonk 对编程语言的排序算法基本思路没有变化,但是具体的数据收集方式改变了。现在使用 GitHub Archive 作为数据源对 GitHub 数据进行分析;而 Stack Overflow 部分则直接使用其提供的实用工具 data explorer,具体排序算法见官方介绍:https://redmonk.com/sogrady/2019/07/18/language-rankings-6-19/
下图是 Q3 的编程语言排行情况:
排名前 20 的编程语言为:
与 Q1 相比,此次的排名变化不大,Java 由第三名上升至与 Python 并列第二名,Dart 首次进入了前 20。下图是 2012 年 9 月以来前 20 编程语言与现在的对比。从这里也看到了 TypeScript、Kotlin、Rust 等新兴编程语言的崛起。
RedMonk 对此次排行榜中个别编程语言的排名变化进行了分析和点评:
1. Java(上升 1 位)
在此前几个季度持续下降到第 3 名之后,观察者质疑 Java 是否会持续下降。不过在本季度中,Java 反而上升了 1 位,重新与 Python 并列第二。
如果不是因为 Java 的许多竞争者,应该说还有少数奇怪的行业分析师——经常为这个企业基础设施的中坚力量撰写墓志铭,那么这个结果其实不那么令人惊讶。这个曾经为运行有线电视机顶盒而创造的语言仍然是主力军,而且更重要的是,它一直能够新领域开辟新的道路。这些年来,Java 在这些排名中的表现继续给人留下深刻印象,而且它在适应快速变化的环境方面表现出了非凡的能力,是一门难以与之抗衡的语言。
2. TypeScript(保持不变)
在 RedMonk 的排名中连续 2 个季度排在第 9 位之后 ,TypeScript 终于在 Q1 进入了第 8 名,并且超越了 Ruby,Q3 继续保持这个位置,这个结果非常令人印象深刻。
但是现在 TypeScript 面临的问题是这是否已经到了它的极限?它是否有能力继续上升并最终超越 C#、C++ 甚至 PHP 等长期排名靠前的语言,或者说 TypeScript 是否基本上处于或接近其潜力的极限?
不能十分确切地说,但有趣的是,一年前的这个时候,TypeScript 在排名所依据的综合得分中落后于第 5 名编程语言 6 分,但在这次的排名中,差距只有 2 分。当然,过去的表现并不总是能预测未来的表现,但它至少表明,TypeScript 可能还有上升的空间。
3. Go/Kotlin/Rust (保持不变)
与 TypeScript 一样,Kotlin 和 Rust 在本次排名迭代中都没有变化。一方面,这一事实可能令各自语言的拥护者失望,但另一方面,它可能反映了系统语言的一个新的事实。Kotlin 和 Rust 的相对表现,以及 Go 的长期停滞是有启发性的。
多年来 ,Java 一直面临着名副其实的挑战者,以争夺企业应用首选语言的称号。但是,如上所述 ,Java 并没有表现出日落西山的迹象。事实上,与 Go、Kotlin 和 Rust 不同,Java 经历排在第三位的两个季度之后,它的排名在这一轮中成功增长。
因此,通过结合自身的适应性和企业的惯性 ,Java 占领了企业应用市场的大部分份额,这似乎是有道理的。这意味着它的挑战者——像 Go、Rust 这样的语言,以及 Kotlin(与 Java 共享 JVM 平台),与 Java 的竞争小于彼此之间的竞争。
如果这个假设是正确的,我们应该预测 Java 会保持其增长势头,而 Go、Kotlin 和 Rust 的未来收益——如果有的话,将更难获得,因为它们在较小的领域中争夺份额。
4. Dart (上升 1 位)
上个季度我们讨论了 Dart 排名在长期停滞后的显著上升,几乎可以肯定其排名上升归因于流行的 Flutter 框架。同时,我们还提出了一个问题,Dart 的排名是否还会继续上升,是否有足够的动力进入前 20 名。在过去 1 个季度中,我们有了答案,因为 Dart 首次进入了前 20 名——在此过程中取代了 Perl。
现在的问题是,Dart 能否保持前 20 名的排名,如果是,它能否在排行榜上继续攀升。当然,这将是一个挑战,因为撇开前面提到的竞争挑战不谈 ,Kotlin 和 Rust—— 在 Dart 前面的两种语言,本身就非常受欢迎。但这就是让它在接下来的几个季度中的表现变得有趣的原因,因为它将为我们提供一些想法,在这些排名中,后端与前端技术的当前趋势是什么。
5. Julia(下降 4 位)
最后,作为一门我们经常被问到的语言,值得注意的是,Julia 实际上已经下降了好几位。一年前的这个时候,Julia 还在 20 名之外,排名第 24。但在这一季度,它回落到了第 28 名。重要的是要注意,与往常一样,排名越低,语言之间的绝对差异变得越小,但对于某一语言来说,像这样的负面表现通常并不令人感到乐观。
就 Julia 而言,部分困难在于其目标区域;由于专注于数据分析领域 ,Julia 经常发现自己在与 Python 和 R 竞争开发者的注意力,这两种语言无论有什么缺陷,都已被证明既受欢迎又可持续。这就导致了一个鸡和蛋的问题,使得其周围的生态被认为缺乏活力。尽管如此,值得注意的是,Julia Computing,一家由 Julia 项目创始人创办的商业公司,刚刚获得了一轮 2400 万美元的融资。我们将在接下来的几个季度里观察注入这个生态的资金是否有任何可衡量的影响。