Rust 的優點

Rust 的幾個獨特賣點如下:

  • 「編譯期的記憶體安全性」 - 在編譯期間就能避免各類記憶體錯誤

    • 不會產生未初始化的變數。
    • 不會導致重複釋放記憶體。
    • 不會使用已釋放的記憶體。
    • 不會產生 NULL 指標。
    • 不會產生忘記鎖定的互斥鎖。
    • 執行緒之間不會發生資料競爭。
    • 不會發生疊代器無效的情形。
  • 「不會出現未定義的執行階段行為 (undefined runtime behavior)」 - Rust 陳述式的行為一律會有定義

    • 陣列存取行為會經過邊界檢查。
    • 整數溢位的行為是明確的 (恐慌或迴繞)。
  • 「現代化的語言特徵」 - 具表現力且符合人因工程學的高階語言

    • 列舉和模式配對。
    • 泛型。
    • 沒有 FFI 負擔。
    • 零成本的抽象化機制。
    • 更好的編譯錯誤描述。
    • 內建依附元件管理工具。
    • 內建測試支援。
    • 卓越的語言伺服器通訊協定支援。
This slide should take about 3 minutes.

這裡不要花太多時間。這幾點稍後全都會深入介紹。

請務必詢問全班同學,瞭解他們具備哪些語言的使用經驗。根據學生答覆,您可以強調不同的 Rust 功能:

  • 具備 C 或 C++ 經驗:Rust 會透過借用檢查器,徹底刪除一整類的「執行階段錯誤」。這不僅可讓您獲得像是 C 和 C++ 的效能,也不會造成記憶體安全問題。此外,您還能取得具備模式配對、內建依附元件管理機制等結構的新型語言。

  • 具備 Java、Go、Python、JavaScript...經驗:Rust 能讓您享有與這些語言相同的記憶體安全性,而且還可帶來使用類似高階語言的感受。此外,您也能獲得像 C 和 C++ 一樣快速可預期的成效 (無垃圾收集器),以及低階硬體的存取權限 (如有需要)。