#Python#Python独领风骚,AI热情有所降温|2020 年技术趋势解读( 二 )


本文插图

图3 2019年O'Reilly在线学习平台上顶级编程语言的搜索频率(左) , 以及每种语言的变化情况(右)
#Python#Python独领风骚,AI热情有所降温|2020 年技术趋势解读
本文插图

图4 O’Reilly在线学习平台上编程语言的使用情况:2019年使用率最高的编程语言(左) , 每种编程语言的变化情况(右)
这与我们在其他地方观察到的情况一致:在AI和ML的带动下 , Python获得了更多关注 。 Python与R一起成为了数据分析最常用的语言 。 线性以及逻辑回归、决策树、朴素贝叶斯、k均值、梯度递增 , Python库几乎可以满足开发人员或数据科学家的所有需求 。 (Python库在处理工程数据方面同样给力 。 )
有趣的是 , R语言本身的使用呈继续下降趋势 。 在2017-2018年间 ,O'Reilly在线学习平台中与R语言相关的使用量下降了8% , 2019年同比下降了6% 。 R与Scala(2018-2019年的使用率下降了33% , 2017-2018年的使用率下降了19%)同病相怜 , 都成为了Python的牺牲品 。 似乎有人非常不解R的使用下降与AI和ML的热度 , 其实我们需要考虑两个因素:首先 , ML和统计不是一回事;其次 , R并非主要面向开发人员 。 R语言的设计初衷是面向学术、科学以及最近的商业用例 。 随着统计信息和相关技术在软件开发中变得越来越重要 , 越来越多的程序员在编程中也会遇到统计问题 。 因此 , 他们会舍R而求Python 。
有些编程语言的发展呈上升趋势 , 而有些则呈下降趋势 。 在上图中 , 与Java相关的使用在2018年-2019年间下降了13% , 这代表了Java的发展趋势吗?不一定 , 因为2017年-2018年间 , 与Java相关的搜索量增长了5% 。 另一方面 , Java的堂兄JavaScript似乎也在下降 。 没错 , 两者没有直接的关系 , 但人们对JavaScript的热情似乎确实在减弱:在O-Reilly在线学习平台中 , 与JS相关的使用率在2017-2018年间下降了4% , 在2018-2019年间下降了7% 。 微服务架构可能会加速其他语言(例如Go、Rust和Python)在Web方面的发展 。
在基于JavaScript的Web应用程序框架中 , 2018年-2019年间 , React的受欢迎程度有所提升(使用率增加了4%) , 而Angular有所下滑(使用率减少了12%) 。 React和Angular的竞争对象Vue.js在2017-2018年间的使用量几乎翻了一番(+97%) , 之后在2018-2019年保持稳定增长(使用率增加了8%) 。
Go的发展呈现了另一种趋势 , 继使用量连续数年快速增长(包括2017-2018年增长了14%)之后 , 去年的增长速度有所放缓(使用率仅增长了2%) 。 然而 , 如今Go在最常用的编程语言中排行第六 , 仅次于Python、Java、.NET和C++
#Python#Python独领风骚,AI热情有所降温|2020 年技术趋势解读
本文插图

软件体系结构、基础设施和运营
云原生设计是一种思考软件体系结构的新方法 。 然而 , 向云原生的转变不仅对软件架构有影响 , 而且对基础设施和运营也有影响 。 云原生设计利用新的设计模式(微服务)以及对现有技术(服务编排)的改动 , 以在所有环境、云或本地环境中实现类似于云的灵活性和弹性 。 O’Reilly Radar通过术语“下一代体系结构”来描述这种转变 。
在这种背景下 , 我们必须掌握软件体系结构、基础设施和运营中的一切动向 。 在通用软件架构主题中 , 有关容器使用在我们的2019年分析中有所增加 , 增长了17% 。 虽然远远落后于2018年的增长率(2018年使用率增长了56%) , 但仍然令人刮目相看 。 Kubernetes已成为云原生设计模式下协调服务和微服务的实际解决方案 。 Kubernetes的使用量在2018年激增了211% , 2019年增长了40% 。 Kubernetes的父主题——容器协调器也实现了强劲的使用量增长:2018年为151% , 今年为36% , 这几乎可以全部归功于Kubernetes本身 。


推荐阅读