作者 | 屠敏 整理

报告来源 | 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/

(*本文为 AI科技大本营转载文章,转载请联系原作者)

公开课精彩推荐

想跟NVIDIA专业讲师学习TensorRT吗?扫码进群,获取报名地址,群内优秀提问者可获得限量奖品(定制T恤或者技术图书,包邮哦~)

NVIDIA TensorRT是一种高性能深度学习推理优化器和运行时加速库,可以为深度学习推理应用程序提供低延时和高吞吐量。通过TensorRT,开发者可以优化神经网络模型,以高精度校对低精度,最后将模型部署到超大规模数据中心、嵌入式平台或者汽车产品平台中。

推荐阅读

  • 西交出身,辛书冕获CVPR 2019最佳论文,李飞飞团队获经典论文奖

  • 媲美Pandas?Python的Datatable包怎么用?

  • 蔡徐坤1亿转发量幕后推手被封,能否动摇饭圈文化?| 数据会说话

  • 解密Kernel:为什么适用任何机器学习算法?

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

  • 一张图告诉你到底学Python还是Java!

  • 10分钟读懂什么是容器云?

  • 倒计时10天 | 堪称年度中国最具影响力的以太坊技术盛宴,为何不容错过?

  • 技术面试别扯智力题!

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

Python最抢手、Go最有前途,7000位程序员揭秘2019软件开发现状相关推荐

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

    作者 | 屠敏 整理 报告来源 | JetBrains 出品 | CSDN(ID:CSDNnews) 互联网的下半场,科技公司为面对更加严峻的竞争环境,越来越重视开源节流.而对于身处其中且撑起 IT ...

  2. 高性能python软件开发_Python 最抢手、Java 最流行、Go 最有前途,7000 位程序员揭秘 2019 软件开发现状...

    作者 | 屠敏 整理 报告来源 | JetBrains 出品 | CSDN(ID:CSDNnews) 互联网的下半场,科技公司为面对更加严峻的竞争环境,越来越重视开源节流.而对于身处其中且撑起 IT ...

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

    作者 | 屠敏 整理 来源 | JetBrains 出品 | CSDN(ID:CSDNnews) 互联网的下半场,科技公司为面对更加严峻的竞争环境,越来越重视开源节流.而对于身处其中且撑起 IT 半边 ...

  4. 7000位程序员揭秘2019 软件开发现状:看Python、Java与Go,谁主沉浮

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

  5. 7000 位程序员揭秘 2019 软件开发现状

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

  6. Go远超Python,机器学习人才极度稀缺,全球16,655位程序员告诉你这些真相

    作者 | 唐小引 题图 | HackerEarth 报告 出品 | AI科技大本营(ID:rgznai100) Go 正变得越来越受开发者欢迎. 几年前,滴滴的工程师曾告诉我,在滴滴 Go 已经得到了 ...

  7. python电脑发音-Python之父发声:我们能为“996”程序员做什么?

    4月7日,知名开发者,编程语言Python之父Guido van Rossum在Python讨论区针对国内程序员996工作制发声. Guido发文称,"我们能为中国的"996&qu ...

  8. 学了python做什么自由职业者_我又有一位程序员朋友成了自由职业者

    原标题:我又有一位程序员朋友成了自由职业者 很多对数据结构和算法感兴趣的小伙伴,对[程序员小灰]这个公众号并不陌生,小灰在三年前开始,创造了一只可爱的小仓鼠,并用它来讲解编程技术和算法,一讲就是三年. ...

  9. Python学习笔记(1)---B站黑马程序员

    Python学习笔记(1)-B站黑马程序员 Python学习笔记(2)-B站黑马程序员 Python学习笔记(3)-B站黑马程序员 文章目录 Linux基础 Python基础 一.Python介绍 0 ...

最新文章

  1. Creative Web Typography Styles | Codrops
  2. window 10下 Spark 安装简单使用
  3. oracle的md5加密
  4. Docker 常见问题汇总
  5. 消息订阅与发布(pubsub)
  6. vuejs 指令封装 button 加载效果_这些Vue自定义指令,让你的项目开发爽到爆
  7. 单链表的基本操作-查找
  8. html typora 图片_Typora优化-适合不懂CSS代码的小白
  9. mknod 创建内核设备文件【原创】
  10. MyBatis学习总结(3)——优化MyBatis配置文件中的配置
  11. MyBatis中三种分页查询方式
  12. Flutter之Stack
  13. php smarty 语法,5. Smarty基本语法
  14. 高德经纬度转普通GPS经纬度
  15. could not extract ResultSet
  16. VON矿链资本的技术含量内幕是什么?尊皇社区为你揭秘!
  17. 卸载工具Android,教你轻松卸载/删除Android手机内置游戏/软件
  18. 最大后验概率(MAP)- maximum a posteriori
  19. MOSFET的SOA或者ASO是什么?
  20. LeetCode二叉树系列——515.最每个树行中找最大值

热门文章

  1. 3、JPA一些常用的注解
  2. ASP.NET MVC动作过滤器
  3. 诊断IIS中的ASP0115错误
  4. WF4.0实战(一):文件审批流程
  5. [导入]ExtJs 2.0 弹窗事例
  6. 状压DP Hiho-1044 状态压缩
  7. 2018/5/1 ----1986年图灵奖PPT
  8. PAT1036:Boys vs Girls
  9. 【转】Jmeter常见问题
  10. 单向链表JAVA代码