Rust 凭什么成为最受欢迎的语言?

Stella981
• 阅读 821

最近这十年,技术的发展可以说日新月异,各个技术领域,新东西层出不穷,像编程语言,近十年就诞生了好几种,比如 Rust、Swift、Dart、TypeScript 等等,跟进什么,放弃什么,这是个选择问题,因为每个人的时间才是最宝贵的。

在选择学习什么编程语言的时候,我们总会思考这些问题:这门语言是否优秀,发展前景如何,这门语言能给我带来多少好处?等等。

这让我想起刚开始学 Rust 的经历,自 2015 年 Rust 发布 1.0 版本,我就开始接触和学习它。我为什么学 Rust?因为 Rust 吸收了很多语言的优秀特性,不论你是从 OOP 还是 FP 转向 Rust,都能看到优秀编程语言的特质。从某种程度上说,掌握了 Rust,就相当于掌握了很多其他语言的精髓。

在学习的过程中,我也发现了编程语言背后的共通性。在对 Rust 有一定掌握后,我不再纠结于该用 OOP 还是 FP 进行抽象,也不必考虑哪种范式好,因为这些范式在手里仅仅只是解决问题的实用工具而已。学完 Rust 以后,再学其他语言也轻松了不少。

如今,数百家科技公司都在用 Rust,其中不乏世界顶级公司,比如苹果、亚马逊、Dropbox、Facebook、Google、微软等等。作为当下唯一一门同时注重安全和性能的语言,Rust 已经连续 4 年在 Stack Overflow 开发者「最受喜爱编程语言」评选中获得第一名了。

但是,Rust 的学习曲线相对陡峭,因为它注重内存安全,会在编译器进行各种检查,所以很多人兴致勃勃地开始学习,却输在了和编译器的斗争上,更别提异步编程这种 Rust 语言的“杀手级”应用特性了。

而且,Rust 相关的学习资料也不多,2018 年那会儿,我看张汉东在社区搞了个《Rust 每日新闻》频道,就跟着看了一段时间。过了一年,哥们又出了本书,叫《Rust 编程之道》,让我对 Rust 语言特性有了更深的理解。

所以,看到他跟极客时间合作了视频课《张汉东的 Rust 实战课》,我第一时间就订阅了。在课程中,他为你系统梳理了 Rust 核心知识点,带你吃透 Rust 异步编程理论基础,掌握异步框架开发工程实践要点,并结合 WebAssembly 带你手把手开发一个 Web 应用,将 Rust 真正用于生产环境。

Rust 凭什么成为最受欢迎的语言?

👆扫码免费试看

早鸟+口令「happy2021」立省 ¥40

原价 ¥129,仅限 50 个名额

张汉东是谁?


上面提到了,他是《Rust 编程之道》作者。

过去十五年,他先后任职于电商、社交游戏、广告和众筹领域的创业公司,经历了国内互联网创业大潮的起落。目前正在教育领域创业,也是一名独立咨询顾问。

自 2015 年 Rust 1.0 稳定版发布后,他就开始学习 Rust。2018 年参与了 Rust 中文社区的运营,创立了「Rust 日报」,见证了过去五年 Rust 社区和生态的发展,也参与了 Rust 语言相关的一些开源项目,并用 Rust 开发了公司内部平台产品。

今年上半年,他作为独立咨询师参与了华为内部的 Rust 项目,为华为引入 Rust 语言。

他是如何讲解 Rust 的?


这门课主要面向对 Rust 语言有一定了解的人群,内容一共七章,分为两大部分,第一部分侧重于 Rust 语言核心概念的讲解,在第二部分,张汉东会手把手带你编写一个轻量级的异步 Web 框架。

第一部分:Rust 语言核心概念讲解,包含了三个阶段:

  • 第一阶段,进一步梳理语法,到 Rust 语言和其他语言的异同,消除 Rust 语言的陌生感。

  • 第二阶段,对 Rust 语言核心概念进行讲解,帮你度过 Rust 语言学习的难关。

  • 第三阶段,侧重于 Rust 异步编程,让你对 Rust 异步编程有一个系统性认知。

第二部分:侧重实战,带你编写一个轻量级异步 Web 框架,包含三个阶段:

  • 第一阶段,构建异步框架基本骨架,这部分是课程的重中之重,学完后你会对 Rust 的一些实践技巧、抽象方式、设计模式等有所掌握。

  • 第二阶段,为异步框架扩展功能——为框架扩展内置的 HTTP Client、TLS 支持、ORM 支持、WebSocket、Redis 和 Cache 支持等基本功能。

  • 第三阶段,使用异步框架和 WebAssembly 技术开发一个小应用。

在最后,张汉东会和大家一起梳理 Rust 语言的使用经验和心得,以及这个异步框架还有什么可以完善和扩展的地方。异步 Web 框架项目充分发挥了 Rust 语言特性,可以帮你系统掌握 Rust 语言精髓,系统提升你的 Rust 异步编程实践能力。

Rust 凭什么成为最受欢迎的语言?

订阅福利


早鸟 + 口令「happy2021」立省 ¥40,

到手仅 ¥89,原价 ¥129。

订阅后生成海报发给好友,

每成功邀请 1 位,得 ¥20 返现。

Rust 凭什么成为最受欢迎的语言?

👆扫码免费试看

温馨提示****:

订阅后可通过「极客时间 App」或「极客时间小程序」我的-已购,学习已订阅的课程。

👇点击「阅读原文」,

输入优惠口令「happy2021」,

立省 ¥40,仅限前 50 人。

本文分享自微信公众号 - Rust语言中文社区(rust-china)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Rust 语言风靡学术界
AWS将Rust编译器团队负责人收入麾下的新闻让开发者们再次聚焦于这门兼具安全性与高性能的编程语言。近日,著名科学期刊Nature刊登了一篇文章,表明Rust语言也正在成为学术界最受欢迎的编程语言之一。2015年,德国生物信息学家JohannesKöster曾用Python编写了一个流行的工作流管理器Snakemake。但是现
Wesley13 Wesley13
3年前
00_设计模式之语言选择
设计模式之语言选择设计模式简介背景设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式(Designpattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
非凸科技 非凸科技
2年前
Rust开发者大会,内容早知道!
在量化交易中,总会发现有一部分「回撤」是在策略意料之外的,如进程闪退、上下游出问题等。那么,Rust在量化场景中的应用,相较于C,对回撤产生了什么样的影响呢?非凸科技量化策略负责人将从“自身系统稳定”与“高效应对风险”两个方面进行全面解答,欢迎锁定「本周日14:00」—分论坛「Rust商业实践」!时间:7月31日(本周日)参会:http://rust
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这