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++ 一樣快速可預期的成效 (無垃圾收集器),以及低階硬體的存取權限 (如有需要)。