整理 | 郑丽媛责编 | 屠敏出品 | CSDN(ID:CSDNnews)
近日,SlashData在对全球17000多名开发人员进行了调查后,正式发布了2020年第三季度的《开发者报告》(第 19 版)。
SlashData表示,本次调查基于两项数据。一是对全球软件开发者人数的预估,根据在2017年首次公布的这一数据,SlashData估计到2020年中期,全球有2130万活跃的软件开发者。其次,SlashData每六个月就会对成千上万的开发者进行大规模、低偏差的调查,询问开发人员在十大开发领域使用编程语言的情况。
根据SlashData调查报告显示,JavaScript 依然是最受欢迎的编程语言,而C#虽然也在吸引更多的开发者使用,但其增长势头越来越慢,已跌至第6位。
JavaScript三年维持第一,C#呈下跌趋势
调查报告指出,JavaScript(包括 CoffeeScript 和微软的 TypeScript)蝉联了3年最受欢迎编程语言榜的1位,在全球拥有高达1240万的用户,并且这个数量还在不断增长。从2017年第二季度到2020年第三季度,有近500万开发者加入了JavaScript,这是迄今为止所有语言中绝对增长率最高的(绝对增长率:指第二年的种群数量和第一年的差与所用时间之比)。
近年来,在很多技术系统中都开始采用JavaScript。
JavaScript不仅可以搭配HTML5和CCS来构建Web前端,在移动应用中也经常见到它的身影,甚至在后端开发领域,也可以通过Node.js服务器发挥作用。即使在统计中显示最少使用JavaScript的软件领域,如数据科学或AR/VR,也有超过五分之一的开发者在其项目中使用JavaScript。
因此,JavaScript飞速发展,新的库、框架层出不穷,容易学习与执行,编程新手都可以用JavaScript做一些简单的项目。
最受欢迎编程语言的第2位是拥有900万用户的Python。Python在过去一年就新增了220万名开发者,排名也在2020年初再次超越了Java。数据科学和机器学习(ML)的兴起是Python流行的一个重要因素,目前有将近77%的ML开发人员和数据科学家选择使用Python,只有22%的人使用另一种通常与数据科学相关的语言——R。
其次是在全球拥有逾800万活跃用户的Java,是移动应用生态系统——Android的基石,也是最重要的通用语言之一。在过去的六个月里,Java的使用率基本保持稳定不变,可从总体上看,自2017年中期以来,Java已经增加了近160万名用户,相当于24%的增长。
紧接着就是分别位于第4、5、6位的C/C++、PHP、C#。与C/C++流行度的大幅提升并稳定保持不同,C#的增长较慢,并在近三年连续下跌了3个名次。C和C++仍然是物联网项目的核心语言(用于设备和应用程序级别的编码),而PHP也依然是Web应用程序中仅次于JavaScript的第二大常用语言。相反,C#虽在游戏和AR/VR开发者生态系统中还是很受欢迎,但可能是由于出现了基于web技术的跨平台工具,C#正在失去它在桌面开发中的优势。
另外,值得一提的是,谷歌认可的Android开发首选语言Kotlin与近年来苹果平台用得最多的开发语言Swift。
Kotlin是增长最快的语言之一,自2017年底以来,其规模增长了两倍多,从2017年第四季度的110万增至2020年第三季度的230万。这一点从Kotlin的排名中也很明显,在此期间它从第11位上升到了第9位。而Swift今年的人气超过了Kotlin。
最后,自从Swift逐渐取代Objective C,成为苹果所有平台上使用最多的开发语言以来,Objective C的使用率和排名一直在下降,从第9位跌至第12位。
其他相对小众的编程语言,Go、Ruby、Rust和Lua拥有80万到150万的活跃用户,排名保持较为稳定。
容器是后端开发最喜欢的云技术
SlashData还调查了云技术在开发者中的使用现状。据分析,容器是后端开发人员最喜欢的云技术,使用率在60%,而大约 57% 使用容器化应用程序的后端开发者都会选择 Kubernetes。排在第2位的是数据库即服务(DBaaS),45%的云开发人员使用这种技术。有大概三分之一的后端开发人员选择使用云平台即服务(PaaS),32%的使用率使其位列第3。
经调查,开发人员在决定采用某一种云技术时,除了编配工具外,会主要考虑定价和支持/文档这两个重要因素。对于采用编配工具的开发者来说,支持/文档依然是首要考虑因素,但此时价格的高低对他们的影响就没有那么大了。而在拒绝使用云技术的开发人员中,不论是从事数据库即服务、云平台即服务,还是虚拟机基础架构即服务等方面,高昂的价格都是阻碍他们采用云技术的首要因素。
使用DevOps却不自知
在DevOps的使用方面,SlashData经过调查,有趣地发现:绝大多数专业开发人员(82%)都参与过DevOps,但并不一定认为自己是DevOps从业者。只有五分之一的开发人员在被明确问及在哪几个新兴领域工作时,会回答他们在从事DevOps方面的工作。
虽然超过半数(52%)的开发人员会使用持续集成(CI)或持续交付或部署(CD)来简化部分工作流,但只有25%的开发人员会同时使用这两种方法将从代码修改到生产部署之间的所有步骤自动化。事实证明,开发人员仍然对完全自动化的CI/CD管道持怀疑态度。这一点在调查中体现得很明显:他们中有近40%的人还是选择手动为代码部署。
开发者在开源中看重什么?
对于开发人员在开源中所看重的特性,SlashData分析得知:92%的开发者会使用开源软件(OSS),而开发人员对OSS所看重的主要是其永恒能力与社区的协作和交互,一句话概括为“为了与社区协作,构建出比发起者更持久的软件”。专业和企业开发人员使用OSS看重的是:使用OSS会比使用闭源代码软件所涉及的总体费用低很多,以及大程度减少了在闭源环境下的局限性。而非企业开发人员则更在意使用OSS的衍生产品和调试。
不过与其他人相比,不使用OSS中的非专业开发人员所占比例更大。因此,想要真正感受OSS的好处,可能需要以一个专业开发者的身份去对待它。
参考链接:
https://slashdata-website-cms.s3.amazonaws.com/sample_reports/y7fzAZ8e5XuKCL1Q.pdf