「编程语言之争」一直是计算机界不会休止的讨论话题。Python 作为编程语言中的佼佼者,一直是最受喜爱的编程语言之一。但最近程序员问答网站 Stack Overflow 2021 年度开发者调查(Developer Survey)显示:当前最受开发者喜爱的编程语言是 Rust 语言,而 Python 的受喜爱程度仅位居第六。
在这项调查研究中,来自 181 个国家和地区的 80000 多名开发人员对编程语言进行投票。大约 86.69% 的开发人员选择 Rust 作为他们「最喜爱的语言」,Rust 在 Stack Overflow 的年度开发人员调查中一直保持着这种趋势。
值得注意的是,「最受喜爱」不同于传统意义上的「最受欢迎」,它是 Stack Overflow 提出的一种度量指标。Stack Overflow 询问了开发人员他们在过去一年使用什么语言,明年他们想用什么语言。为了了解相关的负面因素,Stack Overflow 还询问了开发人员在过去一年使用但明年不想使用的编程语言。
调查结果显示,「最受喜爱」的前 10 种语言按降序排列依次是:Rust、Clojure、TypeScript、Elixir、Julia、Python、Dart、Swift、Node.js、Go。
Rust 虽然是最受开发者喜爱的语言,但只有 5044 名开发人员在回答这些问题时提到它。受访者回答提及次数在此可以代表传统意义上的「受欢迎程度」,如下图所示,JavaScript 排名第一,其次是与 JavaScript 高度耦合的 HTML/CSS,Python 排名第三,而 Rust 未出现在前十名中。
这在一定程度上说明 Rust 语言虽然颇受好评,但使用 Rust 的群体仍是少数。Rust 在系统编程领域很受欢迎,并且近年来被认为将接替 C 语言用于 Linux 内核开发,原因之一是 Rust 可以帮助消除与内存相关的安全漏洞。
Stack Overflow 的报告还显示,虽然 C 是一种广泛使用的语言,但不愿使用 C 的开发人员占 66%,而喜欢它的仅有 39.56%。也许是因为语言规则相对复杂,与 C 类似,C++、Delphi、Java、R、PowerShell、PHP、Perl、Assembly、Groovy、Objective-C、Matlab、VBA、COBOL 等语言,开发者中也是「害怕」使用的人居多。 Stack Overflow 的数据表明,开发人员未来可能会尽量避免使用这些语言。
这或许正是 JavaScript 受欢迎的重要原因,Javascript 屏蔽了很多语言内复杂的东西,例如指针和内存管理等。它用最少的技术栈实现了最多的功能,因此稳居受欢迎排行榜第一位。
类似地,知名软件行业分析公司 RedMonk 本月初发布了 2021 年 Q3 季度编程语言排行榜,Javascript 排名第一,Rust 排在第 19 位。
与 2021 年 Q1 季度相比,前 20 名的排名对比变化如下:
如上表所示,Rust 的排名在第 19 位没有变化,这样的排名停滞是具有启发性的。多年来,Rust 等新兴语言的出现被认为会动摇 Java 的企业首选语言地位。但实际上 Java 并没有出现走入日落的迹象,而是通过结合自身的适应性和企业的惯性,保留了企业应用程序市场的很大份额。随着谷歌在与甲骨文的 Java 世纪版权案中胜诉,Rust 想要挑战 Java 变得更难了。
相比之下,尽管受喜爱程度稍有逊色,但 Python 仍是使用范围较广的编程语言,在 RedMonk 的排名中 Python 稳居第二。RedMonk 曾指出:「Python 是成千上万个小型项目的粘合剂,也是无数脚本的基础。」无论是在数据科学兴起的前期,还是 GPT-3 称霸的今天,Python 都在不断扩展中持续立足。
其他排名:AWS 云平台、VS Code 编辑器最受欢迎
此外,Stack Overflow 2021 年度开发者调查还针对数据库、云平台、网络框架、开发工具、集成开发环境等的受欢迎程度进行了排名。
排名结果显示,最受欢迎的十大数据库(database)依次是 MySQL、PostgreSQL、SQLite、MongoDB、Microsoft SQL Server、Redis、MariaDB、Firebase、Elasticsearch 和 Oracle。
在云平台(cloud platform)方面,调查报告表明:亚马逊 AWS 云服务仍然是最受欢迎的云平台,其次是 Google 云平台和微软 Azure。
在最受欢迎的网络框架(web framework)排名中,React.js、jQuery、Express、Angular 和 Vue.js 位列前五名。
在其他框架和库排名中,.NET Framework 最受欢迎,其余依次为 NumPy、.NET Core / .NET 5、Pandas 和 TensorFlow。
在最受欢迎的其他工具排名中,分布式版本控制软件 Git、容器平台 Docker、包管理工具 Yarn、容器管理系统 Kubernetes 和 Unity 3D 开发工具位列前五名。
在集成开发环境(IDE)排名中,VS Code 毫无疑问位列榜首,其余依次为 Visual Studio、Notepad++、IntelliJ、Vim、Android Studio、Sublime Text、PyCharm、Eclipse 和 Atom。
最后,在开发者薪酬排名中,工程经理、高级主管、网站可靠性工程师、开发运维专家和数据工程师的薪酬位居前列。
完整报告请戳:https://insights.stackoverflow.com/survey/2021
参考链接:
- https://redmonk.com/rstephens/2021/08/05/top-20-june-2021/
- https://www.zdnet.com/article/developers-reveal-their-most-loved-programming-language-and-the-ones-they-dread-using/
【本文是51CTO专栏机构“机器之心”的原创译文,微信公众号“机器之心( id: almosthuman2014)”】