極速下載站 —— 提供優(yōu)質(zhì)軟件下載服務(wù),感受全新的極速下載體驗(yàn)!

最近更新 | 軟件專題 | 軟件分類 | 軟件排行

您的位置:極速下載站資訊首頁軟件教程軟件資訊 → Rust語言為什么是系統(tǒng)編程的最佳選擇?

Rust語言為什么是系統(tǒng)編程的最佳選擇?

時(shí)間:2019-07-29 10:19:42  作者:Dorise  瀏覽量:65

大家好!今日小編看到微軟在報(bào)道相關(guān)RUST語言的相關(guān)消息,那么什么是RUST?Rust是一門系統(tǒng)編程語言 ,專注于安全 ,尤其是并發(fā)安全,支持函數(shù)式和命令式以及泛型等編程范式的多范式語言。Rust在語法上和C++類似 ,但是設(shè)計(jì)者想要在保證性能的同時(shí)提供更好的內(nèi)存安全。 Rust最初是由Mozilla研究院的Graydon Hoare設(shè)計(jì)創(chuàng)造,然后在Dave Herman,Brendan Eich以及很多其他人的貢獻(xiàn)下逐步完善的。 Rust的設(shè)計(jì)者們通過在研發(fā)Servo網(wǎng)站瀏覽器布局引擎過程中積累的經(jīng)驗(yàn)優(yōu)化了Rust語言和Rust編譯器。

圖:

Rust語言為什么是系統(tǒng)編程的最佳選擇?圖1

上星期,MSRC(微軟安全呼應(yīng)中心)透露出擁抱 Rust 的打算,隨后他們將這個(gè)話題擴(kuò)展為一個(gè)系列,進(jìn)一步論述了運(yùn)用安全的體系編程言語的的必要性,以及挑選 Rust 的原因。

在該系列最新一篇文章中,MSRC 團(tuán)隊(duì)首席云開發(fā)布道師 Ryan Levick 解釋了為什么他們以為 Rust 編程言語目前是業(yè)界選用的最佳挑選,不僅僅是因?yàn)樗梢砸詢?nèi)存安全的方法編寫體系級(jí)程序。

圖:

Rust語言為什么是系統(tǒng)編程的最佳選擇?圖2

“首先,已經(jīng)有許多出色的內(nèi)存安全言語在微軟內(nèi)外廣泛運(yùn)用,包含 .NET 言語(像是 C# 或 F#)和其他言語(例如 Swift、Go 和 Python)。咱們鼓勵(lì)目前運(yùn)用 C 或 C++ 的人將其間恣意一種言語歸入考慮。不過現(xiàn)在議論的是對(duì)安全的體系編程言語的需求,此類工作負(fù)載需求 C、C++ 和 Rust 可以供給的速度和可猜測(cè)的功能。 通過垃圾收回實(shí)現(xiàn)內(nèi)存安全的言語不是體系編程的抱負(fù)挑選,因?yàn)樗鼈兊倪\(yùn)行時(shí)刻會(huì)導(dǎo)致不行猜測(cè)的功能和不必要的成本。”

圖:

Rust語言為什么是系統(tǒng)編程的最佳選擇?圖3

功能和操控

Levick 指出,最好先考慮一下無法從 C 和 C++ 拋棄的東西——功能和操控,就能更清楚地理解 Rust 為什么是一個(gè)好的挑選。像 C 和 C++ 一樣,Rust 有一個(gè)最小的可選“運(yùn)行時(shí)”。Rust 的規(guī)范庫同樣依賴于 libc,但規(guī)范庫也是可選的,因此在沒有操作體系的平臺(tái)上運(yùn)行也是可能的。

依然像 C 和 C++ 一樣,Rust 為程序員在何時(shí)分配內(nèi)存以及分配內(nèi)存的多少上供給了精細(xì)的操控,使程序員可以非常清楚地知道程序每次運(yùn)行時(shí)的切當(dāng)履行方法。在原始速度、操控和可猜測(cè)性方面,這對(duì)于功能來說意味著什么?那就是,“Rust、C 和 C++ 可以用類似的術(shù)語來思考”。

安全

Rust 與 C 和 C++ 的區(qū)別在于其強(qiáng)壯的安全保證,某種程度上來說 Rust 完全是內(nèi)存安全(memory safe)的。正如之前那篇文章說到的,微軟大約 70% 的安全問題是內(nèi)存安全問題。假如這些軟件用 Rust 編寫,那么這 70% 的安全問題很可能就不存在。

在體系編程中,有時(shí)程序員有必要履行無法靜態(tài)驗(yàn)證為安全的操作。Rust 為程序員供給了將這些操作封裝在安全抽象中的工具,這意味著從前降級(jí)為代碼注釋或約好的東西可以由 Rust 編譯器靜態(tài)強(qiáng)制履行。

不僅僅是功能與安全

Rust 最初引起 MSRC 的興趣正是由于上述功能與安全方面的特性。但它的的魅力不止于此,已經(jīng)有其他微軟團(tuán)隊(duì)開始選用 Rust,主要出于以下原因:

根據(jù)微軟內(nèi)部查詢,選用它的最主要原因是“精密性”(correctness)——“if it compiles,then it works”。

Rust 靜態(tài)地強(qiáng)制履行程序的許多特點(diǎn),已經(jīng)遠(yuǎn)超內(nèi)存安全性,還包含空指針安全性和數(shù)據(jù)爭用安全性(即沒有來自兩個(gè)或多個(gè)線程的一塊內(nèi)存的不同步拜訪)。

Rust 的豐富類型體系使編寫賦有表現(xiàn)力的程序成為可能。 具有相關(guān)數(shù)據(jù)的枚舉和強(qiáng)壯的 trait 體系等概念進(jìn)一步強(qiáng)化了 Rust 的目標(biāo),即盡可能使程序無錯(cuò)誤。

圖:

12下一頁>

相關(guān)資訊

軟件資訊排行
最新軟件資訊
軟件教程分類

更多常用電腦軟件