千万别学 Rust ?

Posted 码农翻身

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了千万别学 Rust ?相关的知识,希望对你有一定的参考价值。

我刚入行的时候,用C和C++做开发,内存管理把人折磨得死去活来。后来转到Java阵营,没有指针,自动内存管理,可以可劲地new 对象,实在是爽, 但是中间隔了一层虚拟机,效率还是有不少损失,我就想,如果有一门语言,可以像C/C++那样贴近硬件,又不用操心内存,那就太好了。

没想到过了几年,Rust横空出世,还真是满足了我这个愿望。 

Rust 这个新语言,很多人可能都听过,但是没用过。实际上,早从 16 年起,Rust 已经连续六年霸榜,被 Stack Overflow 评选为最受开发者喜爱的语言。国外数百家科技公司都已经在使用 Rust了,比如苹果、亚马逊、Facebook、Google、微软等等。

截止 2021 年,主流的互联网公司都把 Rust 纳入主力语言,比如开发操作系统 Redox/Fuchsia、高性能网络 Tokio、应用的高并发后端 TiKV,甚至客户端软件本身(飞书)。Rust 除了在其传统的系统开发领域,如操作系统、设备驱动、嵌入式等方向高歌猛进之外,还在服务端高性能、高并发场景遍地开花。

看现在 Rust 的生态发展情况,国内这两年都开始应用起来了,例如阿里、华为、头条等,Rust人才正是抢手的时候(工资相当高)

 

当然,它优点确实很多。不夸张地说,用过 Rust 的人都说各种好。

 

首先 Rust 没有历史包袱,采百家之长。从语言的内核看, Rust 重塑了对基本概念的理解。比如它清晰地定义了变量的生命周期,不仅摒弃 GC 这样的内存和性能杀手,还不用关心手动内存管理,让内存安全和高性能兼得。

 

其次,它表达能力一流,但性能丝毫不输于 C/C++,表达力和高性能二者兼得

可以说,掌握了 Rust,就相当于掌握了很多其他语言的精髓;把 Rust 引入你的技术栈,也让自己职业生涯多一门面向未来的利器。

用起来就有多香,学起来就有多难。Rust 也是公认的难入门,学习曲线很陡峭。

 

除了普遍觉得不好学的所有权和生命周期以外,不同语言背景还会有不同的难点:

  • C 开发者,难点是类型系统和泛型编程;

  • C++ 开发者,难点主要在类型系统;

  • Python/Ruby/javascript 开发者,难点在并发处理、类型系统及泛型编程;

  • Java 开发者,难点在异步处理和并发安全的理解上;

  • Golang 开发者,难点在类型系统和泛型编程。

 

而且说真的,中文的 Rust 资料不多,不适合入门,也不系统,比较有名的是张汉东的《Rust编程之道》,难度系数比较大,我啃得也很艰难。后来看到和张汉东一起研究 Rust 的另一位大佬「陈天」,很早就关注了他的公众号,看过不少他分享的 Rust 的入门难点解读,讲得很透。

 

最近看到他在极客时间写了个专栏《陈天 · Rust 编程第一课》,第一时间就订阅了。陈天结合了他 18 年深度使用多种语言的经验,输出了一份「Rust 学习路径图」

 

 

整个专栏由浅入深,对比多种语言,带你攻克 Rust 编程 10 大难点,有 100+ 原理图,详解 Rust 设计理念。最后通过 4 个项目实操训练,理论与实战两手抓,真正让你掌握 Rust 开发精髓。

早鸟 + 口令「Rust66666 」立省 40 元

到手仅 ¥89,新人首单仅 ¥59.9

 

再说说作者「陈天」

陈天,现任北美最大的免费流媒体服务TubiTV 的研发副总裁,18 年始终致力于高性能系统的研发工作。

 

经验丰富,涵盖网络协议、网络安全、服务端架构、区块链以及云服务等诸多热门领域,他深度使用过很多形态和机理都大相径庭的开发语言:

 

  • 用 C 和汇编打造过各种网络协议,维护过嵌入式操作系统 ScreenOS;

  • 用 Python/Javascript 撰写过途客圈;

  • 用 Node.js/Elixir 打造过 TubiTV 高并发的后端核心;

  • 用 Elixir 打造过区块链框架 Forge;

  • 也研究过 Haskell/F#、Clojure/Racket、Swift、Golang 和 C#等其他语言。

 

可以说,他对各个语言都了如指掌,这种资历的大佬能出来开课,把自己独特的 Rust 学习方法和经验共享出来,真的很难得。

Rust 高效学习路径

有一点不得不提,承担着「Rust 第一课」的使命,陈天讲得通俗易懂,每一讲都遵循「表层知识 → 解读源码 → 底层设计」的思路力求帮你理解 Rust 繁多概念背后的设计逻辑。

 

具体来看,整个专栏分成 5 个模块:

 

1.前置知识篇 

回顾软件开发的基础概念:堆、栈、函数、闭包、泛型、同步和异步等。

 

2.基础知识篇

深入浅出地探讨 Rust 变量的所有权和生命周期。之后围绕所有权和生命周期,来讨论 Rust 的几大语言特性:函数式编程特性、类型系统、泛型编程以及错误处理。

 

3.进阶篇

重点介绍 Trait、Trait Object、泛型、Unsafe Rust、 FFI,用 Rust 为自己的主力语言在关键路径上提供更高性能。

 

4.并发篇

带你从底层的 atomics 一路向上,历经 Mutex、Semaphore、Channel,直至 actor model,探索不同的并发手段。

 

5.实战篇

学习如何把 Rust 应用在生产环境中,以及如何用 Rust 解决实际问题。

有多干货,来看看目录吧:

 

Rust 是入门难,贵在坚持,所以极客时间发起了「30 天掌握 Rust 基础语法」打卡活动,订阅后可免费参与。

预计 2000 人,在这个群里有各个领域优秀的程序员,大家一起讨论干货,交流技术,互相监督,学习成长。陈天在群里,带着大家一起体会到 Rust 的设计魅力。30 天,4 阶段攻克 Rust 基础语法,瓜分 10W 奖励金。

再强调一点

限时拼团 + 口令「Rust66666」

到手 ¥89,立省 ¥40

如果你是新人,只需 ¥59.9

点击「阅读原文」,掌握“Rust 开发" 这个大技能。

以上是关于千万别学 Rust ?的主要内容,如果未能解决你的问题,请参考以下文章

千万别学我在家实践STEAM教育,真的太费妈了

千万别再学Python了?Python没用了?马上就要被淘汰啦?

千万别再学Python了?Python没用了?马上就要被淘汰啦?

#yyds干货盘点#千万别再用了,这些加密算法

Redis 中 scan 命令踩坑,千万别乱用!!

Mybatis 有坑,千万别踩!