近日,O’Reilly 出炉了“2022 技术趋势”报告。该报告数据展示了当前在 AI 技术推动下为行业带来的巨大转变,让我们对接下来新技术趋势带来的全新思维方式及其意义,以及未来塑造软件开发和软件架构的大变化有了进一步了解。
该报告通过对 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”安全合规话题开始被重视
过去的一年里,新闻报道中经常会出现“安全”相关的话题,比如不少勒索软件对重要基础设施、医院及企业进行的“毁灭性”攻击,比如在开源软件和商业软件里出现的供应链攻击等等。
因此,在该调查报告中,我们也看到关于安全领域特定主题方面的内容有了大幅增加。其中,勒索软件相关内容的使用率几乎翻了 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%。
以上增长反映了一个“规律”:小主题较容易有大量的增长,而对于一个已经占据主导地位的主题来说要困难得多。比如 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++ 主导游戏编程,当然它也会支配嵌入式系统,所以有可能投入到了蓬勃发展的“物联网”或微服务里面。
同时,作为所有 Unix 和 Linux 实用程序的开发语言,C 语言如今的地位可能正在转向 Go 和 Rust 等较新的语言上。
数据显示,Go 语言内容的使用率在去年上升了 23%,Rust 的使用率上升了 31%(预计,Rust 语言还会继续增长),该语言反映了关于内存管理和并发性的全新思维方式。当然除了为并发性提供一个干净且相对简单的模型外,Go 语言也还代表着语言的一个转变,随着每一个新版本的发布,这些语言变得越来越复杂。
查看更详细的报告: