最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

编程语言趋势预测:Rust 将成为主流,React 继续统治编程世界

  • 2019-08-06
  • 本文字数:2329 字

    阅读完需:约 8 分钟

编程语言趋势预测:Rust将成为主流,React 继续统治编程世界

在编程语言的世界中,并非所有语言都能保持常青。实际上,随着新生代开发者转向新的编程语言和框架,很多编程语言的命运也开始出现不确定性。在未来两年内,整体采用情况又会出现哪些变化呢?


本文,Indrek Lasn 对未来两年内部分编程语言的可能趋势进行了预测,他同时表示:自己也有可能完全错了,如果真是这样,请不要引用本文的内容。但他认为,这些都是将会发生的事情。诚然,人并不能预测未来,但能做出有根据的猜测。


“预测未来最好的方法就是去创造未来。”

― Abraham Lincoln(第十六任美国总统)

Rust 将成为主流编程语言


Rust 是一种多范式系统编程语言,专注于安全性,尤其是安全并发性。Rust 在语法上与 C++ 类似,但它的设计目的是在保持高性能的同时,提供更好的内存安全性。


我们已经见证了过去四年来,Rust 编程语言的强劲增长。我相信到 2020 年,Rust 将会正式成为主流编程语言。虽然什么是主流有待自我诠释,但我相信,学校将会开始在课程中引入 Rust。此举将造就一批新的 Rust 工程师。



2019 年 StackOverflow 调查中最受欢迎的编程语言。


Rust 已经证明,它是一种伟大的编程语言,充满了活力。除此之外,Rust 还有一个活跃的社区。随着 Facebook 使用 Rust 开发了 Libra 项目,这成了 Rust 有史以来最大的项目,我们即将看到 Rust 真正取得成就。


如果你想学习一门新的编程语言,我强烈建议你学习 Rust。如果你想了解更多的信息,我会推荐这本书 The Rust Programming Language (Covers Rust 2018) 方便你开始学习 Rust。进击吧,Rust!

GraphQL 采用率将持续增长


GraphQL 的 Google 趋势。


随着我们的应用程序变得越来越复杂,数据消费需求也在日益增长。我是 GraphQL 的超级粉丝,我已经用过很多次了。我认为,与传统的 REST API 相比,GraphQL 是一个更好的获取数据的解决方案。


虽然典型的 REST API 需要从多个 URL 加载,但 GraphQL API 可以只需一个请求即可获得应用程序所需的所有数据。



在许多不同的环境和语言中,各种规模的团队都使用 GraphQL 来支持移动应用程序、网站和 API。



GraphQL的使用者

渐进式 Web 应用是一股不可忽视的力量

渐进式 Web 应用(Progressive Web Apps,PWA)是一种通过结合 Web 的最佳特性与移动应用的顶级品质相结合来构建应用的新方法。


比起特定于平台的本地开发人员,现在更多的是 Web 开发人员。一旦大公司意识到他们可以重新利用 Web 开发者来开发先进的 Web 应用,我怀疑这样一来,将会看到一波巨大的 PWA 浪潮。


不过,大公司需要一段时间才能适应,这对技术来说是很正常的。渐进式部分通常倾向于前端开发,因为主要是与 Web Workers API(本地浏览器 API)进行交互。


Web 应用则不会有任何进展。越来越多的人开始认识到,编写一个单一的交叉兼容的 PWA 可以减少开发的工作量,并节省大量的时间,赚到更多的金钱。



PWA 的 Google 趋势。

WebAssembly 的未来将更加光明


WebAssembly


WebAssembly(缩写 Wasm)是基于堆栈的虚拟机的二进制指令格式。Wasm 被设计为用于编译 C、C++ 和 Rust 等高级语言的可移植目标。Wasm 还支持在 Web 上部署客户端和服务器应用程序。PWA 也可以使用 Wasm。


换句话说,WebAssembly 是一种将 JavaScript 技术与更高级的技术相结合的方法。如果你要在 React 应用中使用 Rust 图像处理库,WebAssembly 允许你可以这样做。


性能是关键,随着数据量的增长,保持良好的性能将会变得更加困难。而这就是 C++ 或 Rust 的低级库开始发挥作用的时候。我们将会看到更大的公司采用 WebAssembly 和 snowball。

React 将继续统治编程世界


JavaScript 前端库


React 是迄今为止最流行的前端开发 JavaScript 库,这也是有原因的。构建 React 应用很有趣,也很简单。就构建应用的经验而言,React 团队和社区都做得非常出色。


我曾使用过 Vue、Angular 和 React,我认为它们都是非常出色的框架。请记住,库的目标是完成工作,所以要少关注编程风格,多关注如何把工作做好。争论什么框架是“最好的”一点意义都没有。一旦选定一个框架之后,就将你所有的精力都用在构建任务上。


如果你有了灵感,请看一下这篇博文:The Secret to Being a Top Developer Is Building Things! Here’s a List of Fun Apps to Build! ,从文中挑选一些项目,就开始构建吧!

始终在 JavaScript 上下注

我们可以自信地说,2010 年是 JavaScript 的十年。我们已经目睹了 JavaScript 的大幅增长,而且到现在,发展势头似乎并没有放缓。


JavaScript 开发人员被称为“不是真正的开发人员”,从而受到了一些不公待遇。实际上,JavaScript 是任何大型科技公司的核心,如 Netflix、Facebook、Google 等等。因此,JavaScript 作为一种编程语言,与任何其他编程语言一样合法。要以身为 JavaScript 开发者为荣。毕竟,一些最炫酷、最具创新性的东西是由 JavaScript 社区创建的。


几乎所有的网站都在某种程度上利用了 JavaScript。现在有多少个网站?答案是:高达几百万!


因此,现在对 JavaScript 开发者来说,这是前所未有的最好时机。薪水在上涨,社区也一如既往充满了活力,而且就业市场巨大。如果你对学习 JavaScript 很感兴趣,那么你可以阅读 You Don’t Know JS 系列丛书,这是非常棒的读物。



随着时间的推移,顶级语言的变迁


我之前写过一篇关于 JavaScript 为何如此受欢迎的文章,你可能也应该读一读这篇文章:What Makes JavaScript Popular?



顶级开源项目


作者介绍:


Indrek Lasn,Newly 联合创始人,信奉“简单很重要”的哲学理念。是 Cleversonder 和 Newly 的编辑,同时也是创意、技术、生产力和创业方面的资深作家。Twitter 账户是 @lasnindrek


原文链接:


本文2020 and Beyond Programming Trend Predictions最初发布于 Medium 博客,经原作者 Indrek Lasn 授权由 InfoQ 中文站翻译并分享。


2019-08-06 10:3833282
用户头像

发布了 526 篇内容, 共 240.8 次阅读, 收获喜欢 1543 次。

关注

评论 5 条评论

发布
用户头像
rust复杂是事实,但rust的其他优势太明显了,成为主流只是时间问题。react其实和vue差距其实在缩小,从文章的角度来说,其实新vue更优秀。wasm其实挺好的,就是未来还不明朗
2022-11-15 12:45 · 浙江
回复
用户头像
该评论已删除
2019-08-13 17:33
回复
同意
2019-08-14 17:08
回复
用户头像
有很多文章不认为 rust 能成为编程主流,其中有一点指的是编程语法太过复杂
2019-08-08 09:29
回复
确实是,很多文章都在强调Rust的复杂性,难道是因为Facebook使用Rust开发了Libra项目,才将这项技术推向高潮的?
2019-08-08 10:01
回复
用户头像
预测年年有啊~每次评论区都会出现各种不同的声音,今年我支持下Rust
2019-08-07 16:12
回复
没有更多了
发现更多内容

小白也能看懂!教你如何快速搭建实用的爬虫管理平台

华为云开发者联盟

Python Docker jenkins

划重点!DWS开发的五大要点

华为云开发者联盟

数据库 sql DWS

区块链系统面临哪些风险以及有哪些防范措施

CECBC

区块链

云上看警博会黑科技,得益于华为云打造的“云之盾”

脑极体

基于区块链的区域股权市场创新试点

CECBC

区块链

阿里云在应用扩缩容下遇到的挑战与选型思考

阿里巴巴云原生

阿里云 Kubernetes 容器 云原生

anyRTC 11月SDK更新

anyRTC开发者

flutter uni-app WebRTC RTC sdk

软件架构指南

码语者

软件架构

架构训练营 - 第10周课后作业 - 学习总结

Pudding

LeetCode题解:455. 分发饼干,贪心for循环,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

1. 揭秘Spring类型转换 - 框架设计的基石

YourBatman

Spring Framework 类型转换 Converter

架构师训练营 - 第 10 周课后作业(1 期)

Pudding

架构师训练营 - 第 11 周课后作业(1 期)

Pudding

Jenkins使用ansible时出现!unreachable错误

Griffenliu

【经验分享】打破CMDB认知误区,掌握建设关键!

嘉为蓝鲸

运维 运维自动化 数据可视化 CMDB 配置信息

前端: 如何快速将应用封装成js-sdk?

徐小夕

Java 大前端

优秀商业可视化大屏(BI)设计演示

Marilyn

UI 商业智能

阿里技术专家熬夜一个月肛出内部“微服务学习笔记”,太完美了

小Q

Java 学习 编程 面试 微服务

京东11.11大促背后,那些系统架构经历了些什么?

京东科技开发者

数据库 云计算 云服务

盘点c++几种常见的设计模式及具体实现

linux大本营

c++ Linux 后台开发

消防物联网,为逆行英雄守住第一道生命线

华为云开发者联盟

物联网 控制 消防

京东成立探索研究院,打造产业数智化首个源头性科技高地; AI 论文:让机器像人类一样感知三维真实世界

京东科技开发者

人工智能 云计算

这次我让你彻底弄懂 RESTful

yes

RESTful

学Linux到底学什么?未来职业到底是怎么样的?

Linux服务器开发

Linux 后端 Linux服务器 底层应用开发 web服务器

shell脚本的使用该熟练起来了,你说呢?(篇二)

良知犹存

Shell

完了!这57道面试题(美团、BAT、携程),我咋一个都不会?

比伯

Java 程序员 架构 面试 计算机

一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?

华为云开发者联盟

sql jdk OOM

金融科技带来套利?专家认为监管应关注平台垄断、权力滥用等问题

CECBC

金融科技

面试官问我:Object o = new Object() 占用了多少个字节?

moon聊技术

JVM Java虚拟机 JVM虚拟机原理

写在日更之前,持续书写,见证文字的力量

boshi

随笔 随笔杂谈

【Linux开发】编写属于你的第一个Linux内核模块

程序员小灰

c++ Linux 后台开发 架构师 服务器开发

编程语言趋势预测:Rust将成为主流,React 继续统治编程世界_语言 & 开发_Indrek Lasn_InfoQ精选文章