Rust:香是真的香,不同学习者却各有各的难 | 极客时间

2022 年 11 月 15 日 InfoQ

作者 | 陈天

你好,我是陈天,目前是北美最大的免费流媒体服务 TubiTV 的研发副总裁。

十八年以来,我一直从事高性能系统的研发工作,涵盖网络协议、网络安全、服务端架构、区块链以及云服务等方向。

因为喜欢使用合适的工具解决合适的问题,在职业生涯的不同阶段,我深度使用过形态和机理都非常不同的开发语言。

  • 用 C 和汇编打造过各种网络协议;

  • 用 Python/Javascript 撰写过途客圈;
  • 用 Node.js/Elixir 打造过 TubiTV 高并发的后端核心;
  • 用 Elixir 打造过区块链框架 Forge;
  • 也研究过 Haskell/F#、Clojure/Racket、Swift、Golang 和 C#等语言。 

现有的编程语言非常多,大家都习惯了要在性能、表达力和内存安全之间取舍,直到 Rust 横空出世。

我是从 18 年开始关注 Rust 的。当时我正在开发 Forge ,深感 Elixir 处理计算密集型功能的无力,在汉东,也是《Rust 编程之道》作者的介绍下,我开始学习和使用 Rust。

对于 Rust 这门语言,很多人可能都听过,但是没用过。实际上,早从 16 年起,Rust 已经连续六年霸榜,被 Stack Overflow 评选为最受开发者喜爱的语言。

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

例如,Rust 没有历史包袱,集表达力、高性能、内存安全于一身,可以说,掌握了 Rust,就相当于掌握了很多其他语言的精髓;把 Rust 引入你的技术栈,也让自己职业生涯多一门面向未来的利器。

所以,集表达力、高性能、内存安全于一身的 Rust ,在很多场景里都能大施拳脚。除了在传统的系统开发领域,如操作系统、设备驱动、嵌入式等方向高歌猛进之外,Rust 还在服务端高性能、高并发场景遍地开花。

国内外不少大厂,都在采用 Rust 重构技术栈,比如字节的飞书、Google 的 Fuchsia 等,清华大学也开始让本科生学习 Rust 而不是 C/C++。在可预见的未来,Rust 或在大多数领域代替 C/C++,成为开发者的主力语言。

用起来就有多香,学起来就有多难。Rust 也是公认的难入门,学习曲线很陡峭。除了普遍觉得不好学的所有权和生命周期以外,不同语言背景还会有不同的难点。

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

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

  • Python/Ruby/JavaScript 开发者,难点在并发处理、类型系统及泛型编程;
  • Golang 开发者,难点在类型系统和泛型编程;
  • Java 开发者,难点在异步处理和并发安全的理解上。

我自己在学习 Rust 的过程中,也经历了从一知半解到了然在胸的过程。在大量阅读各种书籍资料之余,我还广泛阅读 Rust 标准库的源码,从这些源码中汲取第一手的营养。除此之外,我还大量撰写代码,除了在 crates.io 上发布的一些 crate 外,我还用 Rust 写了不少个人项目,涵盖从后端 API / 服务,到 Rust 和 swift / elixir / nodejs 等语言的交互,再到用 Rust 开发 web 前端。

在这个过程中,我总结了不少知识和经验,并且尝试着把这些知识经验传授给更多的人。我给我的同事们培训 Rust,也在我的公众号撰写 Rust 系列文章和在 bilibili 上发布《程序君的 Rust 培训》。我希望,通过这些努力,可以让更多的开发者了解和使用 Rust,帮助他们成为更好的程序员,为他们自己的职业生涯开辟更多的可能性。

但是这些内容还不够系统,不够全面,对初学者不够友好。我也一直在思考怎样把我掌握的 Rust 知识以一种更好的方式展现出来。

后来,我和极客时间合作推出了《陈天 · Rust 编程第一课》专栏。我希望能通过这个专栏,给你一个系统的 Rust 的入门路径,由浅入深,帮助你攻克 Rust 的主要难点,理解其设计理念:

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

这个专栏上线一年的时间,已经 17600 人看过了,原价 ¥199,现在粉丝福利,限时 6 折秒杀,如果你是新人,到手只要 ¥68!

识别二维码,免费试读

现在专栏已经更新完毕,一共 64 讲。可放心观看。

专栏特色一: 夯实基础+图文并茂

承担着「Rust 第一课」的使命,我尽量讲得通俗易懂,把各个知识点类比到不同的语言中,设计了很多小而美的示例代码,引入 Rust 标准库的源代码进行分析,并且还精心绘制了大量的原理图。

每一讲都遵循 「表层知识 → 解读源码 → 底层设计」的思路,力求帮你理解 Rust 繁多概念背后的设计逻辑。
专栏特色二: 工程方法+项目实操

即使看了再多的书,刷了再多的视频,你的 Rust 可能还是一地稀碎。纸上得来终觉浅,绝知此事要躬行,只有实践+学以致用才是最好的学习方式!

所以专栏每一模块都设计了实践内容,带你把 Rust 应用在生产环境中,以及用 Rust 解决实际问题。我拆解问题的方法也分享给大家,建议反复阅读、理解。

专栏特色三:刻意练习+答疑解惑

每个章节都会留个符合内容的思考题,我在课程答疑时间不比打磨正文少,在课程完结后还会去更新课程的代码。

PS:今日订阅,还可免费加入「 Rust 入门交流群」
课程中没有理解透彻的问题,可以在评论区找找到我以及同学们给的答案。
刚上线的时候是 40 讲,边写边延展内容,完结后已经 64 讲了。只愿把内容讲清楚。具体内容,来看看目录吧:
课程原价 ¥199
今日粉丝福利 6 折秒杀 ,到手 ¥119
如果你是 新用户,只需要 ¥68
最后分享一句激励着我学 Rust 的话:学 Rust 并不会给你带来智商上的优越感,但或许会让你重新爱上编程。

让我们携手,为自己交付 “Rust 开发” 这个大技能,让 Rust 成为你的下一门主力语言!

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

登录查看更多
0

相关内容

Rust 是一种注重高效、安全、并行的系统程序语言。
【2022新书】流畅C语言:原理,实践与模式,427页pdf
专知会员服务
65+阅读 · 2022年10月28日
【干货书】Python3编程高级指南,494页pdf
专知会员服务
85+阅读 · 2022年5月18日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
29+阅读 · 2020年12月17日
【2020新书】C语言编程傻瓜式入门,第二版,464页pdf
专知会员服务
60+阅读 · 2020年10月15日
【2020新书】高级Python编程,620页pdf
专知会员服务
232+阅读 · 2020年7月31日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
我用 Rust 编程的这两年
CSDN
1+阅读 · 2022年11月11日
如何轻松学习 Kubernetes ?| 极客时间
InfoQ
0+阅读 · 2022年8月6日
由浅入深学习 Kubernetes | 极客时间
InfoQ
0+阅读 · 2022年7月3日
为什么每一名程序员都应该学习 C++?
InfoQ
0+阅读 · 2022年4月26日
2022 年技术的新趋势和新方向 | 极客时间
Kotlin,竟然这么香!| 极客时间
InfoQ
0+阅读 · 2022年1月5日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2010年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
已删除
Arxiv
31+阅读 · 2020年3月23日
Arxiv
31+阅读 · 2018年11月13日
VIP会员
相关VIP内容
【2022新书】流畅C语言:原理,实践与模式,427页pdf
专知会员服务
65+阅读 · 2022年10月28日
【干货书】Python3编程高级指南,494页pdf
专知会员服务
85+阅读 · 2022年5月18日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
29+阅读 · 2020年12月17日
【2020新书】C语言编程傻瓜式入门,第二版,464页pdf
专知会员服务
60+阅读 · 2020年10月15日
【2020新书】高级Python编程,620页pdf
专知会员服务
232+阅读 · 2020年7月31日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
相关资讯
我用 Rust 编程的这两年
CSDN
1+阅读 · 2022年11月11日
如何轻松学习 Kubernetes ?| 极客时间
InfoQ
0+阅读 · 2022年8月6日
由浅入深学习 Kubernetes | 极客时间
InfoQ
0+阅读 · 2022年7月3日
为什么每一名程序员都应该学习 C++?
InfoQ
0+阅读 · 2022年4月26日
2022 年技术的新趋势和新方向 | 极客时间
Kotlin,竟然这么香!| 极客时间
InfoQ
0+阅读 · 2022年1月5日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2010年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员