2022 技术趋势报告:C++ 重新“受宠”| “data”、“Python”、“Java”上榜热搜词 | 安全话题备受关注

简介: 2022 技术趋势报告:C++ 重新“受宠”| “data”、“Python”、“Java”上榜热搜词 | 安全话题备受关注

近日,O'Reilly 出炉了“2022 技术趋势”报告。该报告数据展示了当前在 AI 技术推动下为行业带来的巨大转变,让我们对接下来新技术趋势带来的全新思维方式及其意义,以及未来塑造软件开发和软件架构的大变化有了进一步了解。

image.png

该报告通过对 2021 年 1 月 - 9 月的四种特定类型的数据进行了研究(搜索查询、向 O’Reilly Answers 提出的问题、按 title 列出的资源使用情况、按主题分类法列出的资源使用情况),并将其与 2020 年前 9 个月的数据行对比后最终得出了有趣的结论。

报告结果显示,随着勒索软件的“盛行”,“data”数据及安全话题正成为开发者关注的焦点,而 IoT 及游戏开发的兴起则重新激起了开发者对 C++ 编程语言的兴趣。同时 Go 和 Rust 等较新的语言发展迅猛,也正在“威胁”着 C 语言的地位。

热搜词: “data”、“Python”、“Java”上榜

一个令人惊讶的现象是,很多用户会选择直接从题库里将问题输入 O’Reilly Answers (该平台的搜索引擎)搜索栏。这也很好的解释了为什么 O’Reilly Answers 里面经常会出现一些高频热搜问题。

比如“什么是动态规划?(What is dynamic programming?)”这个问题就会经常出现在题库中。当然,这个问题仅次于“如何编写好的单元测试用例?(How do I write good unit test cases?)”该问题在题库中也很热门。

该热搜数据显示,“data”数据仍然是用户最关注的重要话题之一。热搜词前五的单词分别是:“data”、“Python”、“Git”、“test”和“Java”(能在上面两个热门问题里看到热搜词top 15 / 20 里的大部分单词。)而与“数据”一词最常出现的词组是“数据治理”(其次是“数据科学”“数据分析”和“数据工程”),看得出,“数据治理”将会是接下来值得关注的话题。

另外,Python 和 Java 依旧是该平台上的两大编程语言,不过此次数据显示今年关于 Python 和 Java 的内容使用率略有下降,而关于 Rust 和 Go 的内容使用率正在快速增长(尽管相对较小)。

其中,“Kubernetes”及“AWS”、“Azure”和“cloud”排在热搜榜前 1%,其中“Kubernetes”稍落后于“Java”和“Python”,但领先于“Golang”(前 2%)和“Rust”(4%),“GCP”和“谷歌云”则位列各自榜单的前 3%。关于 Kubernetes 及 “AWS”、“Azure”和“cloud”的问题出现的如此频繁,反映了容器编排对现代运营的重要性,当然也体现了目前用户对云平台有着较高的关注度。

而关于加密货币的词汇如“Bitcoin” “Ethereum” “crypto” “cryptocurrency”及“NFT”(“比特币”、“以太坊”、“加密”、“加密货币”、“NFT”)在热搜榜单上排名稍微靠后,但仍排在榜单前 20% 的位置。

该报告中的数据还展示了在过去一年里用户实际阅读、观看或参与了哪些内容。

勒索软件盛行:“Secure”安全合规话题开始被重视

过去的一年里,新闻报道中经常会出现“安全”相关的话题,比如不少勒索软件对重要基础设施、医院及企业进行的“毁灭性”攻击,比如在开源软件和商业软件里出现的供应链攻击等等。

image.png

因此,在该调查报告中,我们也看到关于安全领域特定主题方面的内容有了大幅增加。其中,勒索软件相关内容的使用率几乎翻了 3 倍(增长 270%)。关于隐私的内容上升了 90%;threat modeling 上升了 58%;identity 上升了 50%;应用程序安全性提高了 45%;恶意软件上升了 34%;zero trust 上升了 23%。尽管“供应链安全”尚未成为一个安全话题,但有关供应链管理的内容的使用率也已经增长了 30%。

其中,identity 相关内容的增加是一个特别重要的标志:由于 identity management (身份管理)是 zero trust 的核心,在 zero trust 中,系统的组件需要对访问它们的所有步骤进行身份验证,因此了解 identity management是实现 zero trust 的关键一步。

同时,其他内容的搜索量也有增加:数据显示,网络安全话题增长了 15%,而标题中带有“安全”或“网络安全”字样的物品的浏览量分别增加了 17% 和 24%。尽管与勒索软件和隐私等特定主题相比,这些增长相对较小,但就数据来看,“安全”标题的使用在很大程度上领先于所有其他安全主题。

该数据的另一个重要迹象是,有关法规遵从性和治理方面的内容使用率显著上升(分别为 30% 和 35%)。此前这类内容可能会比较难被技术受众接受,但现在这种情况可能正在改变。

如今,数据和隐私话题会经常涉及到法规遵从性和治理,这其实是因为它们才是安全管理的核心问题。该话题热搜数据的增长也表明,人们越来越感觉到科技行业已经搭上了监管的顺风车,而且这辆顺风车即将“到站”。无论是股东、用户还是政府机构要求问责,企业都将承担责任。而这一趋势,也在此次调查报告的数据中较客观地展示了出来。

软件开发热词:软件体系结构、Kubernetes 和微服务

软件开发方面的热词中,软件体系结构、Kubernetes 和微服务是 2021 年用户搜索实用最多的三大主题词,分别同比增长为 19%、15% 和 13%, API gateway 搜索数据则大长 218%。

image.png

以上增长反映了一个“规律”:小主题较容易有大量的增长,而对于一个已经占据主导地位的主题来说要困难得多。比如 API 网关内容的浏览量约为软件体系结构或Kubernetes 内容的1/250。当然 API网关 218% 的增长是一个非常强烈的信号。

另外,云原生应用的搜索使用量同比增长为 54%,约占架构或 Kubernetes 的1/8;容器内容(containers )的使用量出现了 137% 的显著增长,而 Docker 的增长率较低,但使用率较高,这并非偶然。事实证明,容器是打包应用程序和服务的最佳方式,因此它们独立于平台、模块化,并且易于管理,未来这个趋势也将值得关注和探索。

当我们谈论在云中运行的微服务时,我们究竟在谈论什么?——分布式系统。该报告数据也恰好证实了这一点:在过去一年中,分布式系统的内容使用率上升了 39% 。而相关主题复杂系统和复杂性也出现了显著增长(157%和8%)。同样值得注意的是,几年来一直不受欢迎的设计模式又回来了:使用率非常稳定,同比增长19%。

当然,量子计算仍然是人们感兴趣的话题,但浏览量仍然很小,同比增长为 39%。尽管目前已经有了一些原始的量子计算机,但能做实际工作的计算机还需要几年的时间。

编程语言:C++、Go、Rust 热度持续增长

该数据显示,在编程语言方面,过去的一年里 C++ 搜索使用量显著增长了 13%,使用率大约是 C 语言的两倍(使用 C 的内容下降了 3%)。众所周知,C++ 主导游戏编程,当然它也会支配嵌入式系统,所以有可能投入到了蓬勃发展的“物联网”或微服务里面。

image.png

同时,作为所有 Unix 和 Linux 实用程序的开发语言,C 语言如今的地位可能正在转向 Go 和 Rust 等较新的语言上。

数据显示,Go 语言内容的使用率在去年上升了 23%,Rust 的使用率上升了 31%(预计,Rust 语言还会继续增长),该语言反映了关于内存管理和并发性的全新思维方式。当然除了为并发性提供一个干净且相对简单的模型外,Go 语言也还代表着语言的一个转变,随着每一个新版本的发布,这些语言变得越来越复杂。

......

点击查看更详细的报告:

https://www.oreilly.com/radar...

c++

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
8天前
|
存储 NoSQL Java
使用Java和Spring Data构建数据访问层
本文介绍了如何使用 Java 和 Spring Data 构建数据访问层的完整过程。通过创建实体类、存储库接口、服务类和控制器类,实现了对数据库的基本操作。这种方法不仅简化了数据访问层的开发,还提高了代码的可维护性和可读性。通过合理使用 Spring Data 提供的功能,可以大幅提升开发效率。
54 21
|
2月前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
83 6
|
3月前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
298 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
3月前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
67 2
|
3月前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
69 4
|
4月前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
64 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
4月前
|
存储 Java API
如何使用 Java 记录简化 Spring Data 中的数据实体
如何使用 Java 记录简化 Spring Data 中的数据实体
56 9
|
4月前
|
C++ Python
探索Python与C/C++混合编程的艺术
探索Python与C/C++混合编程的艺术
80 1
|
4月前
|
安全 Java 编译器
Java 泛型深入解析:类型安全与灵活性的平衡
Java 泛型通过参数化类型实现了代码重用和类型安全,提升了代码的可读性和灵活性。本文深入探讨了泛型的基本原理、常见用法及局限性,包括泛型类、方法和接口的使用,以及上界和下界通配符等高级特性。通过理解和运用这些技巧,开发者可以编写更健壮和通用的代码。
|
5月前
|
安全 Java API
java安全特性
java安全特性
38 8

热门文章

最新文章