※ 本文轉寄自 ptt.cc 更新時間: 2026-03-26 22:09:03
看板 Soft_Job
作者 標題 [推坑] 給完全新手的 Rust 教學
時間 Wed Mar 25 21:11:23 2026
https://andyshiue.github.io/rust-book/
最近花了很多時間(幾週)在忙這個 Rust 的新手教學。
雖然一開始是叫 AI 寫出來的,
不過 AI 對於長篇內容的掌握度實在是有點不行......
(還是說我的提示詞下的不夠好?)
結果很多很多部分還是要和 AI 溝通很久叫它慢慢改。
這本書最大的賣點應該就是神奇的編排順序吧,
書中閱讀前面部分的過程中幾乎不需要懂後面寫的其他部分。
傳統的程式語言教學都是主題式的,
一次談一個主題,
對於本來就會寫程式的人來說固然是很方便,
但對於完全沒經驗的小白來說要學習 Rust 就變成一件非常辛苦的事情,
常常要在學習重要功能之間學一些非常少用到的功能,
但會有哪個小白做死來學 Rust 啊......
或許現在 vibe coding 當紅,
想學習 Rust 的新手會變得更多吧(大概),
所以我也努力做自己想做的事情做到了一個段落。
關於這本書如何讀的話,
我是比較建議從頭開始讀,
一路讀到最後面,
盡量不要跳著看,
因為神奇的編排順序有可能會讓某些人漏了前面就講了但後面沒再提到的部分。
話說回來,
其實能跳過的部分也不多啦,
第三章主要就是在講 pattern matching,
算是整本書最悶的部分,
但沒碰過 FP 的人大概都需要花很多時間熟悉才對。
然後到了第五章開始難度就開始狂飆XDD
這種只介紹功能,
而不鼓勵讀者進行大量練習的教法不知道會對新手有什麼樣的效果,
但我以前就曾經做過啃完整本 C++ Primer 還沒寫過幾行 C++ 的日子,
所以說與其是適合現在的嘴砲王 vibe coder,
倒不如說是我從過去那個作為嘴砲王的思路出發吧。
不知道要說什麼了,
最後就貼一下本書的 GitHub 連結吧,
雖然說應該很好找到才對:
https://github.com/AndyShiue/rust-book
GitHub - AndyShiue/rust-book: 給初學者的 Rust 教學 · GitHub
給初學者的 Rust 教學. Contribute to AndyShiue/rust-book development by creating an account on GitHub. ...
給初學者的 Rust 教學. Contribute to AndyShiue/rust-book development by creating an account on GitHub. ...
目前也有在規劃第七章後的一些題材,
關於已有的章節,
有心的話也可以丟 PR 討論一下要如何讓本書變得更好~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.241.91.165 (臺灣)
※ 作者: Rust 2026-03-25 21:11:23
※ 文章代碼(AID): #1fmzx-pX (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1774444286.A.CE1.html
※ 編輯: Rust (123.241.91.165 臺灣), 03/25/2026 21:12:59
等等 你讀得那麼快嗎XD
※ 編輯: Rust (123.241.91.165 臺灣), 03/25/2026 21:15:29
看我超前部署了多久
※ 編輯: Rust (123.241.91.165 臺灣), 03/25/2026 22:40:21
請 AI 生一份好了
不然也真不知道要寫什麼......
感謝支持
看我的commit應該也看得出來QQ
※ 編輯: Rust (123.241.91.165 臺灣), 03/25/2026 23:52:36
我是想說現在應該都是叫 AI 生程式,
然後腦袋再逆向去理解。
不過如果是連第一章都有困難的人,
可能真的需要更具體的例子就是了。
另外有些類似 idiom 的東西我的確也覺得有點可惜,
不太清楚要塞哪裡,
例如經典的 res.map_err(...)?;
就有點怕有人笨笨的不會用,
但閉包又要到第六章才教,
然後到了那時候就不知道該塞哪裡了OTZ
※ 編輯: Rust (123.241.91.165 臺灣), 03/26/2026 10:17:21
不用那麼緊張啦OTZ
我也懷疑我這種寫法是不是好的寫法
※ 編輯: Rust (123.241.91.165 臺灣), 03/26/2026 11:11:16
我還有往後寫的打算,
像是 multi-threading 就打算寫在後面,
目前預計不含 async 至少能多寫個幾十集寫到第十章,
至於 async 的話就是一個讓人一個頭兩個大的問題了......
※ 編輯: Rust (123.241.91.165 臺灣), 03/26/2026 11:19:10
再回一下上面說的「要多一些實作」好了,
我有想要再寫一份類似教學手冊的檔案,
專門提到「啊我函數要回傳新 &str 是要怎麼辦」之類的問題,
不過目前還完全沒有動手。
※ 編輯: Rust (123.241.91.165 臺灣), 03/26/2026 11:54:26
原使用者沒在用帳號了才被我搶走
※ 編輯: Rust (123.241.91.165 臺灣), 03/26/2026 13:46:09
--
推 : 很棒推一個1F 03/25 21:14
等等 你讀得那麼快嗎XD
※ 編輯: Rust (123.241.91.165 臺灣), 03/25/2026 21:15:29
推 : ID正確2F 03/25 22:33
看我超前部署了多久
※ 編輯: Rust (123.241.91.165 臺灣), 03/25/2026 22:40:21
推 : 推一個3F 03/25 22:40
推 : 不放 readme 嗎4F 03/25 23:18
請 AI 生一份好了
不然也真不知道要寫什麼......
推 : ID正確5F 03/25 23:22
※ 編輯: Rust (123.241.91.165 臺灣), 03/25/2026 23:24:56推 : 再推一下看了一下內容滿認真的6F 03/25 23:45
感謝支持
看我的commit應該也看得出來QQ
※ 編輯: Rust (123.241.91.165 臺灣), 03/25/2026 23:52:36
推 : 推一個 m7F 03/26 01:26
推 : 這ID很猛XD8F 03/26 02:06
推 : ID正確9F 03/26 03:57
推 : 推10F 03/26 07:16
推 : 推11F 03/26 09:15
推 : 這個ID也太… XD12F 03/26 09:15
推 : 好用心13F 03/26 09:46
推 : 真的很用心 但是現在學東西比較喜歡直接寫個東西來14F 03/26 09:50
→ : 看看 所以能許個願有 best practice 那種直接的案例
→ : 嗎
→ : 看看 所以能許個願有 best practice 那種直接的案例
→ : 嗎
我是想說現在應該都是叫 AI 生程式,
然後腦袋再逆向去理解。
不過如果是連第一章都有困難的人,
可能真的需要更具體的例子就是了。
另外有些類似 idiom 的東西我的確也覺得有點可惜,
不太清楚要塞哪裡,
例如經典的 res.map_err(...)?;
就有點怕有人笨笨的不會用,
但閉包又要到第六章才教,
然後到了那時候就不知道該塞哪裡了OTZ
推 : ID 正確17F 03/26 10:09
※ 編輯: Rust (123.241.91.165 臺灣), 03/26/2026 10:17:21
推 : 我知道你的意思 我這個要求確實比較過份了 畢竟你開18F 03/26 11:03
→ : 門見山的說這是給新手的 還是十分感謝你的分享
→ : 門見山的說這是給新手的 還是十分感謝你的分享
不用那麼緊張啦OTZ
我也懷疑我這種寫法是不是好的寫法
※ 編輯: Rust (123.241.91.165 臺灣), 03/26/2026 11:11:16
推 : 你可以後面新增一章實戰教學 不過現在這樣已經遠勝很多20F 03/26 11:12
→ : 表面上分享實際上丟垃圾給人debug的啟x vibe仔了
→ : 表面上分享實際上丟垃圾給人debug的啟x vibe仔了
我還有往後寫的打算,
像是 multi-threading 就打算寫在後面,
目前預計不含 async 至少能多寫個幾十集寫到第十章,
至於 async 的話就是一個讓人一個頭兩個大的問題了......
※ 編輯: Rust (123.241.91.165 臺灣), 03/26/2026 11:19:10
→ : 我很想說22F 03/26 11:20
→ : 反正就是在 async 方法裡面看到 Future 就 await 就是了
→ : 但不能這樣XD
→ : 反正就是在 async 方法裡面看到 Future 就 await 就是了
→ : 但不能這樣XD
→ : 學Rust沒被老C++搞過 很多東西會很難懂25F 03/26 11:50
→ : 然後新C++又一直在抄Rust作業
→ : 然後新C++又一直在抄Rust作業
再回一下上面說的「要多一些實作」好了,
我有想要再寫一份類似教學手冊的檔案,
專門提到「啊我函數要回傳新 &str 是要怎麼辦」之類的問題,
不過目前還完全沒有動手。
※ 編輯: Rust (123.241.91.165 臺灣), 03/26/2026 11:54:26
推 : 讚,感謝阿,rust希望有fu糗27F 03/26 13:39
推 : 沒可能你比rust 還早創帳號吧
推 : 沒可能你比rust 還早創帳號吧
原使用者沒在用帳號了才被我搶走
※ 編輯: Rust (123.241.91.165 臺灣), 03/26/2026 13:46:09
→ : 不過我的確是在 1.0 版之前就知道 Rust 了29F 03/26 14:58
推 : ID厲害了30F 03/26 15:28
推 : 推31F 03/26 18:39
推 : 推個32F 03/26 18:56
→ : 推一個33F 03/26 18:57
→ : 今天又修掉了不少漏網之蟲......34F 03/26 19:22
推 : 推ID35F 03/26 19:45
推 : 謝分享36F 03/26 20:19
推 : ID正確37F 03/26 20:56
--
※ 看板: Soft_Job 文章推薦值: 0 目前人氣: 0 累積人氣: 22
回列表(←)
分享