天天看點

入門 Rust 真的很容易,我已經入四五次了

我們都知道 Rust 是入門難度比較高的一門語言,前期需要不斷跟編譯器做鬥争,在艱難的思維轉換中逐漸才能柳暗花明,體會到 Rust 的設計魅力。

除了普遍覺得不好學的所有權和生命周期以外,不同語言背景還會有不同的難點:

  • C 開發者,難點是類型系統和泛型程式設計;
  • C++ 開發者,難點主要在類型系統;
  • Python/Ruby/JavaScript 開發者,難點在并發處理、類型系統及泛型程式設計;
  • Java 開發者,難點在異步處理和并發安全的了解上;
  • Golang 開發者,難點在類型系統和泛型程式設計。

而且說真的,中文的 Rust 資料不多,不适合入門,也不系統,比較有名的是張漢東的《Rust 程式設計之道》,難度系數比較大,我啃得也很艱難。後來看到和張漢東一起研究 Rust 的另一位大佬「陳天」,很早就關注了他的知乎,看過不少他分享的 Rust 入門難點解讀,講得很透。

他在極客時間寫了個專欄《陳天 · Rust 程式設計第一課》,最近剛更新完,我已經開始二刷。不得不說,這課可謂全網最好的 Rust 入門教程,沒有之一!

專欄結合了陳天 18 年深度使用多種語言的經驗,以先行者的身份輸出了一份「Rust 學習路徑圖」,看下面:

入門 Rust 真的很容易,我已經入四五次了

整個專欄由淺入深,對比多種語言,帶你攻克 Rust 程式設計 10 大難點,有 100+ 原理圖,詳解 Rust 設計理念。最後通過 4 個項目實操訓練,理論與實戰兩手抓,真正讓你掌握 Rust 開發精髓。

作者「陳天」

作為北美最大的免費流媒體服務TubiTV 的研發副總裁,有人說他是矽谷華人工程師的的典範,刻苦而努力,堅韌而不拔。而在我眼裡,他是一個低調有禮的布道師,毫無保留地分享着 18 年工作經驗累計的工程方法。

他一直主張“以合适的工具解決合适的問題”,是以,當面對不同的工作需求,他堅持深度使用形态和機理都大相徑庭的開發語言。

  • 用 C 和彙編打造過各種網絡協定,維護過嵌入式作業系統 ScreenOS;
  • 用 Python/Javascript 撰寫過途客圈;
  • 用 Node.js/Elixir 打造過 TubiTV 高并發的後端核心;
  • 用 Elixir 打造過區塊鍊架構 Forge;
  • 也研究過 Haskell/F#、Clojure/Racket、Swift、Golang 和 C#等其他語言。

可以說,他對各個語言都了如指掌,這種資曆的大佬能出來開課,把自己獨特的 Rust 學習方法和經驗共享出來,真的很難得。

我為什麼說這是「最好的 Rust 入門教程」

現在專欄已經更新完畢,一共 58 講。跟着讀下來,最大的感觸是,這個老師太會講了,大家都知道 Rust 入門難,不好講透,陳天能講得通俗易懂、明明白白,且講述中處處呈現他的思維方式、拆解問題的方法。

專欄特色一:夯實基礎+圖文并茂

承擔着「Rust 第一課」的使命,陳天講得通俗易懂,把各個知識點類比到不同的語言中,設計了很多小而美的示例代碼,引入 Rust 标準庫的源代碼進行分析,并且還精心繪制了大量的原理圖。

入門 Rust 真的很容易,我已經入四五次了

每一講都遵循「表層知識 → 解讀源碼 → 底層設計」的思路,力求幫你了解 Rust 繁多概念背後的設計邏輯。

專欄特色二:工程方法+項目實操

即使你看了再多的書,刷了再多的視訊,你的 Rust 其實還是一地稀碎。紙上得來終覺淺,絕知此事要躬行,隻有實踐+學以緻用才是最好的學習方式!

是以專欄每一子產品都設計了實踐内容,帶你把 Rust 應用在生産環境中,以及用 Rust 解決實際問題。老師的思維方式拆解問題的方法都毫無保留的分享出來,值得反複去閱讀、反複了解。

入門 Rust 真的很容易,我已經入四五次了

專欄特色三:刻意練習+答疑解惑

每個章節都會留個符合内容的思考題,老師在課程答疑時間不比打磨正文少,甚至在課程完結後老師還會去更新課程的代碼,大家紛紛表示:愛了

入門 Rust 真的很容易,我已經入四五次了

而且課程中沒有了解透徹的問題,都會在評論區找到陳天給的答案。可以說幫到不少人,截了些評價供你參考。

入門 Rust 真的很容易,我已經入四五次了

剛上線的時候是 40 講,老師邊寫邊延展内容,完結時已經 58 講啦!這種單純的分享精神,也是很走心了。看看目錄吧:

入門 Rust 真的很容易,我已經入四五次了

繼續閱讀