
互联网的下半场,科技公司为面对更加严峻的竞争环境,越来越重视开源节流。而对于身处其中且撑起 IT 半边天的技术人,如今如何了?从技术角度来看,其又该作何改变顺应潮流?
接下来,我们将从 JetBrains 最新发布的《2019 开发人员生态系统现状》报告中一窥究竟。
JetBrains 通过调查全球 7000 名开发者,解析出开发者们在日常软件开发中最常使用的语言、框架,从而探索各种编程技术的最新趋势,希望可以帮助更多的开发者获取适合自己的技能。
01
过去一年,哪些编程语言被使用?
工欲善其事,必先利其器。作为程序员们的看家利器之编程语言,倘若开发者们对其掌握得越深那么对自己的职业发展越有益。但是由于每一年不同行业的技术发展各有偏重,导致数百种编程语言的流行度也会受到影响。
那么在过去一年中,开发者主要使用的编程语言有哪些?
对此,JetBrains 根据最新的数据报告结果得出,最受欢迎的编程语言是 Java 和 Python。其后是 C# 和 JavaScript,两者不相仲伯。但如果结果按示例大小标准化,那么 C# 是最受欢迎的语言。详情如下所示:
02
首选的编程语言有哪些?
在使用的编程语言中,并不意外,JavaScript 当选最常用的语言。其次为 Java、Python。
除此之外,JetBrains 还发现,似乎有一些“辅助”语言 即主要用作其他语言,包括:HTML、SQL 和 Shell 脚本语言。很多软件开发人员练习过这些辅助语言,但很少有人将它们作为主要语言。例如:56% 的人练习过 SQL,但只有 19% 的人称它为主要语言,仅 1.5% 的人将它作为第一语言。
从另一方面而言,Java 是独占鳌头的语言。其用户中有 44% 只使用或首先使用 Java。其后是 JavaScript,份额“仅有” 17%。
接下来,我们将详细解析。
03
最常用的整体编程语言——JavaScript
从上面的结果中,除了有 69% 的使用者外,还有 5% 的开发者计划采用/迁移到 JavaScript 语言。
其实一直以来,JavaScript 横扫了很多编程语言榜单,而它之所以如此流行,主要是因为在 Web 前端、客户端乃至物联网等项目开发中都避不开 JavaScript 的使用,且凭借简单易学、丰富的扩展功能等特性,JavaScript 也吸引了不少开发者的关注。
在 JavaScript 语言中,JetBrains 还针对常用的框架做了调查。根据报告显示,React 是业界流传的前端主流三大框架 React、Vue.js、Angular 中使用率最高的,占比高达 58%。同时,JetBrains 也表示,Vue.js 的流行度正逐年增长,自去年以来,份额已经占到 11%,几乎是 2017 年的一倍。在本次受访者中,也有 41% 的开发者表示主要使用 Vue.js 框架。
对于编辑器的选择,使用 JavaScript 的开发者中有 51% 的受访者称常用的 IDE 为 VS Code。
此外,还有 44% 的 JavaScript 开发人员经常使用 TypeScript。2019 年开发人员总计 1/4 在用它,而去年为 17%。在前端开发中,程序员们大多喜欢使用 CSS 为样式表语言。
04
最流行的编程语言——Java
如今已有 24 岁的 Java,早已不再年轻,但依然是最流行的编程语言。
不过,自从 Oracle 将 Java 的更新周期改为一年两次之后,很多开发者“苦不堪言”。这不 Java 12 刚发布了三个月,Java 13 就已进入了特性冻结阶段。但是根据报告调查结果显示,无论 Java 怎么更新,Java 8 依然是开发者最常用的版本,占比高达 83%。另一个长期版本 Java 11 的使用率仅占 22%。
另外,Java EE 8 版本也是开发者最常使用的,占比 39%。其次,有 14% 的受访者称经常使用 Java EE 7。
在 Java 开发者中,常用的应用程序服务器为 Apache Tomcat。
对于不用应用服务器的程序员而言,有 61% 的受访者表示会选用 Spring Boot 框架。与此同时,Spring Boot 也是最流行的 Java Web 框架,相较去年,其使用率增长了 14%。
根据 JetBrains 官方统计,有 93% 的 Java 开发人员使用 JUnit 进行单元测试,而 51% 的人使用 Mockito。
此外,与 JavaScript 开发者有所不同,Java 开发者更习惯使用 IntelliJ IDEA IDE。另外,使用 Eclipse 或基于 Ecplise 的开发者占比 17%。
05
最有前途的编程语言——Go
为软件开发而生的 Go 语言,可以在不损失应用程序性能的情况下降低代码的复杂性。而在一众编程语言中,Go 成为最有前途的语言。因为在 2017 年时,Go 语言的份额只有 8%,现如今在 Google 的不断扶持以及更多项目的应用下,Go 已经达到了 18% 的份额。此外,有 13% 的受访者还表示愿意采用或迁移到 Go 语言。
对于 Go 语言的使用,JetBrains 表示,多数人使用单个全局 GOPATH。在同时编辑多个项目的人中,甚至有 2/3 的人仍不倾向于每个项目使用一个 GOPATH。
据报告结果显示,才出现不久的 Go 模块,如今已经有 40% 的 Go 开发者已经在使用它,还有 17% 的人希望迁移过来。
此外,Gin 是 Go 程序员常用的 Web 框架。
06
学习最多的语言——Python
要论过去一年间最火的领域是哪个?
想必不少业界人士都有所了解,那就是人工智能领域。
要问最火的编程语言是哪种?
那么非 Python 莫属了。
在近几个月的 TIOBE 编程语言排行榜中,Python 更是力压 C++,占据最受欢迎排行榜的 Top 3。而在这次的调查中,Python 成为开发者最想要掌握的技能之一。且有 27% 的受访对象表示在过去 12 个月中开始或仍在持续学习 Python。对此,或许不少开发者发问,使用 Python 到底可以做什么?
据报告显示,49% 的开发者使用 Python 做数据分析,其次,46% 的受访者将其用于 Web 开发,还有 42% 的人用于机器学习方面。
而除了 Python 之外,58% 的受访者称还会使用 Numpy 数据科技框架。
相比 Java,Python 版本的碎片化显然没有那么严重。对于主流的 Python 2 和 Python 3 版本,越来越多的开发者开始向更新的 Python 3 版本迁移:去年还有 1/4 的人使用 Python 2,而今年有 9/10 的开发者宣布将使用 Python 3。探究其缘由,主要是因为 Python 2 和 3 版本之间存在诸多的不兼容性。
07
开发者常用的操作系统
因微软战略的改变,Windows 已从软件之列成为用户的一种服务。不过,大多数开发者的开发环境还是建立于 Windows 操作系统之上,其次 49% 的用户使用 macOS,48% 的受访者使用 Unix 或 Linux。整体而言,这三种操作系统的使用率相差并不大。
在移动领域,还是以 Android 系统为主。
08
工具
对于工具的选择,JetBrain 官方表示,89% 的开发人员在某种程度上自定义其 IDE。此外,据调查数据显示,多数开发人员投入暗黑的阵营:83% 的人更喜欢暗色调主题的 IDE 编辑器。
09
软件开发现状
一直以来,程序员这一行业是以高薪出了名,那么对于开发者而言,何种开发工作最受欢迎?其从事 IT 行业究竟是兴趣使然还是为了养家糊口?
根据《2019 开发人员生态系统现状》报告显示,Web 后端在程序员岗位中最受欢迎,有 60% 的受访者称选择 Web 后端以谋生,其中 39% 的 Web 后端开发者表示兴趣使然选择了该职位。
其次,受欢迎的岗位分别有 Web 前端、移动应用程序、库/框架。
在各大科技公司纷纷拥抱开源之际,事实上,很多开发者因工作、时间、后期维护等因素并不能完全拥抱开源。对此,仅有 21% 的受访者表示每年会有几次参与开源项目。
此外,有 16% 的开发者表示,在他们的项目中不做任何测试。但在全职高级开发人员中,这个统计数据降至 8%。
10
AI 是否会取代程序员?
古人有句谚语叫日有所思夜有所梦,据报告显示,工作中编程越多(作为主要活动)的人就越有可能在梦中编程。
在 AI 逐步渗透至各个领域之际,AI 威胁论一直从未停歇,就连英国著名物理学家史蒂芬·霍金曾经在采访时也表示过担忧,人工智能(AI)很快会成为一种新的生命形态,甚至某一天会超越人类。那么在相当于创造 AI 的开发者群体中,他们会怎么看?
据调查显示,57% 的受访者感受到了危险,并认为未来有一天 AI 会取代开发者的位置。不过也有 27% 认为 AI 绝不可能取代开发人员。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
机器学习解决实际问题的核心关键:从业务到落地的全流程解析 在人工智能技术落地的浪潮中,机器学习作为核心工具,已广泛应用于 ...
2025-09-09SPSS 编码状态区域中 Unicode 的功能与价值解析 在 SPSS(Statistical Product and Service Solutions,统计产品与服务解决方案 ...
2025-09-09CDA 数据分析师:驾驭商业数据分析流程的核心力量 在商业决策从 “经验驱动” 向 “数据驱动” 转型的过程中,商业数据分析总体 ...
2025-09-09R 语言:数据科学与科研领域的核心工具及优势解析 一、引言 在数据驱动决策的时代,无论是科研人员验证实验假设(如前文中的 T ...
2025-09-08T 检验在假设检验中的应用与实践 一、引言 在科研数据分析、医学实验验证、经济指标对比等领域,常常需要判断 “样本间的差异是 ...
2025-09-08在商业竞争日益激烈的当下,“用数据说话” 已从企业的 “加分项” 变为 “生存必需”。然而,零散的数据分析无法持续为业务赋能 ...
2025-09-08随机森林算法的核心特点:原理、优势与应用解析 在机器学习领域,随机森林(Random Forest)作为集成学习(Ensemble Learning) ...
2025-09-05Excel 区域名定义:从基础到进阶的高效应用指南 在 Excel 数据处理中,频繁引用单元格区域(如A2:A100、B3:D20)不仅容易出错, ...
2025-09-05CDA 数据分析师:以六大分析方法构建数据驱动业务的核心能力 在数据驱动决策成为企业共识的当下,CDA(Certified Data Analyst) ...
2025-09-05SQL 日期截取:从基础方法到业务实战的全维度解析 在数据处理与业务分析中,日期数据是连接 “业务行为” 与 “时间维度” 的核 ...
2025-09-04在卷积神经网络(CNN)的发展历程中,解决 “梯度消失”“特征复用不足”“模型参数冗余” 一直是核心命题。2017 年提出的密集连 ...
2025-09-04CDA 数据分析师:驾驭数据范式,释放数据价值 在数字化转型浪潮席卷全球的当下,数据已成为企业核心生产要素。而 CDA(Certified ...
2025-09-04K-Means 聚类:无监督学习中数据分群的核心算法 在数据分析领域,当我们面对海量无标签数据(如用户行为记录、商品属性数据、图 ...
2025-09-03特征值、特征向量与主成分:数据降维背后的线性代数逻辑 在机器学习、数据分析与信号处理领域,“降维” 是破解高维数据复杂性的 ...
2025-09-03CDA 数据分析师与数据分析:解锁数据价值的关键 在数字经济高速发展的今天,数据已成为企业核心资产与社会发展的重要驱动力。无 ...
2025-09-03解析 loss.backward ():深度学习中梯度汇总与同步的自动触发核心 在深度学习模型训练流程中,loss.backward()是连接 “前向计算 ...
2025-09-02要解答 “画 K-S 图时横轴是等距还是等频” 的问题,需先明确 K-S 图的核心用途(检验样本分布与理论分布的一致性),再结合横轴 ...
2025-09-02CDA 数据分析师:助力企业破解数据需求与数据分析需求难题 在数字化浪潮席卷全球的当下,数据已成为企业核心战略资产。无论是市 ...
2025-09-02Power BI 度量值实战:基于每月收入与税金占比计算累计税金分摊金额 在企业财务分析中,税金分摊是成本核算与利润统计的核心环节 ...
2025-09-01巧用 ALTER TABLE rent ADD INDEX:租房系统数据库性能优化实践 在租房管理系统中,rent表是核心业务表之一,通常存储租赁订单信 ...
2025-09-01