重点速览:
编程措辞发展前景
JavaScript 依旧是最受欢迎的编程措辞,环球有将近 1400 万开拓者在利用;

自 2020 年初以来,Python 的盛行度已超过 Java,成为第二大被广泛采取的编程措辞(仅次于 JavaScript),其用户数量超过 1000 万;
自 2017 年 Google 在 I/O 大会上宣告 Kotlin 成为 Android 系统的一级开拓措辞以来,Kotlin 的用户规模增长了两倍多;
过去一年,Rust 和 Lua 成为所有编程措辞中增长最快的两个措辞社区。
机器学习的最新变革
非构造化文本数据是机器学习(ML)开拓者和数据科学家事情中的最常见数据类型,利用率达 68%;
大多数(53%)的机器学习工程师和数据科学家是专业开拓者,不过,在某些情形下,他们也会同时参与一些业余爱好/学生项目。
新兴技能
小程序的采取率正在上升;
人体脑机接口技能、量子打算、自动驾驶汽车仍处于科幻领域。
嵌入式软件
嵌入式开拓者比不参与嵌入式软件的开拓职员更可能参与工业物联网、消费电子产品、增强现实和虚拟现实等领域。
C ++ 是嵌入式开拓者最常用的编程措辞,个中 40% 的人利用它。
环球 JavaScript 开拓者最多,Python 盛行度超越 Java
在本次调查中,SlashData 采取了与过往的 TIOBE、Redmonk、Stack Overflow 等榜单不同的办法,其首先对环球软件开拓职员的数量进行了独立估算,截止 2021 年第一季度,环球有 2430 万生动的开拓者。这一数值相较 2020 年 10 月的 2130 万,上涨了约 14%,这意味着环球的开拓者数量处于快速增长阶段。
环球有 1380 万的开拓者正在利用 JavaScript,紧张运用于 Web、云领域
作为开拓的必备工具,编程措辞的发展动态向来是开拓者关心的重点方向之一。
从用户规模上来看,JavaScript 稳居编程措辞榜首,环球近 1400 万开拓者利用它,远超排在第二的 Python。据报告显示,过去三年间,JavaScript 社区的规模处于不断增长的趋势。在 2017 年第四季度到 2021 年第一季度之间,超过 450 万开拓职员加入了 JavaScript 社区中。
从数据来看,环球有超过 50% 的生动开拓者利用了 JavaScript,虽然有些开拓者仍旧以 Java、C#、PHP 等编程措辞为主,但是在许多项目中多少都用到了 JavaScript。
因此,在进一步调查 JavaScript 开拓者所从事的领域创造,不少开拓者聚焦在 Web、Cloud 等领域。其余,虽然在一些热门的行业,如数据科学、嵌入式开拓领域,JavaScript 并非是开拓者的首选编程措辞,但是也有大约四分之一的人在项目中利用了它。
Python 盛行度超过 Java,成为仅次于 JavaScript 的第二大常用编程措辞
自 2020 年初以来,Python 的盛行程度就已超过 Java,成为仅次于 JavaScript 的第二大被广泛采取的措辞。仅在过去的一年中,Python 社区就增加了 160 万的开拓者,该社区的用户规模约为 1010 万。
Python 的利用率不断上涨和数据科学、机器学习(ML)的兴起有着不可或缺的关系,对此,有近 70% 的机器学习和数据科学工程师表示正在利用 Python。
相较而言,常被用于数据剖析等领域的 R 措辞发展较为惨淡,仅有 17% 的受访者表示在利用。
随着近 20 年的发展,Java 社区现在已有 940 万开拓者
事实上,无论外界对编程措辞的辩论有多么严重,已经发展 20 年的 Java 仍旧是移动运用生态系统的根本,也是 Android 开拓最主要的通用措辞之一。
据调查显示,自 2017 年底以来,有将近有 250 万开拓职员加入了 Java 社区,该社区现在有 940 万开拓职员。
C# 有所下滑,PHP 在 Web 领域仍受欢迎
继 JavaScript、Python、Java 之后,C / C ++(7.3M)、C#(6.5M)、PHP(6.3M)分别排在第四、五、六位置。
个中,C 和 C ++ 是嵌入式和 IoT 项目中用于设备级和运用程序级编码的核心措辞。
其余,该报告指出,在 2019 年第三季度到 2020 年第三季度之间,C# 盛行度有所下滑,不过后来在过去六个月中,C# 用户量在增加了 50 万开拓者之后,C# 超越 PHP,重回排行榜的第五位。
在运用领域上,一贯以来,C# 紧张被用于桌面开拓等维度,近年来,它也成为 AR/VR 和游戏开拓者的选择,究其缘故原由,紧张是由于 Unity 游戏引擎在这些领域正在被采取有关。同时研究职员表示,该措辞在数据科学和移动开拓中“很少利用”,因此如果微软想要连续发展 C#,并让 Xamarin 和 MAUI(多平台运用 UI 框架)得到成功,或还有大量的事情待完善。
另一种编程措辞 PHP,仍旧是仅次于 JavaScript 的 Web 运用程序中第二常用的措辞。一贯以来,PHP 被认为是做事器端运用最为广泛的编程措辞,紧张是由于它被诸如 WordPress 之类的盛行内容管理系统利用,不过,从去年十月到现在,PHP 的用户量仅增长了 20 万,实在发展并不算迅速。
Kotlin 增速迅猛,其背后离不开 Google 的扶持
在过去三年间,Kotlin 从榜单的第 11 位上升到了第 8 位,这种发展趋势很大程度上要归因于 Google 于 2017 年决定将 Kotlin 作为 Android 开拓的首选措辞。
不过,即便如此,想要赶超 Java,Kotlin 仍有很长的路要走。毕竟据调查显示,当前利用 Java 构建运用程序的移动开拓职员是 Kotlin 的两倍。
过去三年间,Rust 用户规模增长了两倍多
作为一门安全性较高的编程措辞,Rust 得到越来越多企业的青睐,包括 Google、亚马逊、微软等等。据报告创造,Rust 在过去三年间用户规模增长了两倍多,从 2017 年第四季度的 110 万开拓职员到 2021 年第一季度的 260 万。
其余,Lua 也是去年增长最快的措辞社区之一。一些从事 AR / VR 和 IoT 的开拓者正在利用 Lua 用以替代 C 和 C++ 等措辞。
Objective-C 正在被淘汰
在 iOS 干系运用开拓中,Swift 目前仍是所有 Apple 平台上开拓的默认措辞,这也导致 Objective-C 逐渐被用户淘汰,据调查显示,它的排名已从第 9 位低落到了第 12 位。
从事机器学习研究的以专业开拓者为主
近几年来,各行各业都开始 All in 人工智能、机器学习等技能。据调查显示,68% 的 ML / AI / DS 工程师正在利用非构造化文本数据,而这也是开拓者最常见的数据类型。不过,音频是最常见的组合数据类型,75-76% 的受访者表示,在处理音频数据的同时,会利用图像、视频或者文本数据。
其次,Tabular 数据类型占比 59%,是第二大最受欢迎的数据类型。
据调查显示,利用图像数据的人中有 52% 也是视频数据用户。这两种数据类型紧张运用于:图像分类和面部识别。而这是推动下一代智能设备发展的两个关键运用领域,也是改进游戏中的增强现实和支持自动驾驶汽车、家庭机器人、家庭安全监控和医学成像技能的主要技能方向。
机器学习、人工智能、数据剖析门槛较高,53% 的受访者是专业开拓者
在 ML / AI / DS 开拓者群体中,53% 的受访者是专业开拓者。做音频数据处理的专业开拓者比例最高,占比 64%。个中,50% 的专业开拓者紧张从事将音频数据运用于文本到语音天生方面的研究。
与之相对应的是,受学生群体欢迎的数据类型包括图像、表格和文本。利用此类数据的开拓职员中,有 18-19% 是学生。其余,由于这些类型的数据不少可以免费得到,因此不少学生在节制了这些数据后,用于研究某一领域。
大规模的数据集没有那么多
如今身处大数据时期,很多人认为 ML / AI / DS 开拓者日常都可以利用非常大的数据集。但是据报告研究表明,非常弘大的数据集可能并不像人们期望的那样普遍存在。
以图像数据集为例,18% 的图像数据集在 50MB 至 500MB 之间,而只有 8% 的图像数据集超过 1TB。
其余,数据集的大小也因专业状态而异。仅有 11% 的专业开拓者利用最多 2 万行的构造化培训数据集,而 43% 的业余爱好者和 54% 的学生仅利用更小型数据集。
论当代开拓者的影响力
得开拓者得天下。据调查显示,有 42% 的一线开拓职员和 64% 的团队 Leader 提出建议或影响他们公司的决策者。
个中,通过将自己的专业能力和履历强有力结合在一起,开拓团队卖力人的角色位于 CTO 和产品经理之间,成为组织中极具影响力的人。
不过,CTO 仍旧是总采购长(在采购(54%)或批准用度(33%))时做出终极选择的决定的人。
值得把稳的是,有 42% 没有领导职位的一线开拓职员表示他们提出建议或影响决策者。据调查数据显示,之以是会有这样征象,是由于在事情中,履历具有至关主要的浸染。通过进一步剖析,数据指出,在只有不到一年履历的开拓职员中,只有 32% 的人表示他们会常常影响决策者,而在拥有六年或以上履历的履历丰富的开拓职员中,有超过 50% 的人在接管采访时表示他们的建议或影响决策者。
小程序开拓已成一定趋势
在本次调查报告中,SlashData 对机器人技能、小程序、打算机视觉等新兴技能进行了追踪调查,终极创造,有一半的开拓职员表示,他们正在研究、学习或对个中的很多技能都感兴趣。个中,小程序是专业开拓者最感兴趣的,而业余爱好者/学生群体对机器人技能比较好奇。
实际上,在过去 12 个月中,小程序的实际运用已经被开拓者广泛认可,采取率提高了四个百分点,这也是新兴技能中,最大的增长之一。
量子打算和自动驾驶汽车在遍及率方面一贯处于低谷期,不过,也仍吸引了一些开拓者的目光。据调查显示,45% 的受访者在利用自动驾驶技能,同时,量子打算的采取率相较过往也有一定的提升,目前占比 43%。
40% 的嵌入式开拓者利用 C++
据数据显示,十分之一的开拓者参与了嵌入式软件开拓。但是,做嵌入式开拓的工程师常日也涉及其他多个领域。在嵌入式开拓者中,Web 运用程序/ SaaS 是最受欢迎的其他领域。
嵌入式软件开拓者写的代码在哪里运行?
与纯软件开拓的模式和方法有着很大的不同,想必不少人非常好奇硬件/嵌入式工程师的日常,他们是否也要写代码?
正常情形下,嵌入式工程师肯定是要写代码的,58% 的开拓者日常写的代码紧张运行在台式机或条记本电脑上,其次,将代码运行在智好手机和平板电脑真个开拓者占比 31%。
据调查报告显示,面向台式机的嵌入式开拓是一个封闭的生态系统,即为台式机环境编写代码的嵌入式开拓职员不太可能将其他开拓环境作为目标。
虽然是将代码运行在台式机/条记本电脑端,但工业运用程序并不是嵌入式软件中的主流,与之比较,有四分之一的嵌入式开拓者紧张为工业打算单元写代码,五分之一的受访者表示,紧张编写网络根本构造干系的代码。只管如此,这些模块仍旧是嵌入式软件开拓的主要组成部分。
40% 的嵌入式开拓者利用 C++
嵌入式软件项目中,C++ 是嵌入式开拓者最常用的编程措辞。其次,C、Python 紧随其后,分别占比 32% 和 30%。
在嵌入式开拓常用的编程措辞排行榜单中,如嵌入式 C(16%)、Arduino(14%)和 Assembly(12%)排名较为靠后,不那么受欢迎,而且这些编程措辞的盛行程度也会受到开拓者所编写代码的环境影响。例如,面向智好手机以外的 CE 设备或者非 x86 硬件架构进行开拓时,有四分之一的开拓者利用了嵌入式 C 措辞。而当为工业打算单元或者网络根本举动步伐编写代码时,Arduino 也颇受开拓者喜好。据调查报告显示,嵌入式工程师比没有嵌入式履历的人更可能参与工业物联网(IIoT)领域。
其余值得把稳的是,一些高等的阐明型编程措辞(Python、Java 和 JavaScript)在嵌入式开拓者的项目中也很受欢迎,这意味不少受访的嵌入式开拓者并非局限于纯硬件开拓层面,而是通过操作系统实现了较为抽象和繁芜的研发。事实上,据调查显示,险些有一半的嵌入式开拓者利用了 Android 设备,这也是阐明型编程措辞在这一领域广泛运用的紧张缘故原由。