查看原文
其他

Python 最抢手、Java 最流行、Go 最有前途,7000 位程序员揭秘 2019 软件开发现状

CSDN App 程序人生 2019-07-11

作者 | 屠敏 整理

报告来源 | JetBrains

出品 | CSDN(ID:CSDNnews)

互联网的下半场,科技公司为面对更加严峻的竞争环境,越来越重视开源节流。而对于身处其中且撑起 IT 半边天的技术人,如今如何了?从技术角度来看,其又该作何改变顺应潮流?

接下来,我们将从 JetBrains 最新发布的《2019 开发人员生态系统现状》报告中一窥究竟。

JetBrains 通过调查全球 7000 名开发者,解析出开发者们在日常软件开发中最常使用的语言、框架,从而探索各种编程技术的最新趋势,希望可以帮助更多的开发者获取适合自己的技能。


过去一年,哪些编程语言被使用?


工欲善其事,必先利其器。作为程序员们的看家利器之编程语言,倘若开发者们对其掌握得越深那么对自己的职业发展越有益。但是由于每一年不同行业的技术发展各有偏重,导致数百种编程语言的流行度也会受到影响。

那么在过去一年中,开发者主要使用的编程语言有哪些?

对此,JetBrains 根据最新的数据报告结果得出,最受欢迎的编程语言是 Java 和 Python。其后是 C# 和 JavaScript,两者不相仲伯。但如果结果按示例大小标准化,那么 C# 是最受欢迎的语言。详情如下所示:


首选的编程语言有哪些?


在使用的编程语言中,并不意外,JavaScript 当选最常用的语言。其次为 Java、Python。

除此之外,JetBrains 还发现,似乎有一些“辅助”语言 即主要用作其他语言,包括:HTML、SQL 和 Shell 脚本语言。很多软件开发人员练习过这些辅助语言,但很少有人将它们作为主要语言。例如:56% 的人练习过 SQL,但只有 19% 的人称它为主要语言,仅 1.5% 的人将它作为第一语言。

从另一方面而言,Java 是独占鳌头的语言。其用户中有 44% 只使用或首先使用 Java。其后是 JavaScript,份额“仅有” 17%。

接下来,我们将详细解析。


最常用的整体编程语言——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 为样式表语言。


最流行的编程语言——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%。


最有前途的编程语言——Go


为软件开发而生的 Go 语言,可以在不损失应用程序性能的情况下降低代码的复杂性。而在一众编程语言中,Go 成为最有前途的语言。因为在 2017 年时,Go 语言的份额只有 8%,现如今在 Google 的不断扶持以及更多项目的应用下,Go 已经达到了 18% 的份额。此外,有 13% 的受访者还表示愿意采用或迁移到 Go 语言。

对于 Go 语言的使用,JetBrains 表示,多数人使用单个全局 GOPATH。在同时编辑多个项目的人中,甚至有 2/3 的人仍不倾向于每个项目使用一个 GOPATH。

据报告结果显示,才出现不久的 Go 模块,如今已经有 40% 的 Go 开发者已经在使用它,还有 17% 的人希望迁移过来。

此外,Gin 是 Go 程序员常用的 Web 框架。


学习最多的语言——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 版本之间存在诸多的不兼容性。


开发者常用的操作系统


因微软战略的改变,Windows 已从软件之列成为用户的一种服务。不过,大多数开发者的开发环境还是建立于 Windows 操作系统之上,其次 49% 的用户使用 macOS,48% 的受访者使用 Unix 或 Linux。整体而言,这三种操作系统的使用率相差并不大。

在移动领域,还是以 Android 系统为主。


工具


对于工具的选择,JetBrain 官方表示,89% 的开发人员在某种程度上自定义其 IDE。此外,据调查数据显示,多数开发人员投入暗黑的阵营:83% 的人更喜欢暗色调主题的 IDE 编辑器。


软件开发现状


一直以来,程序员这一行业是以高薪出了名,那么对于开发者而言,何种开发工作最受欢迎?其从事 IT 行业究竟是兴趣使然还是为了养家糊口?

根据《2019 开发人员生态系统现状》报告显示,Web 后端在程序员岗位中最受欢迎,有 60% 的受访者称选择 Web 后端以谋生,其中 39% 的 Web 后端开发者表示兴趣使然选择了该职位。

其次,受欢迎的岗位分别有 Web 前端、移动应用程序、库/框架。

在各大科技公司纷纷拥抱开源之际,事实上,很多开发者因工作、时间、后期维护等因素并不能完全拥抱开源。对此,仅有 21% 的受访者表示每年会有几次参与开源项目。

此外,有 16% 的开发者表示,在他们的项目中不做任何测试。但在全职高级开发人员中,这个统计数据降至 8%。


AI 是否会取代程序员?


古人有句谚语叫日有所思夜有所梦,据报告显示,工作中编程越多(作为主要活动)的人就越有可能在梦中编程。

在 AI 逐步渗透至各个领域之际,AI 威胁论一直从未停歇,就连英国著名物理学家史蒂芬·霍金曾经在采访时也表示过担忧,人工智能(AI)很快会成为一种新的生命形态,甚至某一天会超越人类。那么在相当于创造 AI 的开发者群体中,他们会怎么看?

据调查显示,57% 的受访者感受到了危险,并认为未来有一天 AI 会取代开发者的位置。不过也有 27% 认为 AI 绝不可能取代开发人员。

《2019 开发人员生态系统现状》更多内容可参考:https://www.jetbrains.com/zh-cn/lp/devecosystem-2019/

 热 文 推 荐 

不是码农,不会敲代码的她,却最懂程序员!| 人物志

任正非:华为 100% 没有后门

漫画:领导让我重构代码,怎么办?

这位博士跑赢“地震波”:提前 10 秒预警宜宾地震!

50行Python代码教AI实现动作平衡

打破欧美垄断,国防科大斩获“航天界奥林匹克”大赛首冠

同样是消息队列,Kafka凭什么速度那么快?

独家对话V神! 质疑之下的以太坊路在何方?

17 岁的程序员告诉你关于编程的 7 个重要教训!

☞“是!互联网从此没有 BAT!”

你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存