【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

六成开发者日编程不足 4 小时,半数认为学习新语言很困难

  • 2019-08-08
  • 本文字数:3048 字

    阅读完需:约 10 分钟

六成开发者日编程不足4小时,半数认为学习新语言很困难


调查机构 ActiveStates 今年调研了包括美国、中国在内的 88 个国家、1250 名开发者,得出了这份开发者调查报告。报告显示:超过 61% 的受访者每天花在编程上的时间不超过 4 小时,65% 的受访者表示不参与或维护开源项目,其中近一半 (49%) 的人将此归咎于时间不够。52% 的受访者认为增加或融入一门新语言非常困难。


InfoQ 对该调查问卷进行了编译、解读,希望完整展示出一个客观的开发者生态。与此同时,我们发起了国内版开发者调查问卷,如果您想了解国内开发者的群体画像,期待您的参加。我们将在样本数足够以后,制作一份国内版开发者调查报告,以飨读者。





本次调查的 1250 个样本数来自美国、加拿大、中国、德国、俄罗斯、印度等在内的 88 个国家,2018 年的调查样本则来自 92 个国家。参与人数最多的国家是美国,其次为加拿大、德国,中国也有部分开发者参与了本次调查问卷。



受访者中,年龄分布最大的区间是 41-45 岁,年龄小于 25 岁的部分只占 7.76%(97 人),30 岁以上的开发者比例高达 84%。不难看出,国外开发者的年龄普遍比较大,这一方面是由于国外开发者接触编程比较早,另一方面也显示出国外的工作环境对大龄程序员相对较为友好。

工作时间安排


在 1250 份调查样本中,38.8% 的受访者每天只花 2-4 小时编程。这与 2018 年的调查结果相似,37% 的受访者每天花 2-4 小时编程。相比之下,27.92% 的受访者每天花 5-7 小时编程,而 2018 年的调查结果显示,31% 的受访者每天花 5-7 小时编程。


最让人惊讶的是,2019 年总计有多达 61.52% 的受访者花 4 小时甚至更少的时间编程,而在 2018 年,只有 51% 的受访者花 4 小时或更少的时间编程。10.56% 的受访者花 8 小时或更长时间编程,而 2018 年这一比例为 19%,几乎减少了一半。


开发者们花在写代码的时间上越来越少,那么时间都去哪儿了呢?



44% 的受访者表示,他们必须把时间花在各种各样的活动上,包括会议、测试、维护,甚至是社交活动。花费时间最多的单一活动是软件设计/架构,占 11.36%,其次是参加 standups / 会议,占 8.24%。

开发环境设置的频率与时间


调查中,接近 69% 的受访者一年或者一个季度创建一次新的开发环境,只有约超过 31% 的人每个季度创建一到两个新的开发环境。此外,43.68% 的开发者创建一个新的开发环境需要花 2-4 个小时,28.72% 的人只需不到一小时,27.6% 的人需要花费 5 个小时甚至更长时间。


从上面的问题可以看出,如果每年只需要不到一小时的时间配置一个新的开发环境,那么对生产力的影响可以忽略不计。与此相反,有人每月都要建立新的开发环境,并且花费 18 个小时来完成。也就是说,一年 2000 个小时的工作时间里,设置开发环境就可能占到总开发时间的 10%。

新软件项目的频率


总体而言,61.4% 的受访者至少每个季度启动一次新项目,这一结果与 2018 年的 61% 几乎相同。然而,2019 年的调查结果显示,每周开工一次的受访者比例从 12% 下降到了 8.24%,每季度开工一次的受访者比例从 26% 上升到了 29.2%。虽然约 32% 的受访者每月或更频繁地启动新项目,但调查显示,只有约 14% 的受访者为该项目构建新的开发环境。

花在 issue 上的时间


加权结果显示,开发者的大部分时间花在了与安全性或代码相关的问题上,花费在构建库或包、管理依赖关系相关问题上的时间几乎相等,分别是 1.77 和 1.72。受访者只花了 70% 的时间致力于解决许可证相关问题。



72.81% 的受访者表示,几乎从未花时间研究过开源许可证。61.67% 的受访者将部分时间花在管理依赖关系上。应该指出的是,与去年相比,这一结果有显著下降,当时 75% 的受访者表示,部分时间花在了管理依赖关系和开发工具上。


此外,ActiveState 询问了受访者在构建库或包时遇到问题的频率。2018 年,71% 的受访者在构建库或包的过程中遇到了问题。而今年仅有 61.19% 的受访者表示在这项工作上花费了不少时间。

开发语言

当受访者被问及目前正在使用哪种编程语言时,前三种最流行的语言是 SQL(80.4%)Javascript(76.8%)Python(72.08%)。而在近日 Newly 联合创始人 Indrek Lasn 的预测中,Rust 将成为接下来两年的主流编程语言,依据则是 Rust 连续三年在 StackOverflow 调查中成为最受欢迎的语言,目前很多学校也开始考虑在授课中增加该语言,但就这份榜单而言,仅有 8.4% 的受访者在使用 Rust,排名接近倒数,很难让人相信这会在接下来两年成为主流。



在专为科技专业人士提供见解和分析的 Dice Insights 网站看来,Ruby、Haskell、Objective-C、R 及 Perl 五种编程语言可能会逐渐走向衰落,而在这份榜单中,目前正在使用 Perl、Ruby 和 R 语言的受访者不在少数,不清楚这部分使用者是否考虑在未来更换选择。


(点击这里,参与#哪种编程语言注定会走向衰败?#话题讨论。)

满意度


Python 是第三大受访者采用最多的编程语言,同时也收获了最高满意度,76.58%的受访者认为 Python 基本是让人满意的,这相比 2018 年的结果有显著增长,当时只有 68%的受访者表示基本满意。


作为采用度最高的语言,对 SQL 感到满意的受访者达 66.09%,排名第四。JavaScript 的采用度虽然排名第二,但在满意度榜单仅排到第 10 位,在《Cost of JavaScript In 2018》一书中,作者指出,如果一个交互式网站经常混合使用 CSS、JavaScript、图像和字体,那么“JavaScript 永远是开销最大的那一部分”。


事实上,JavaScript 的快速处理意味着更快地下载、解析、编译和执行脚本。脚本下载时间主要由脚本大小和网络性能决定,而解析和编译时间则是由 JavaScript 引擎中使用的技术和设备性能(CPU 和内存性能)所决定,执行时间明显受到 CPU 制约。这或许是造成 JavaScript 满意度不高的原因之一,但近几年已经有不少围绕此问题的解决方案和讨论。



对于是否考虑更换编程语言,尤其是满意度较低的选择,大部分受访者依旧不想更换。换句话说,添加新语言的痛苦超过了使用该工具的好处。当痛苦大于收益时,这件事情的性价比就被降低了。

设置,部署,运行时

挑战


为了更好地提炼开发人员目前面临的挑战,榜单列举了开发时可能遇到的问题,比如添加新的编程语言、开源代码的安全问题、依赖、开源代码的许可问题、复用性等。其中,添加一门新编程语言的难度连续两年位居榜首,开源代码的安全问题紧随其后,54% 的受访者认为较为困难。

构建问题


不难看出,安全性和稳定性是受访者考虑最多的问题,分别为 41.43%和 40.49%,这个数字相比去年有了明显提升,说明过去一年并没有出现非常好的方法解决这些问题,复杂程度还在持续上升,急需好的解决方案出现。

重要性


针对包质量(安全性、更新等问题),共享环境配置的简易性,特定包配置的开源语言构建与许可信息等问题,前两者在受访者心目中的重要程度非常接近,分别为 58.58%和 55.95%。

开源


近年来,开源技术得到越来越多的重视,国内开发者也在积极参与开源社区的建设。根据调查,受访者中的 34.88% 对开源社区有所贡献,而在影响贡献的主要因素中,时间的占比接近 50%,远远超过其他因素。换句话说,大部分受访者在考虑是否参与开源时主要是看有没有时间,难道大部分开发者受限于 996 的工作状态而没有精力做其他工作,比如贡献开源吗?


原报告下载链接:


https://www.activestate.com/wp-content/uploads/2019/05/ActiveState-Developer-Survey-2019-Open-Source-Runtime-Pains.pdf




InfoQ 希望可以完整展示出一个客观的国内开发者生态。所以,我们发起了国内版开发者调查问卷,如果您想了解国内开发者的群体画像,期待您的参加(传送门)。我们将在样本数足够以后,制作一份国内版开发者调查报告,以飨读者。


2019-08-08 09:5219878
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 377.3 次阅读, 收获喜欢 1972 次。

关注

评论 3 条评论

发布
用户头像
开一天的会,然后晚上加班写代码🐶
2019-08-08 17:01
回复
用户头像
中国开发者的996呐喊感觉结束没多久,这份报告就说六成开发者日编程不足4小时,这应该信哪个呢~
2019-08-08 11:20
回复
这不很正常吗?工作两小时摸鱼4小时,就不说编程,其他工作都不见得有上得满的,说实话程序员相对于其他工作实在是太舒服了,996能工作4小时?看情况怕不是一天都在摸鱼,
2019-08-08 13:10
回复
该评论已删除
2019-08-08 13:53
回复
没有更多了
发现更多内容

NFTScan | 02.19~02.25 NFT 市场热点汇总

NFT Research

NFT NFT\ NFTScan

教你学会Next.js14(c-shopping电商开源)

Geek_9da61c

JWT Tailwind next.js joi rtk query

解决混合精度训练大模型的局限性问题

百度开发者中心

人工智能 深度学习 大模型

熬了一晚上,开放签电子签章移动端上线了~

开放签开源电子签章

电子合同 电子签章

文心一言 VS 讯飞星火 VS chatgpt (202)-- 算法导论15.3 1题

福大大架构师每日一题

福大大架构师每日一题

企业过二级等保采购哪家堡垒机好?电话多少?

行云管家

等保 堡垒机 等保测评 二级等保

微软曾想将 Bing 搜索卖给苹果;英伟达首次公开将华为列为对手丨 RTE 开发者日报 Vol.151

声网

大模型时代软件研发效率革命

百度开发者中心

人工智能 大模型

分库分表如何管理不同实例中几万张分片表?

程序员小富

Java 分库分表 springboot

青否数字人源码软件平台开发!

青否数字人

数字人

AI 编程如何颠覆生产力 | 参与体验免费领取 ArchSummit 架构师峰会专属门票

阿里巴巴云原生

阿里云 云原生

如何避免被公司裁掉?

小齐写代码

是什么增加了系统的复杂度

Bruce Talk

敏捷开发 Agile Product Owner

中国首档数字人真人秀怎样实现?

青否数字人

数字人

鸿蒙App开发该如何提速

Geek_2305a8

小程序应用、页面、组件生命周期(涵盖启动、显示、隐藏、错误、未找到、卸载阶段)

天津汇柏科技有限公司

小程序开发 软件定制开发 软件开发定制

数字人SaaS系统源码部署,轻松实现直播带货!

青否数字人

提升生产能力的必备工具——MES系统自动排产

万界星空科技

生产管理系统 mes 万界星空科技 生产管理 自动排产

大模型如何助力开发者打造新质生产力

百度开发者中心

人工智能 大模型

从零开始用Rust编写nginx,原来TLS证书还可以这么申请

EquatorCoco

nginx rust 开发语言 语言 & 开发

六成开发者日编程不足4小时,半数认为学习新语言很困难_AICon_小智_InfoQ精选文章