2016年12月26日 星期一

[名詞定義] Rust

Rust是一個由Mozilla主導開發的通用、編譯型程式語言。

它的設計準則為「安全,並行,實用」,支援函數式並行式

程序式以及物件導向的 程式風格 。

Rust 的設計目標之一,是要使設計大型的網際網路客戶端伺服器的任務變得更容易。

因此更加強調安全性、記憶體配置、以及並行處理等方面的特性。在效能上,

具有額外安全保證的代碼會比 C++ 慢一些,但是如果以 C++ 也手工提供保證的情況下,

則兩者效能上是相似的。


它的語法設計,與 C語言C++ 相當相似,區塊 (block) 使用大括號隔開,
流程控制的關鍵字如 if, else, while 等等。在保持相似性的同時,

Rust 也加進了新的關鍵字,如用於模式符合 (pattern matching) 的 match

(與 switch 相似) 則是使用 C/C++ 系統程式語言的人會相對陌生的概念。

儘管在語法上相似,Rust 的語義 (semantic) 和 C/C++ 非常不同。。

為了提供記憶體安全,它的設計不允許空指標懸空指標

資料只能透過固定的初始化形態來建立。




Rust 1.0已不再使用垃圾回收器,而是全面改用基於參照計數的智慧指標來管理記憶體。

型別推導也是 Rust 提供的特性之一,使用 let 語法宣告的變數可以不用宣告型別,

亦不需要初始值來推斷型別。但如果在稍後的程式中從未指派任何值到該變數,

編譯器會發出編譯時 (compile time) 錯誤。 函式可以使用泛型化參數 (generics),

但是必須綁定 Trait。沒有任何方法可以使用方法或運算子,

又不宣告它們的型別,每一項都必確明確定義。


以上資料取自 WiKi  

沒有留言:

張貼留言