010. 先從一個痛點開始|為什麼 Rust 不是又一門語言而已

這集《Rust 從零開始》的第一個問題,不是「Rust 語法怎麼寫」,而是「為什麼要學 Rust」。小東老師用一個很適合初學者理解的入口切進來:記憶體安全。

來源影片:【Rust 01】Rust 是什麼?為什麼值得學:又快又安全、編譯器是好老師、第一支程式|Rust 從零開始,小東老師電子學,2026 年 10 月 8 日上傳。

影片引用的開場數字是:微軟每年修補並登記編號的資安漏洞裡,大約七成與記憶體安全有關。這類問題的本質很直觀:程式去讀或寫了它不該碰的記憶體。例如陣列只有五格,程式卻去寫第六格;或者記憶體已經還給系統,程式還拿來用。

這些錯誤麻煩的地方,是平常可能看起來正常,某天卻突然當機,甚至被攻擊者利用。Rust 的定位,就是在程式執行之前,盡量把這類錯誤擋在編譯階段。

對魚塘讀者來說,這支影片的價值不是把 Rust 包裝成銀彈,而是把「為什麼 Rust 值得學」講得很乾淨:它想同時拿到 C/C++ 等級的速度,以及比傳統系統語言更強的安全邊界。

圖 01:Rust 為什麼值得學?

021. Rust 是編譯式語言|先翻成機器碼,再交給 CPU 跑

影片先用很基礎的模型解釋:CPU 只看得懂機器碼,也就是一串 0 和 1。人類不適合直接寫機器碼,所以才需要程式語言,再透過「翻譯」把人寫的程式變成 CPU 能執行的形式。

這裡有兩種常見翻譯方式。

第一種是編譯。像翻譯一整本書:先全部翻好,產生一份成品,之後直接讀成品。Rust、C、C++ 都屬於這類。編譯後的成品就是執行檔,在 Windows 上常見就是 .exe。

第二種是直譯。像會議口譯:你說一句,它翻一句。Python 常被拿來當這類例子,每次執行時都邊翻邊跑。

編譯有兩個好處。第一,翻譯只做一次,執行時不用再翻,所以通常比較快。第二,編譯器會在翻譯時把整份程式看過一遍,很多錯誤會在程式執行前就被抓出來。

這正是 Rust 的核心體驗:你會先被編譯器擋下來,但那不是阻礙,而是它提早替你指出問題。

032. 三個關鍵字|快、安全、編譯器是好老師

影片把 Rust 的特色整理成三個關鍵字:快、安全、編譯器是好老師。

第一,快。Rust 會直接編譯成機器碼,並且不需要垃圾回收器。垃圾回收器可以想像成背景清潔工,定期巡邏,把不用的記憶體收回來。它很方便,但清理時程式可能會頓一下。Rust 的做法不同:它在編譯時就分析每一塊記憶體什麼時候該還回去,因此速度可以和 C、C++ 放在同一個等級討論。

第二,安全。在 C 和 C++ 裡,記憶體管理高度仰賴程式設計師。Rust 則用一套叫做「所有權」的規則,讓編譯器在編譯時檢查記憶體有沒有被亂用。沒通過檢查,程式根本編譯不出來。

第三,編譯器是好老師。Rust 的編譯器很嚴格,但它的錯誤訊息通常非常具體:哪一行、哪一個字、為什麼錯,甚至常常提示該怎麼改。對初學者來說,這會先帶來挫折,但也會把「看懂錯誤訊息」訓練成基本功。

這三點合在一起,就是 Rust 的學習曲線:它不一定最容易入門,但它會逼你把程式可能出錯的地方想清楚。

043. Rust 不是只在小圈子流行|作業系統、Android、雲端基礎設施都在用

影片也列出 Rust 的實務採用案例,幫初學者理解這不是玩具語言。

Linux 核心從 6.1 版開始正式支援用 Rust 撰寫。微軟也已經把一部分 Windows 核心元件改用 Rust 重寫。Google 則從 2019 年開始,在 Android 新程式碼裡大量採用 Rust 這類記憶體安全語言。

影片提到 Android 的一個成果:記憶體安全漏洞占全部漏洞的比例,從 2019 年的 76% 降到 2024 年的 24%。這裡的重點不是說 Rust 自動解決所有安全問題,而是它把一大類常見、昂貴、危險的錯誤,提前移到編譯時處理。

另外,Discord 曾把一個關鍵服務改用 Rust 重寫,讓原本每隔幾分鐘出現的延遲尖峰消失。AWS、Cloudflare 也都在重要基礎設施中使用 Rust。

開發者端的接受度也很高。影片引用 Stack Overflow 開發者調查,Rust 已連續多年被選為最受推崇的程式語言;2025 年用過 Rust 的人裡,有 72% 想繼續使用。

這些案例讓 Rust 的定位更清楚:它不是只追求語法漂亮,而是面向效能、安全與大型系統可靠性的語言。

054. 難點在哪裡|嚴格編譯器、所有權、借用、生命週期

小東老師也沒有把 Rust 講成零門檻。影片明確說,Rust 不是最容易上手的語言,難點主要有兩個。

第一,編譯器很嚴格。其他語言可能讓你「先跑起來再說」,Rust 會要求你先把可能出錯的地方想清楚。剛開始,你會覺得自己一直被編譯器擋下來。

第二,Rust 有一些其他語言少見的新觀念:所有權、借用、生命週期。這些詞對初學者來說很陌生,但它們正是 Rust 記憶體安全的核心。

影片的教學策略,是把這些困難拆成長期路線。所有權會花將近十集慢慢講,並且用動畫一步一步畫出來;畫面上的程式都會真的編譯執行,讓觀眾看到的輸出和錯誤訊息,與自己電腦上跑出來的一樣。

這是一個很重要的學習提醒:Rust 的難,不是單純背語法,而是改變你對「值、變數、記憶體、借用關係」的理解方式。若願意接受編譯器的規則,它其實是在教你避免一類過去很難抓的錯誤。

065. 課程地圖|從 Hello World 到多執行緒網頁伺服器

這集也交代整套課的學習地圖。

最前面五集是出發準備:安裝 Rust、寫第一支程式、認識 Cargo、學會看懂錯誤訊息。

接著是基本觀念:變數、型別、函式、判斷和迴圈,並做第一個專題「猜數字遊戲」。

再往後才進入 Rust 的核心:所有權和借用。之後會學結構體、列舉、集合、錯誤處理、泛型和特徵。

後半段則會做一個文字搜尋工具,學閉包、迭代器、智慧指標和多執行緒。期末專題是自己寫一個多執行緒的網頁伺服器。

這條路線的好處,是沒有一開始就把初學者丟進 ownership 細節,而是先讓人建立「可以寫、可以跑、可以看錯誤」的基本信心,再逐步進入 Rust 的核心概念。

影片也提到每集說明欄會附 Rustlings 練習。Rustlings 是 Rust 官方推薦的小練習題,適合看完影片後馬上動手寫。對學 Rust 這種語言來說,光看懂不夠,必須讓編譯器真的擋你幾次,才會開始熟悉它的思路。

076. 第一支 Rust 程式|在 Playground 裡跑 Hello World

這集最後帶觀眾跑第一支 Rust 程式,而且不需要先安裝任何東西。只要打開瀏覽器,進入官方 Rust Playground:play.rust-lang.org。

Playground 一開始就會準備好一段程式:

fn main() {
    println!("Hello, world!");
}

影片先不深入解釋所有語法,只抓住兩個重點。fn main 是程式開始執行的地方;println! 會把雙引號裡的文字印出來。

按下 RUN 之後,畫面下方會出現兩塊區域。Standard Error 顯示編譯和執行過程,例如 Compiling、Finished、Running;Standard Output 才是程式真正輸出的內容,也就是 Hello, world!。

接著把文字改成中文 你好,Rust!,再跑一次,也能正常輸出。這一步雖然簡單,但對初學者很重要:先知道自己可以改字、可以跑、可以看到輸出。

圖 02:第一支 Rust 程式怎麼跑?

087. 故意寫錯|Rust 編譯器如何當你的老師

影片接著故意加上一行錯誤程式:想印出一個叫 age 的變數,但從來沒有建立過它。

按下 RUN 後,編譯器馬上擋下程式。錯誤訊息裡的 E0425 是錯誤代碼,意思是在目前範圍裡找不到 age 這個值。它還會指出錯在 main.rs 的哪一行,並用符號精確標出哪個字有問題。

這就是「編譯器是好老師」的具體感覺。它不是只說你錯了,而是告訴你錯在哪裡、為什麼錯、哪個位置錯。

對剛學程式的人來說,看到紅字很容易緊張。但 Rust 的學習方式剛好相反:你要習慣把編譯器錯誤當作提示。被擋下來不是失敗,而是錯誤還沒交到使用者手上前,就先被你看見。

這也是 Rust 很適合用來訓練工程思維的地方。它不只教你「怎麼讓程式跑」,也教你「怎麼在跑之前先排除一批錯誤」。

098. 學 Rust 的第一個心法|嚴格不是刁難,是提早保護你

如果只用一句話收束這集,就是影片最後的提醒:Rust 又快又安全,編譯器雖然嚴格,卻是你最好的老師。

這句話其實也說出 Rust 入門最重要的心理調整。很多人習慣先寫、先跑、先看結果,錯了再慢慢修。Rust 會把一部分錯誤提前到編譯階段,逼你先面對。剛開始會慢,但長期來看,它讓你少踩那些執行後才爆、部署後才爆、甚至被攻擊者利用後才爆的坑。

所以這支影片不是要你立刻成為 Rust 工程師,而是給出一個清楚的起點:

  1. Rust 是編譯式語言,會先翻成機器碼。
  2. Rust 速度接近 C/C++,但不靠垃圾回收器。
  3. Rust 用所有權檢查記憶體安全。
  4. Rust 編譯器很嚴格,但錯誤訊息很具教學性。
  5. 學 Rust 要多跑、多看錯誤、多做 Rustlings。

對想學系統程式、雲端基礎設施、效能敏感服務,或單純想建立更扎實程式觀念的人來說,Rust 不是最輕鬆的第一步,但它是一個很有回報的方向。