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

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

您的位置:極速下載站資訊首頁系統(tǒng)教程系統(tǒng)資訊 → RUST編程言語被認(rèn)可的原因

RUST編程言語被認(rèn)可的原因

時(shí)間:2019-07-25 14:01:42  作者:johnnyl  瀏覽量:43

對(duì)于MSRC團(tuán)隊(duì)解釋他們認(rèn)為RUST編程言語的原因,不僅限于RUST編程語言在編寫時(shí)能夠保證內(nèi)存安全。

圖:RUST編程言語被認(rèn)可

RUST編程語言圖1

“第一點(diǎn)是現(xiàn)已有許多出色的內(nèi)存安全言語在微軟表里廣泛運(yùn)用,包含 .NET 言語(像是 C# 或 F#)和其他言語(例如 Swift、Go 和 Python)。咱們鼓舞現(xiàn)在運(yùn)用 C 或 C++ 的人將其間恣意一種言語納入考慮。不過現(xiàn)在議論的是對(duì)安全的體系編程言語的需求,此類作業(yè)負(fù)載需要 C、C++ 和 Rust 能夠供給的速度和可預(yù)測(cè)的功能。 經(jīng)過廢物收回實(shí)現(xiàn)內(nèi)存安全的言語不是體系編程的理想挑選,因?yàn)樗鼈兊倪\(yùn)轉(zhuǎn)時(shí)間會(huì)導(dǎo)致不行預(yù)測(cè)的功能和不必要的成本。”

第二點(diǎn)是功能和操控

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

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

圖:RUST編程言語被認(rèn)可

RUST編程語言圖2

第三點(diǎn)是安全

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

在體系編程中,有時(shí)程序員有必要履行無法靜態(tài)驗(yàn)證為安全的操作。Rust 為程序員供給了將這些操作封裝在安全籠統(tǒng)中的東西,這意味著曾經(jīng)降級(jí)為代碼注釋或約定的東西能夠由 Rust 編譯器靜態(tài)強(qiáng)制履行。

第四點(diǎn)是不僅僅是功能與安全

圖:RUST編程言語被認(rèn)可

RUST編程語言圖3

Rust 最初引起 MSRC 的興趣正是因?yàn)樯鲜龉δ芘c安全方面的特性。但它的的魅力不止于此,現(xiàn)已有其他微軟團(tuán)隊(duì)開端選用 Rust,主要出于以下原因:

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

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

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

Rust 現(xiàn)有的社區(qū)對(duì)該言語有很大好處。雖然 Rust 依然是一種年輕言語,但它擁有一個(gè)健康的生態(tài)體系,既能夠促進(jìn)開源社區(qū)發(fā)展強(qiáng)大,又能夠支持出產(chǎn)用戶。

Levick 表明有滿足的理由相信 Rust 會(huì)有一個(gè)光明的未來,“雖然現(xiàn)在大規(guī)模選用 Rust 還為時(shí)過早,但前期選用 Rust 通常是十分活躍且正面的”。他們相信 Rust 在編寫安全的體系軟件時(shí)會(huì)改變游戲規(guī)則。Rust 供給編寫底層體系所需的功能和操控,一起使軟件開發(fā)人員能夠編寫更強(qiáng)健、安全的程序。

不過,MSRC 在研究 Rust 時(shí)發(fā)現(xiàn)了一些問題,其間包含怎么規(guī)范 Rust 的“不安全”(unsafe)超集的運(yùn)用,缺乏與 C++ 的一流互操作性,以及與現(xiàn)有 Microsoft 東西的互操作性。這確實(shí)對(duì)微軟選用 Rust 提出了挑戰(zhàn),但 MSRC 還是滿懷等待:“咱們對(duì)這些可能性感到振奮。 雖然還有許多關(guān)于 Rust 怎么習(xí)慣整個(gè) Microsoft 工程的問題需要弄清楚,但咱們鼓舞其他人一同加入,認(rèn)真考慮這門言語,以滿足他們的體系編程需求。”

相關(guān)資訊

相關(guān)軟件

系統(tǒng)資訊排行
最新系統(tǒng)資訊
系統(tǒng)教程分類

更多常用電腦軟件

更多同類軟件專題