今天的文章外部link比較多
我特意整理了link的匯總
需要的朋友可以在后臺回復:“rust ”
即可收到自動回復,更加方便觀看
------------------------------------------------------------------
最近看到一篇Google的Blog:Google官宣要把Rust引進Chromium項目中。此舉是為了加快開發速度(更少的代碼編寫,更少的設計文檔、更少的安全檢查),并提高Chrome的安全性(增加沒有內存安全錯誤的代碼,降低代碼的錯誤密度)。
Blog鏈接:https://security.googleblog.com/2023/01/supporting-use-of-rust-in-chromium.html
從此舉可以看到Rust的重要性,以及它廣闊的前景。
我們為什么要學習Rust?
首先可以從Rust官網上找到答案。
Rust是一門賦予每個人構建可靠且高效軟件能力的語言。
它有很多特點:
高性能:Rust 速度驚人且內存利用率極高。由于沒有運行時和垃圾回收,它能夠勝任對性能要求特別高的服務,可以在嵌入式設備上運行,還能輕松和其他語言集成。
可靠性:Rust 豐富的類型系統和所有權模型保證了內存安全和線程安全,在編譯期就能夠消除各種各樣的錯誤。
生產力:Rust 擁有出色的文檔、友好的編譯器和清晰的錯誤提示信息, 還集成了一流的工具——包管理器和構建工具, 智能地自動補全和類型檢驗的多編輯器支持, 以及自動格式化代碼等等。
全世界已有數百家公司在生產環境中使用 Rust,以達到快速、跨平臺、低資源占用的目的。很多知名的軟件,例如 Firefox、 Dropbox 和 Cloudflare 都在使用 Rust。從初創公司到大型企業,從嵌入式設備到可擴展的 Web 服務,使用Rust 都非常合適。文檔、工具和社區都很好,足以幫助大家順利完成 Rust 項目!
相比于C++:它的性能同樣極高,它有更優質的跨平臺能力,有更好的包管理工具和構建工具,眾所周知C++對網絡模塊的支持不好,而Rust則支持的特別好。同時它對內存的把控也很嚴格,讓開發者在編譯階段就能發現絕大多數的內存錯誤。
安裝方便:crates.io 上擁有成千上萬的軟件包,想要的解決方案在這里幾乎都能找到。站在巨人的肩膀上,團隊可遠離重復,專注創新。
測試方便:Rust 出色的測試工具能讓您對代碼放心。cargo test 是 Rust 統一的測試方案。測試代碼既可寫在功能代碼之后,也可放在獨立文件中,它滿足您所有的測試需求。
部署方便:cargo build 可為不同平臺構建精益的可執行文件。僅需一行命令,您的代碼就能針對 Windows、Linux、macOS 和 Web 進行編譯。支持全部現代平臺接口,無需定制構建文件。
目前,微軟很多項目轉向了Rust,所有的Windows API都已經有Rust接口。
Meta正在推廣Rust,Amazon也在更多的依賴Rust。
Google現在很多項目也使用了Rust,還特意為Android開發者出了一套Rust教程。
NSA(美國 安全 局)也建議使用內存安全的語言,比如Rust。
Rust的重要知識點
這塊是Rust的核心,也是Rust主要區別于其他語言的地方,理解了Rust所有權和生命周期的理念,才能知道Rust是如何在編譯期就檢測到我們那些不安全的內存使用情況的。
trait:Rust不支持class這種面向對象的方式,但是通過trait特性可以達到面向對象的效果。
FFI:Rust和其他語言交互需要通過FFI達到目的。
并發:Rust一大特性就是無懼并發,一定要學會使用和理解Tokio。
Rust的學習資料
首選Rust官網:
詳細文檔可以通過rustup doc在線閱讀,也可以直接在瀏覽器上進入官網閱讀。
我這里還列出了一些優質的Rust學習鏈接和書籍,大家可以根據實際情況學習:
Rust 備忘清單:https://cheats.rs/
書籍:
《Rust For Rustaceans》Rust進階書籍
《The Rust Programming Language》Rust入門書籍,官網上有非官方翻譯
《Programming Rust》Rust入門書籍
《Creative Projects for Rust Programmers》偏向Rust實戰的書籍
鏈接:
Rust備忘清單:https://cheats.rs/
Rust圣經,名字就足夠震撼:https://course.rs/about-book.html
通過practice:https://zh.practice.rs/why-exercise.html
同樣通過practice學習Rust:https://doc.rust-lang.org/rust-by-example/
通過list學習Rust:https://rust-unofficial.github.io/too-many-lists/
Rust秘典,里面對知識點的講解蠻不錯的:https://nomicon.purewhite.io/intro.html
一個學習Rust的倉庫,里面包含很多練習題:https://github.com/rust-lang/rustlings
Google的Rust課程:https://google.github.io/comprehensive-rust/
(想更方便地收藏以上????的朋友,也可以在微信后臺回復“rust”,可以獲取????匯總)