Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

Stella981
• 阅读 599

2019 年 Stack Overflow 开发者调查报告最新出炉了!今年,近 90,000 名开发人员参与了调查,共同分享学习、工具以及未来技术规划上的经验。

程序员有很多必备的技能网站,Stack Overflow 就是其中之一——作为全球 IT 界最受欢迎的技术问答社区,很多编程问题都能在上面找到专业的答案,也吸引了大量程序员聚集其中。此前,在《作为程序员,制霸了 Stack Overflow 是一种怎样的体验?》一文中,我们就分享了 Stack Overflow 上首位声望值超过 100 万的程序员故事,引来了热烈围观。

而 Stack Overflow 一年一度的开发者报告,则是以全球程序员为对象的规模最大、最全面的调查,今年已经进行到了第九年。每年,报告都会涵盖从开发人员最喜欢的技术、到工作偏好的所有内容。

今年的调查中主要包括以下内容:

Python 是增长最快的编程语言,今年逐渐淘汰了 Java,成为第二个最受欢迎的语言(仅次于 Rust,其在 CSDN 此前的《Rust 逆袭!位列 Stack Overflow 2018 最受欢迎编程语言榜首》一文中也卫冕)。

五成以上的开发者在他们十六岁时就编写了第一行代码。

DevOps 专家和网站可靠性工程师(SRE,Site Reliability Engineer,软件工程师和系统管理员的结合)是薪酬最高、经验最丰富的开发人员,同时也是工作满意度最高的工程师。

在受访程序员所处国家中,中国对互联网环境持有最乐观的态度,而法国和德国等西欧国家的企业对未来最不乐观。

2019 开发者画像

报告显示,51.9% 的受访者是全栈开发,占比最高,其次为后端开发和前端开发,另外 18.1% 为移动开发者。开发者最常见的技能组合为后端、前端和全栈开发,数据库管理员和系统管理员、DevOps 专家和网站可靠性工程师、学术研究员和科学家等受访者之间的占比则基本等同。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

在开源层面,报告显示大约 65% 的专业开发人员每一年或以上的频率会为开源项目做出贡献。参与的开源项目多少因语言而异:使用 Rust、WebAssembly 和 Elixir 的开发人员贡献次数最多,而使用 VBA、C# 和 SQL 的开发人员只能达到一半的数量。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

受调查者的工作年限不一,报告显示 510 年的开发者占比最重,达三成之多。5 年以上和 1014 年的开发者分别次之,占比为 20.5% 和 19.0%。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

其中——在编程语言层面:使用 VBA、F# 和 Clojure 等语言的开发人员编码经验最多,而使用 Python、PHP 和 Kotlin 等语言的开发人员数量最少。在开发领域层面,嵌入式设备构建的 开发人员拥有最丰富的经验,而学术研究人员和数据科学家的经验最少。

在性别层面,报告进行了更为详细的分析。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

在所有类别的开发人员调查中,男性的数量均高于女性,但男性与女性的比例各不相同。男性数据科学家或学术研究人员的数量是女性的 10 倍,而系统管理员或 DevOps 专家则是女性的 25~30 倍。对于女性来说,前端开发者、设计师、数据科学家、数据分析师、测试开发人员、科学家和教育工作者等领域的代表性最高。

而开发者的第一行代码,据报告显示,超过一半的受访者在他们十六岁时编写了代码,包括制作网页或是向世界打招呼。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

在这一部分,报告还对“对开发者影响最大的公众人物”进行了调查。结果显示,Space X 首席执行官兼首席设计师、特斯拉汽车首席执行官兼产品架构师伊隆·马斯克荣膺第一,占比三成之多,远超第二名亚马逊公司创始人杰弗里·贝索斯。此外在榜单上,业界耳熟能详的微软公司首席执行官萨蒂亚·纳德拉、Google 首席执行官·皮柴、Facebook 创始人马克·扎克伯格、斯坦福人工智能实验室的主任吴恩达以及阿里巴巴集团董事长马云等均在列。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

开发者技能解读

调查显示,JavaScript 已经连续第七年登顶最流行的编程语言,Python 再次上升,位列第四。今年,Python 在整体排名中超过了 Java,就像去年超过 C#和前一年超过 PHP 一样——Python 增长极快。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

此外,jQuery 是 Web 框架中使用最广泛的;深度学习框架 TensorFlow 比 Torch、PyTorch 更受欢迎;与 2018 年一样,MySQL 是最常用的数据库,PostgreSQL 排名第二;Linux 和 Windows 毋庸置疑是开发工作最常见的平台,Docker 是第三个使用最广泛的平台。

Rust 连续第四年成为开发者最受欢迎的编程语言,紧随其后的是 Python,Python 已经连续第三年上榜最受欢迎的语言。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

此外,React.js 和 Vue.js 是开发人员最喜欢和最想要使用的 Web 框架,而 Drupal 和 jQuery 是最令开发者失望的。Redis 连续第三年成为最受欢迎的数据库,MongoDB 则连续第三年上榜。Linux 再次卫冕最受欢迎的开发平台,今年 Docker 和 Kubernetes 也非常受欢迎。

报告显示,Visual Studio Code 是今年最受欢迎的工具。移动应用开发更偏爱 Android Studio 和 Xcode,DevOps 和 SRE 更喜欢 Vim,数据科学家更愿意在 IPython、Jupyter、PyCharm 和 RStudio 中工作。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

在区块链的使用上,报告也进行了统计。数据显示,大多数受访者所在的公司没有使用或实施区块链技术,占比达八成,区块链的普及仍任重而道远。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

薪资概况和技能规划

在全球范围内,使用 Clojure、F#、Elixir 和 Rust 的开发者工资最高,薪水中位数高于 70,000 美元。但是区域的差异也会影响到薪酬,美国的 Scala 开发商收入最高,而 Clojure 和 Rust 在印度的收入最高。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

具体来看,使用 Clojure、Scala、Go、Rust 和 R 语言的开发人员,即使他们拥有的经验不多,也会获得丰厚的报酬。然而,使用 PHP、汇编和 VBA 的,即使有多年的经验也会得到较少的报酬。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

此外,工程经理、SRE、DevOps 专家和数据科学家、工程师们获得的薪水最高,他们的工作也最稳定,而学术界和数据科学家们换工作最积极。

Python超越Java,Rust持续称王!Stack Overflow 2019开发者报告

完整报告链接:https://insights.stackoverflow.com/survey/2019。

-END-

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
4个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这