写点什么

编程语言趋势预测: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:3834209
用户头像

发布了 536 篇内容, 共 275.6 次阅读, 收获喜欢 1561 次。

关注

评论 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
回复
没有更多了
发现更多内容

什么是数字货币、数字金融 和区块链?

CECBC

分布式限流 redission RRateLimiter 的使用及原理

王小凡

Java redis 分布式 SpringCloud 框架

重写并自定义依赖的原生的Bean方法

了不起的程序猿

java程序员 Java 开发 SpringCould

十月阿里社招Java面试题:数据库+分布式+高并发+JVM+Spring

程序知音

Java 阿里巴巴 程序员面试 后端技术 八股文

一文读懂Elephant Swap,为何为ePLATO带来如此高的溢价?

鳄鱼视界

面试官:Redis中的布隆过滤器与布谷鸟过滤器,你了解多少?

Java全栈架构师

Java redis 程序员 面试 后端

干货来袭!2022阿里巴巴全新出品Spring全家桶全栈笔记(终极版)奉上

程序员小毕

Java spring 程序员 面试 微服务

4位资深专家多年大厂经验分享出Flink技术内幕架构设计与实现原理

程序员啊叶

Java 编程 程序员 架构 java面试

Kubernetes应用管理深度剖析

Bob

云原生 容器化 后端技术 Kubernetes 集群

区块链,得这样练

CECBC

备战金九银十!2022面试必刷大厂架构面试真题汇总+阿里七面面经+架构师简历模板分享

Java永远的神

Java 程序员 面试 程序人生 简历模板

《SpringBoot 手册》:国际化组件 MessageSource

看山

springboot MessageSource

数据中台建设(五):打破企业数据孤岛和提取数据价值

Lansonli

数据中台 7月月更

五面阿里,终拿offer,不明白为什么面试官总喜欢问Java这种问题

程序知音

Java 阿里 后端技术 八股文 Java面试八股文

鸿湖万联扬帆富设备开发板正式合入OpenHarmony主干

科技汇

Microsoft SQL服务器被黑客入侵 带宽被窃取

郑州埃文科技

microsoft 数据安全 代理IP

EA中的业务对象和业务实体你分得清吗?

涛哥 数字产品和业务架构

企业架构 TOGAF Archimate

想用K8s,还得先会Docker吗?其实完全没必要

程序员啊叶

Java 编程 程序员 架构 java面试

上天入地Hadoop——使用高性能分布式技术完成大数据处理任务

程序猿阿宇

大数据 架构 Java 面试 java程序员 编程、

元宇宙改变人类工作模式的四种方式

CECBC

区块链的诞生是为了解决——“去中心化的协同”这个问题

CECBC

历时两月,终拿字节跳动offer,算法面试题分享「带答案」

程序知音

Java 字节跳动 算法 程序员面试 八股文

[ Kitex 源码解读 ] 熔断机制是如何实现的

baiyutang

Go 微服务 微服务架构 kitex CloudWeGo

时序数据库在船舶风险管理领域的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

如何写一份高可读性的软件工程设计文档

C++后台开发

数据库 软件工程 后端开发 C/C++后台开发 C/C++开发

新一代开源免费的终端工具,太酷了

程序知音

蓦然回首,“工厂、构造、原型”设计模式,正在灯火阑珊处

掘金安东尼

JavaScript 前端 7月月更

北京突然宣布,元宇宙重大消息

CECBC

基于MySQL数据库,Redis缓存,MQ消息中间件,ES搜索引擎的高可用方案解析

Java永远的神

Java 数据库 redis ES 消息中间件

横向对比5种常用的注册中心,无论是用于面试还是技术选型,都非常有帮助

程序员小毕

Java 程序员 面试 微服务 后端

手慢无!阿里亿级流量高并发系统设计核心原理全彩笔记现实开源

Java全栈架构师

Java 面试 程序人生 分布式锁 架构师

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