新聞中心
Rust 是什么?

浦江ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
Rust 是一種系統(tǒng)編程語言,它運(yùn)行速度驚人,并且可以避免幾乎所有的崩潰、內(nèi)存區(qū)塊錯(cuò)誤 以及數(shù)據(jù)競(jìng)爭(zhēng)。你也許會(huì)質(zhì)疑為什么我們還需要又一種這樣的語言,因?yàn)橐呀?jīng)有很多同類的語言了。這篇文章將會(huì)告訴你為什么。
安全性 vs. 控制權(quán)
你也許見過上面的圖譜。一邊是 C/C++,對(duì)運(yùn)行的硬件擁有更多的控制權(quán),因此它可以讓開發(fā)者通過對(duì)所生成的機(jī)器代碼進(jìn)行更精細(xì)的控制來優(yōu)化性能。然而這不是很安全,這很容易造成內(nèi)存區(qū)塊錯(cuò)誤以及像 心血漏洞 這樣的安全漏洞。
另一邊是像 Python、Ruby 和 JavaScript 這種沒有給予開發(fā)者多少控制權(quán)但是可以創(chuàng)建出更安全的代碼的語言。雖然這些代碼可以生成相當(dāng)安全并且可控的異常,但是它們不會(huì)造成內(nèi)存區(qū)塊錯(cuò)誤。
在圖譜中間的區(qū)域是 Java 和一些其它混合了這些特性的語言。它們提供對(duì)運(yùn)行的硬件部分控制權(quán),并且嘗試盡量減少漏洞的出現(xiàn)。
Rust 有點(diǎn)不太一樣,它并沒有出現(xiàn)在這個(gè)圖譜上。它同時(shí)提供給開發(fā)者安全性和控制權(quán)。
Rust 的特性
Rust 是一種像 C/C++ 一樣的系統(tǒng)編程語言,除此之外它還給予開發(fā)者對(duì)內(nèi)存分配細(xì)粒度的控制。它不需要垃圾回收器。它的運(yùn)行環(huán)境(runtime)很小,運(yùn)行速度接近于在裸機(jī)上的運(yùn)行。它為開發(fā)者提供了代碼性能更大的保證。此外,任何了解 C/C++ 的人都能讀懂以及編寫 Rust 的代碼。
Rust 的運(yùn)行速度非???,因?yàn)樗且环N編譯語言。它使用 LLVM 作為編譯器的后端,并且還可以利用一大堆優(yōu)化。在許多領(lǐng)域,它的性能都要高于 C/C++。它像 JavaScript、Ruby 和 Python 一樣,與生俱來就是安全的,這意味著它們不會(huì)造成內(nèi)存區(qū)塊錯(cuò)誤、野指針(dangling pointers)或者空指針(null pointers)。
另外一個(gè)很重要的特性就是消除數(shù)據(jù)競(jìng)爭(zhēng)。如今,大多數(shù)計(jì)算機(jī)都具有多個(gè)核心,許多線程并發(fā)運(yùn)行。然而,開發(fā)者很難編寫好的并行代碼,因此這個(gè)特性除去了他們的后顧之憂。Rust 使用兩個(gè)關(guān)鍵概念來消除數(shù)據(jù)競(jìng)爭(zhēng):
- 所有權(quán)(Ownership)。每一個(gè)變量都被移動(dòng)到一個(gè)新的位置,并防止通過先前的位置來引用它。每一個(gè)數(shù)據(jù)塊只有一個(gè)所有者。
- 借用(Borrowing)。被擁有的值可以借用,以允許在一段時(shí)間內(nèi)使用。
在 Fedora 24 和 25 上使用 Rust
若要開始使用,只需安裝軟件包:
- sudo dnf install rust
示例代碼 helloworld.rs:
- fn main() { println!("Hello, Rust is running on Fedora 25 Alpha!");}
編譯并執(zhí)行:
- rustc helloworld.rs./helloworld
在 Fedora 上可以執(zhí)行以下命令來安裝***的測(cè)試版本:
- sudo dnf --enablerepo=updates-testing --refresh --best install rust
英語原文:Rust meets Fedora
新聞名稱:當(dāng)Rust遇上Fedora
標(biāo)題URL:http://www.dlmjj.cn/article/cdgjdpp.html


咨詢
建站咨詢
