前言

foreword.md
commit 1fedfc4b96c2017f64ecfcf41a0a07e2e815f24f

雖然不是那麼明顯,但 Rust 程式設計語言的本質在於 賦能empowerment):無論你現在編寫的是何種代碼,Rust 能讓你在更為廣泛的程式領域走得更遠,寫出自信。

比如,“系統層面”(“systems-level”)的工作,涉及記憶體管理、數據表示和並發等底層細節。從傳統角度來看,這是一個神秘的程式領域,只為浸淫多年的極少數人所觸及,也只有他們能避開那些惡名昭彰的陷阱。即使謹慎的實踐者,亦唯恐代碼出現漏洞、崩潰或損壞。

Rust 破除了這些障礙,其消除了舊的陷阱並提供了伴你一路同行的友好、精良的工具。想要 “深入” 底層控制的程式設計師可以使用 Rust,無需冒著常見的崩潰或安全漏洞的風險,也無需學習時常改變的工具鏈的最新知識。其語言本身更是被設計為自然而然的引導你編寫出在運行速度和記憶體使用上都十分高效的可靠代碼。

已經在從事編寫底層代碼的程式設計師可以使用 Rust 來提升抱負。例如,在 Rust 中引入並行是相對低風險的操作:編譯器會為你捕獲經典的錯誤。同時你可以自信的採取更為積極的最佳化,而不會意外引入崩潰或漏洞。

但 Rust 並不局限於底層系統編程。其表現力和工效足以令人愉悅的編寫出 CLI 應用、web server 和很多其他類型的代碼 —— 在本書中你會看到兩個簡單範例。使用 Rust 能將你在一個領域中學習的技能延伸到另一個領域;你可以學習 Rust 來編寫 web 應用,接著將同樣的技能應用到你的 Raspberry Pi(樹莓派)上。

本書全面介紹了 Rust 為用戶賦予的能力。其內容平易近人,致力於幫助你提升 Rust 的知識,並且提升你作為程式設計師整體的理解與自信。那麼讓我們準備深入學習 Rust 吧(打開新世界的大門 :)) —— 歡迎加入 Rust 社區!

— Nicholas Matsakis 和 Aaron Turon