编程语言相关概览
JetBrains 的调查结果显示,Java 依然是最流行的主要编程语言。因为参与调查的开发者中有 50% 表示,在过去 12 个月里使用的编程语言是 Java,有 44% 表示只使用或首先使用 Java。
JavaScript 则是最常用的整体编程语言,这个结果也并不意外,毕竟“能用 JavaScript 实现的,最终都会用 JavaScript 实现”,所以 JavaScript 被广泛使用也不足为奇。
Go 语言在本次调查中的表现也十分值得关注,它被称为“最有前途的编程语言”。因为 Go 在 2017 年的份额只有 8%,现在已达到 18%。此外,多达 (13%) 的开发人员愿意采用或迁移到 Go 语言。
PHP 虽然是世界上最好的编程语言,但调查显示,使用 PHP 的开发人员只有 29%,且计划采用或迁移到 PHP 的开发人员也仅有 2%。
至于 Python,这门经常在各大编程语言排行榜前列露脸的语言,它是学习最多的编程语言,27% 的受访对象在过去 12 个月里开始或仍在持续学习 Python。
更多关于编程语言的调查请查看下图:
对于这张图,JetBrains 如此解读:最受欢迎的编程语言是 Java 和 Python。其后是 C# 和 JavaScript,两者不相仲伯。但如果结果按示例大小标准化,那么 C# 是最受欢迎的语言。
JetBrains 问了三个关于开发者使用的语言的问题。首先,他们问了去年的使用情况,其次问了主要语言(最多三种),最后,他们要求对其排名。最后的结果统计如上图所示,JavaScript、Java 和 Python 是开发者的主力编程语言。
Java
可以看到,虽然 Java 10 和 11 越发流行,但 Java 8 仍是使用最多的版本。
Spring Boot 已成为最流行的 Java Web 框架,自去年以来增加 14%。
使用 IDEA 和 Eclipse 的开发者总计超过了 80%,其中使用 IDEA 的比例高达 65%。
Go
虽然 Go 是一门年轻的语言,但其用户相对成熟。调查结果显示有过半用户在工作中使用它。多数人使用单个全局 GOPATH。在同时编辑多个项目的人中,甚至有 2/3 的人仍不倾向于每个项目使用一个 GOPATH。
虽然 Go modules 的推出时间不久,但 40% 的 Go 开发人员已经在使用它,还有 17% 的人希望迁移过来。
排名第一的是 Gin,其使用量较去年增长 9%,已达 30%。其次分别是 Echo 和 Beego。
PHP
PHP 7 已成为主流,大量开发人员已从 PHP 5.x 版迁移到更新的 7.x 版。一年内,PHP 5 所占份额已从 29% 暴跌至仅 14%。
框架使用方面,WordPress 的份额从 2018 年的 32% 降至 2019 年的 26%,不过 Laravel 巩固了其主导地位,有 50% 的 PHP 开发者使用 Laravel 框架。
Python
由于 Python 2 即将退役,使用 Python 3 的开发者大约为 90%,Python 2 的使用量正在迅速减少。而去年仍有 1/4 的人使用 Python 2。
Web 开发和数据科学家仍是 Python 开发的两大主力。因为据称 Python 是数据科学的最佳工具之一,所以涉及数据分析和机器学习的 Python 开发人员数量如此众多毫不令人吃惊。另外,我们看到将 Python 用作开发爬虫的比例也比较高,达到 37%。
数据库
对大多数软件开发者而言,其工作以这样或那样的方式涉及数据库,但只有极少数主要关注数据库。例如,56% 的受访者说自己使用 SQL,但只有 3% 专门以 SQL 作为主要语言。
语言和数据库的配合使用上存在一定偏好。例如,20% 的 Scala 开发人员使用 Apache Cassandra,而 70% 的 C# 开发人员使用 MS SQL Server。
MongoDB 在 TypeScript 开发人员 (45%) 和 Go 开发人员 (41%) 中非常流行。9/10 的 PHP 开发人员使用 MySQL,而一半使用 MariaDB。
最 ‘SQL 的’数据库是 Oracle、MS SQL Server 和 ClickHouse,因为它们约 1/3 的用户以 SQL 作为其主要语言。
连续两年,我们看到使用 MySQL Workbench(从 30% 降至 24%)、phpMyAdmin(27% 降至 21%),以及命令行(27% 降至 24%)来管理数据库的受欢迎程度下降。
一些奇怪的调查
超过一半的受访者表示有梦到写代码的经历。事实上,工作中编程越多(作为主要活动)的人就越有可能在梦中编程。
个体户、学生和受训人员在周末编程的概率超过其他人。
专门从事机器学习工作的人比将其作为爱好的人更加怀疑人工智能。前者有 27% 认为 AI 绝不可能取代开发人员,而后者仅 21% 的人这样认为。