导读:本期的编程语言排行榜是按程序员对自己的选择很满意,那些创新技术先转到其他领域再说。
综合近十几年的数据,如今看来,学习 JavaScript、Python、Java 和 PHP 的开发者在选择编程语言时是正确的,目前看起来是相当安全。
首先,请先看国内的人才招聘网站:
看导航栏就知道编程语言的优先级,Java、PHP与JavaScript。
如果说招聘网站只是根据人力资源或用户喜好角度,那么根据开发者分析平台 RedMonk 的最新流行度排名来看,结果也是如此。
Redmook根据GitHub上的项目对编程语言排名
RedMonk 的排名自发布两年一次的排行榜以来,排名前四位的编程语言顺序或构成没有任何变化。并且前 20 名的排名也几乎没有变化,这些排名的规则是基于 GitHub 上的项目数量和开发者论坛 StackOverflow 上的讨论帖子。
RedMonk 排行榜是语言流行度的近似值,目标是在帮助开发人员发现语言的新兴趋势。根据 RedMonk 的说法,在过去的两年里前 20 名的名单几乎没有变化,而且在将来变化,看起来也不太可能。
每月发布编程语言指数的 Tiobe Software 也指出排名前四的语言——Python、Java、C 和 C++——一直强力巩固着它们的地位,几乎没有给新来者留下竞争的空间。
几年前,苹果的 Swift和微软的 JavaScript 超集 TypeScript 打破了语言排行榜原有排名,成为过去十年增长最快的语言。在系统编程语言中流行的 Rust 和 Go 逐渐成为排名前 20 的语言,与 Java 兼容的 Kotlin(Google将其视为 Android 应用程序开发的第一语言)和 Dart 也是如此,Dart 是Goole开发的一种语言,用于解决 JavaScript的扩展性,而微软正在通过 TypeScript 解决类似的技术挑战。
RedMonk 分析师 Stephen O'Grady 这样指出,这些崭露头角的语言现在都已经有大约十年的历史了。
Ballerina是新兴语言稀缺的“罕见例外”,这是一种只有五年历史的语言,面向熟悉 C 系列语言(尤其是 C、C++、Java、JavaScript、C# 和 TypeScript)的经验丰富的程序员,它在 RedMonk 的指数中排名第 87 位。
排名前 20 位的语言相对停滞不前不一定是坏事,因为这可能意味着开发人员对现有选择感到满意,但它也可能反映出该领域创新的暂时停顿。
“无论好坏,我们的行业都是一个善变的行业,致力于不断的创新,”O'Grady 写道。“但这确实表明,目前,行业创新集中在编程语言以外的领域,而且我们可能已经达到了相对的满意——如果它是暂时的——满足于开发人员可以使用的各种语言。”
TypeScript 在过去三次排名中排在第八位之后,这次上升了一位到了第七位,现在它与 C++ 并列。RedMonk 将 TypeScript 的流行归因于它与 JavaScript 的兼容性,但又具有额外的安全相关功能以及与流行框架(例如 AngularJS、React 和 Vue)的关联。
Go 语言本次也上升了一位,到第 15 名——它的上升非常显著。
Rust 本轮保持了第 19 位的位置,这是它连续四次参与前20排名。Rust 已成为使用 C 和 C++ 代码库(包括 Android、Linux 内核等)编写新代码的首选替代方案。
Kotlin 本次跃升一位,至第 17 位。Kotlin 得到了 Meta 的推动,Meta 一直在将其所有 Android 应用程序的代码库从 Java 转移到 Kotlin。但是 Meta 工程师抱怨将大型(百万行以上)代码库迁移到 Kotlin 的重大缺点,特别是构建时间比 Java 慢,而且还因为与更旧和更大的 Java 相比来说,缺乏一些有效的工具。
O'Grady 对Kotlin这样评价:“人们对这种语法友好的编程语言寄予厚望,它可以随时访问 Java 世界上最大的编程语言生态系统之一,但事实证明,要保持其速度与上升势头比预想要困难得多。“
RedMonk 2022 年二次排名的前 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
对开发者来说,Redmook 是比较实在靠谱的排行榜。你认为呢?
作者:场长
参考:https://redmonk.com/sogrady/2022/10/20/language-rankings-6-22/
本文为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。