前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这个周末,要不要学点 Rust?

这个周末,要不要学点 Rust?

作者头像
tyrchen
发布2021-06-17 15:39:44
8940
发布2021-06-17 15:39:44
举报
文章被收录于专栏:程序人生程序人生

最近写了不少和 Rust 有关的文章,还在朋友圈分享了不少我在公司做 Rust training 时用 excalidraw 画的图,因而不少小伙伴们希望我能做个 Rust 培训。本想在 6 月份找个吉日,不料翻一翻日历便发现这周五是 Tubi 每月一度的 Mental Health Day,不上班。娃儿们上课,我在家闲着也就是写写代码看看书,倒不如准备准备,然后晚上来一场说讲就讲的 Rust 培训。

由于 Rust 博大精深,一次培训无法涵盖所有,所以这是计划中的第一期。之后还有第二期,第三期,...

本次培训介绍

课程 slides:见「阅读原文」(本周五我会花时间更新 slides,但内容大同小异,报名前建议先看看自己是否对 slide 中涉及的内容感兴趣)。

目标受众:对 Rust 有兴趣,且有任何一门编程语言基础,计算机科班出身或者写过至少数千行以上代码的开发者。

前置条件:

  • 有可稳定上网的 osx / linux / windows 开发环境
  • 安装有 vscode 或其他 IDE
  • 用 rustup 安装好了 Rust 1.52 或更高版本的工具链
  • 有至少 4 小时的空闲时间参与本次培训
  • 了解基本的软件开发概念,对表达式,函数,闭包,结构,对象,接口,多态等基本概念有了解
  • 了解和使用过基本的数据结构,如数组,字典,队列等

最大人数:75 人,先到先得

时间:4 小时。美西时间 5/28 周五晚上 9:00pm-1:00am,北京时间 5/29 周六 12:00pm-4:00pm(zoom 会提前 10 分钟开放,准点正式开始。可能根据实际情况延长)

内容涵盖:

  • Rust 基础知识(30-50 分钟)
  • 所有权和生命周期管理(50-70 分钟)
  • 类型系统和泛型编程(50-70 分钟)
  • 并发处理(50-70 分钟)

本期最低费用:39 元(因为 zoom 有人数上限,为避免有限的资源被浪费,所以设一个最低费用,愿意多给请随意,你可以将其看做是你对自己这四个小时的 commitment)。注意,本次培训会做屏幕录像,之后会放到 B 站和 Youtube 上。如果你不打算参与实时课程,或者不愿意付费,可以等录像版本。

报名方式:打赏,在打赏悄悄话中留下你的常用邮箱。我会给你发 zoom 链接和微信群二维码。

Q&A

Q: 学 Rust 有什么意义?

A: 我个人的感受是,它能帮我夯实很多(逐渐遗忘的)基础知识,对系统的理解更加深入,同时它能帮我处理一些其它语言不太容易处理的问题。我可以甚至可以通过 FFI 把 Rust 生态引入到我喜欢的语言中,比如用 rustler 增强 Elixir 的能力。

Q: 听说 Rust 很难学,我学不会怎么办?

A: 相对于很多其他语言,Rust 的确难学,难学的主要原因是 paradigm shift —— 太多新鲜的知识和概念冲击你旧有的观念,所以你会有一会儿天堂(终于 TMD 编译通过了)一会儿地狱(NND 怎么都编不过)的极致体验(peak experience)。就我而言,这反而是一种乐趣,一种攻城拔寨,逆风飞扬的成就感。作为过来人,我可以负责任地说,学习 Rust 的过程,和学习任何语言的难度并没特别大(数量级上)的区别,只不过,其它语言 3-5 年从入门到高阶所需要经受的痛苦和折磨,对于 Rust,你不得不压缩在入门阶段就要全力承受。就像 Java,深入了解其内存管理模型,掌握 VM 运作的原理和潜在的问题,在入门阶段并不做要求;而 Rust,如果你不搞懂其内存管理模型,你甚至连门都入不了就被严格的良师益友 —— Rust 编译器无情拒绝。

Q: 为啥做这个培训?

A: because I can

A: 自己很喜欢这门语言,也很享受用它解决问题过程中的安全感和美感。独乐乐不若众乐乐。我希望能够帮助更多的开发者进入这个领域,享受这种感觉。

Q: 为什么一下子弄四个小时的培训?

A: 很久前还在北京时我给一家公司做过 Python 的培训,两天的课程每天大概讲 6-8 小时,也只能将将让大家入门。编程语言的学习,如果停留在概念和语法的阶段,那么一个小时不难入门,但要能够写一些代码更好地理解概念,进而再写一些稍微实际一些的代码,还是颇花功夫的。四个小时,也就能把上述有限的内容做一个简单的入门。所以这期仅仅是 Rust 入门培训(一),以后我们还会有两三个这样的四小时的后续培训,才能完成一个比较完整的入门。我的目标是:听众参与完所有的培训后,有能力完成一个上千行代码的,结构复杂而精巧,能够解决实际问题的项目。

Q: 四个小时太长,中间有没有休息?

A: 每 50 分钟会休息 5-10 分钟,供大家补水补精力。休息期间我们可以在 zoom 上交流,我也可以回答一些之前积累的问题。

Q: 为啥定这么个白菜价?

A: 嗯,确实,这个价格在北京可能都吃不了一顿还算不错的午餐。我相信就算十倍于这个价格,还是有不少人参与;甚至,搞个私享课,拉长时间,减缓节奏,不提供回放,饥饿营销,收不了万八千,每个席位收割个三五千也是可以的。但这不是我的主业,我也并不需要这笔钱来改善我的生活;同时,这样做无法帮助更多的人,尤其是囊中羞涩的学生党。所以我拍脑门定了个价(为啥收费我就不重复了),大家交个朋友。我相信,相对于 39 元,至少 4 小时的 commitment 对大家来说机会成本更大,所以想清楚了再报名。

Q: 这个和 XYZ 培训有什么区别?

A: 在培训之间类比意义不大,大家的目的也不一样。我纯粹出于乐趣做这个培训,它有很强的程序君的烙印。我也无法开多次课程,甚至妥协开课时间。我也不管分配,不开发票,不给介绍女(男)朋友。当然我们熟络了,业余时间一起合作做点有意思的小 crate 我是欢迎的。

Q: 会有 live coding 么?

A: 会。请准备好 vscode,确保你的 rust 环境在 1.52 或更高。我右手患有尺神经炎,敲键盘并不特别快,所以你不需要有玩星际的手速才能跟上我敲代码的节奏;但需要足够的注意力跟上我思考的节奏。

Q: 会有回放么?

A: 有。培训结束一周内我会放在 Bilibili 和 Youtube 上。

Q: 下几期培训会包含什么内容?

A: 这期会讲到并发处理,第二期会着重网络编程,FFI 和宏,至此基础知识就告一段落。第三期会注重实战,做个有意义的 crate,然后以其为基础做一个应用。如果三期下来我还意犹未尽,会再做一期,选择一个相对复杂的问题,用 Rust 架构,设计和解决之。

贤者时刻

It's time to Poll your Future!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序人生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本次培训介绍
  • Q&A
  • 贤者时刻
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档