【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

Jetbrains 发布 2019 开发者生态报告:Java 最主流,Go 最有前途

  • 2019-06-19
  • 本文字数:2240 字

    阅读完需:约 7 分钟

Jetbrains发布2019开发者生态报告:Java最主流,Go最有前途

近日,Jetbrains 发布了《2019年开发人员生态系统现状》报告。报告显示:Java 是最主流的编程语言,JavaScript 是最常用的整体编程语言,Go 是最有前途的编程语言,Python 是学习者最多的编程语言。该报告涉及约 7000 名开发人员在编程语言、开发项目、移动设备与工具使用等方面的数据。其中,中高级职称的受访对象占 78%。以下是我们从报告中得出的主要结论:

编程语言:


在过去一年里,最受欢迎的编程语言是 Java 和 Python。其后是 C# 和 JavaScript,两者不相仲伯。但如果结果按示例大小标准化,那么 C# 是最受欢迎的语言。



有一些语言主要起“辅助”作用,包括 HTML、SQL 和 Shell 脚本语言。很多软件开发人员练习过这些辅助语言,但很少有人将它们作为主要语言。例如,56% 的人练习过 SQL,但只有 19% 的人称它为主要语言,仅 1.5% 的人将它作为第一语言。从另一方面看,Java 是独占鳌头的语言,其用户中有 44% 只使用或首先使用 Java。其后是 JavaScript,份额“仅有” 17%。


Java 是最主流的编程语言。虽然 Java 10 和 11 日趋流行,但 Java 8 仍是使用最多的版本,使用者占比高达 83%,其次是 Java 11 ,占比 22%。





JavaScript 是最常用的整体编程语言。58%的受访者使用 React 作为 JavaScript 框架,其次是 Express 、Vue.js 、React Native 等等。其中,Vue.js 的流行程度逐年增长。自去年以来,份额已达到 11%,几乎是 2017 年的一倍。在编辑器方面,44% 的 JavaScript 开发人员经常使用 TypeScript。2019 年,1/4 的开发人员在使用它,而去年这一比例为 17%。





Go 是最有前途的编程语言。虽然 Go 是一种年轻的语言,但其用户相对成熟,它的使用份额已从 2017 年的 8% 大幅跃升到今年的 18%,多达 13% 的开发人员愿意采用或迁移到 Go 语言。此外,多数人使用单个全局 GOPATH。在同时编辑多个项目的开发者中,甚至有 2/3 的人仍不倾向于每个项目使用一个 GOPATH。虽然最近才出现 Go 模块,但 40% 的 Go 开发人员已经在使用它,还有 17% 的人希望迁移过来。


Python 是学习最多的语言。27% 的受访对象在过去一年中开始或仍在持续学习 Python。在使用版本上,由于 9/10 的开发人员宣布将在 2019 年使用 Python 3,Python 2 正在迅速减少。去年仍有 1/4 的人使用 Python 2。而且,有趣的是,大多数 C++开发人员声称 Python 是其最喜欢的语言。Web 开发和数据科学家仍是 Python 开发的两大主力。因为据称 Python 是数据科学的最佳工具之一,所以涉及数据分析和机器学习的 Python 开发人员数量如此众多毫不令人吃惊。数据分析比 Web 开发更受欢迎,机器学习则在今年超过 DevOps。除了 Python 以外,Django 和 Flask 目前仍是最流行的 Python web 框架。




移动设备与工具:


2/3 的移动开发人员使用本地工具开发用于移动操作系统的应用,约 1/2 的开发人员使用跨平台技术或框架,且 React Native 、Flutter、Cordova 的使用者较多。



89% 的开发人员在某种程度上自定义其 IDE。多数开发人员投入“暗黑”的阵营,83% 的人更喜欢暗色调主题的 IDE 编辑器。

数据库:

对大多数软件开发者而言,其工作总会以这样或那样的方式涉及数据库,但只有极少数从业者主要关注数据库。报告显示,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 作为其主要语言。70% 的受访对象对他们的数据库表示满意,不打算迁移或采用其他的。



连续两年,人们可以看到,使用 MySQL Workbench(从 30% 降至 24%)、phpMyAdmin(从 27% 降至 21%)以及命令行(从 27% 降至 24%)来管理数据库的受欢迎程度呈下降趋势。

DevOps :

关于开放运营,1/5 的受访者都深入参与基础架构开发。其中 15% 的从业者表示脚本语言 (bash / shell / powershell) 是其主要编程语言。



报告显示,配置管理工具 Chef 和 Puppet 今年的市场份额差不多,但它们加起来占据的市场份额仍略低于 Ansible。在使用服务器模板工具的开发者中,90% 使用 Docker。使用 Docker 的调查对象中有 74% 也在使用 Docker compose。


最常用的工具集是 Docker + Terraform + Ansible。在组合使用基础架构配置、服务器模板和配置管理的用户中,有 27% 的人使用它们。但使用 Docker 的人数是其三倍(没有配置管理,也不配置基础设施)。



Kubernetes 使用情况飞速增长,在 2017 年 份额 16% 的基础上增加了 13% 以上。



私有服务器仍略超过云服务器。但如果深入了解,人们会发现很多用户两者都使用。他们更倾向于将云服务器作为主要托管平台。



关于“在哪里托管数据库和/或服务和/或贵公司开发的应用程序”的答案,第一名并不令人感到意外。Google Cloud Platform 的份额超过了 Kubernetes 用户(一般是 41% 对比 28%),这意味着 Kubernetes 的增长可能会推动 GCP 的流行。


报告原文:https://www.jetbrains.com/zh-cn/lp/devecosystem-2019/


延伸阅读::


Go 语言是谷歌的,而非社区的


一张主流编程语言的变迁图,讲清程序员迁移模式


取代 JavaScript,Python 成为了被提问最多的编程语言


Go 会接替 Java,成为下一个企业级编程语言吗?


C++ 力压 Python 进入最受欢迎编程语言前三


再见,Python!你好,Go 语言


2019-06-19 17:3716732
用户头像
王文婧 InfoQ编辑

发布了 126 篇内容, 共 70.3 次阅读, 收获喜欢 274 次。

关注

评论

发布
暂无评论
发现更多内容

如何在Unity中免费制作游戏

龙智—DevSecOps解决方案

Unity Perforce Helix Core

半导体行业如何保持高效远程办公?因果集群(Causal Clustering)了解一下!

龙智—DevSecOps解决方案

远程办公 因果集群

共探开源生态|Apache Pulsar 社区助力 Apache APISIX Summit Asia 2022

Apache Pulsar

开源 架构 云原生 Apache Pulsar Apache Pulsar 社区

专车数据层架构进化往事:好的架构是进化来的,不是设计来的

勇哥java实战分享

架构

Atlassian应对CVE-2022-22963,CVE-2022-22965的常见问题

龙智—DevSecOps解决方案

Atlassian CVE-2022-22963 CVE-2022-22965

新思科技助力Linux基金会开展最新开源普查项目

InfoQ_434670063458

Linux 开源 新思科技

企业如何进行信息化

秋去冬来春未远

数字化 信息化管理 如何信息化 信息化规律

自己动手写Docker系列 -- 5.8实现容器制定环境变量运行

Go Docker 4月月更

Jira 云产品宕机多日,业界热议上云如何保障数据安全

万事ONES

Atlassian Jira 研发管理工具 项目管理工具 企业研发管理

低代码极简部署

源字节1号

低代码开发

TiDB 查询优化及调优系列(一)TiDB 优化器简介

PingCAP

TypeScript基础学习

乌龟哥哥

4月月更

通过质量内建,提高交付质量

老张

软件测试 质量内建 交付质量

面试突击39:synchronized底层是如何实现的?

王磊

Java java面试

如何通过云效Codeup高效落地分支模式,提升开发协作率

阿里云云效

云计算 阿里云 版本管理 分支管理 分支模式

大数据培训关于数据采集面试问题分享

@零度

数据采集 面试问题 大数据开发

华为云推出限量NFT云宝,区块链技术为你的数字资产保驾护航

华为云开发者联盟

华为云 NFT 云宝 华为云NFT 华为云数字资产链

react源码解析11.生命周期调用顺序

buchila11

React

react源码解析12.状态更新流程

buchila11

React

云风:不加班、不炫技,把复杂的问题简单化

博文视点Broadview

周日直播|OpenMLDB Pulsar Connector,高效打通实时数据到特征工程

Apache Pulsar

开源 架构 云原生 Apache Pulsar 消息中间件

去中心化钱包系统开发app,imtoken钱包平台搭建源码

Geek_56201b

#区块链# 源码搭建 去中心化钱包

java培训:怎样才能写出一个优秀的对外接口

@零度

JAVA开发 对外接口

交易所多种模式开发、各种源码交易

Geek_56201b

交易所开发 区块链应用开发 软件定制

Linux驱动开发-编写W25Q64(Flash)驱动

DS小龙哥

4月月更

web前端培训学习需要掌握哪些 Linux 命令

@零度

前端开发

Android C++系列:C++最佳实践2抽象类

轻口味

c++ android 4月月更

从Opentracing、OpenCensus 到 OpenTelemetry,看可观测数据标准演进史

阿里巴巴云原生

EventBridge 特性介绍|以 IaC 的方式使用 EventBridge

阿里巴巴云原生

Docker 实战教程之从入门到提高 (四)

Jerry Wang

Docker 容器 虚拟化 docker image 4月月更

得物App H5秒开优化实战

得物技术

前端 H5 优化 实战 Web H5

Jetbrains发布2019开发者生态报告:Java最主流,Go最有前途_编程语言_王文婧_InfoQ精选文章