Day01#
Rust 歷史了解#
有趣的開發經歷#
在 2006 年的某天,作者工作到精疲力竭後,本想回公寓享受下生活,結果發現電梯的程式出 Bug 崩潰了,要知道在國外,修理工可不像在中國那樣隨時待崗,還要知道,他家在 20 多樓!最後,他選擇了妥協,去酒店待幾天等待電梯的修理。
當然,一般人可能就這樣算了,畢竟忍幾天就過去了嘛。但是這名偉大的程式設計師顯然也不是一般人,他面對害他流離失所的電梯拿起了屠龍寶刀 - Rust。
自此,劈開一個全新的編程世界。
Rust 效率#
學習效率#
通過了解,Rust 的學習曲線不可謂不陡峭。
Rust 之難,不在於語言特性,這些都可以很容易學到,而在於:
- 實踐中如何融會貫通的運用
- 遇到了坑時(生命週期、借用錯誤,自引用等)如何迅速、正確的解決
- 大量的標準庫方法記憶及熟練使用,這些是保證開發效率的關鍵
心智負擔較重,特別是初中級階段
運行效率#
得益於各種零開銷抽象、深入到底層的優化潛力、優質的標準庫和第三方庫實現,Rust 具備非常優秀的性能,和 C、C++ 是 一個級別。
同時 Rust 有一個極大的優點:只要按照正確的方式使用 Rust,無需性能優化,就能有非常優秀的表現,不可謂不驚艷。
開發效率#
Rust 的開發效率可以用先抑後揚來形容。
當你熟悉各種標準庫、生命週期和所有權的常用解決方法,乃至形成肌肉記憶時,開發效率將大大提升,可以寫出高質量的原生程式碼了。
總結#
連續 6 年最受歡迎的語言當然不是浪得虛名。 無 GC、效率高、工程性強、強安全性以及能同時得到工程派和學院派認可,這些令 Rust 擁有了自己的特色和生存空間。社區的友善,生態的快速發展,大公司的重倉跟進,一切的一切都在說明 Rust 的璀璨未來。
學習過程中的建議#
- 要提前做好會遇到困難的準備,因為如上所說,學習 Rust 不僅僅是在學習一門編程語言
- 不要抱著試一試的心態去試一試,否則是浪費時間和消耗學習激情,作為連續七年榮獲全世界最受喜愛桂冠的語言,Rust 不僅僅是值得試一試 :)
- 深入學習一本好書或教程
歷經九九八十一難,立地成大佬。(哈哈😀,作者真是十分有趣)
關於 Rust 的安裝和配置#
Windows 下安裝#
因為個人使用 windows 系統,所以只記錄 windows 下的 rust 安裝,且並非標準。
Windows 上安裝 Rust 需要有 C++ 環境,以下為安裝的兩種方式:
1. x86_64-pc-windows-msvc(官方推薦)
先安裝 Microsoft C++ Build Tools
,勾選安裝 C++ 環境即可。安裝時可自行修改緩存路徑與安裝路徑。安裝完成後,Rust 所需的 msvc 命令行程式需要手動添加到環境變數中,否則安裝 Rust 時 rustup-init 會提示未安裝 Microsoft C++ Build Tools,其位於:%Visual Studio 安裝位置%\VC\Tools\MSVC\%version%\bin\Hostx64\x64
(請自行替換其中的 % Visual Studio 安裝位置 %、% version% 字段)下。
如果你不想這麼做,可以選擇安裝 Microsoft C++ Build Tools 新增的 “定制” 終端 Developer Command Prompt for %Visual Studio version%
或 Developer PowerShell for %Visual Studio version%
,在其中運行 rustup-init.exe
。
準備好 C++ 環境後開始安裝 Rust:
在 RUSTUP-INIT 下載系統相對應的 Rust 安裝程式,一路默認即可。
PS C:\Users\Hehongyuan> rustup-init.exe
......
Current installation options:
default host triple: x86_64-pc-windows-msvc
default toolchain: stable (default)
profile: default
modify PATH variable: yes
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
Linux#
Linux 環境為 VMware 虛擬機建立虛擬環境,其中磁碟映像由rCore-Tutorial-Book-v3
實驗文件所提供,其中 Rust 以及 C 語言相關環境已經配置完全。故沒有了解其安裝方式,後續若有需要會學習。
更新和卸載#
檢查是否安裝成功
$ rustc -V
rustc 1.72.1 (d5c2e9c34 2023-09-13)
$ cargo -V
rustc 1.72.1 (d5c2e9c34 2023-09-13)
更新
$ rustup update
卸載
$ rustup self uninstall