亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

【CSDN 編者按】Rust 連續(xù)八年蟬聯(lián)“最受歡迎的編程語(yǔ)言”,它究竟有什么魅力,讓全球開發(fā)者這個(gè)新晉編程語(yǔ)言如此著迷?一起來(lái)看看正在不斷發(fā)展和壯大的 Rust 的起源、能力、資源和它的使用場(chǎng)景。

原文鏈接:https://Github.blog/2023-08-30-why-rust-is-the-most-admired-language-among-developers/

作者 | Sara Verdi

譯者|Ric Guan 責(zé)編 | 屠敏

出品 | CSDN(ID:CSDNnews)

在 Stack Overflow 的年度開發(fā)者調(diào)查中,Rust 已經(jīng)連續(xù)第八年榮登 “最受歡迎編程語(yǔ)言” 榜首。并且超過(guò) 80% 的開發(fā)者表示明年還想使用 Rust 語(yǔ)言,這不禁讓人好奇,一門誕生不到 20 年的語(yǔ)言是如何俘獲全球開發(fā)者的心。

在本文中,我們將介紹 Rust 的歷史、它的常用用途、開發(fā)者如此喜愛它的原因,并提供一些資源,幫助您開始學(xué)習(xí) GitHub 上增長(zhǎng)最快的語(yǔ)言之一。

所以,Rust 是什么?

Rust 的“Hello World” 示例

Rust 最初是作為 C 和 C++ 的一種更安全的替代語(yǔ)言,它是一種系統(tǒng)編程語(yǔ)言,因其強(qiáng)調(diào)安全性、性能和生產(chǎn)效率,在開發(fā)人員中大受歡迎。Rust 是一種靜態(tài)類型語(yǔ)言,因此變量和表達(dá)式類型會(huì)在編譯時(shí)就被檢查并確認(rèn),這有助于增強(qiáng)內(nèi)存安全性和錯(cuò)誤檢測(cè),從而提高架構(gòu)的可靠性。

2006 年,軟件開發(fā)人員 Graydon Hoare 在 Mozilla 工作期間,將 Rust 作為個(gè)人項(xiàng)目啟動(dòng)了。根據(jù)《麻省理工科技評(píng)論》的采訪,Rust 的靈感來(lái)自 Hoare 公寓樓里一部壞掉的電梯。當(dāng)時(shí)電梯操作系統(tǒng)的軟件崩潰了,Hoare 明白,類似的問(wèn)題通常來(lái)自程序內(nèi)存的問(wèn)題。

通常,這類設(shè)備的軟件都是用 C 或 C++ 編寫的,但這些語(yǔ)言需要大量的內(nèi)存管理,很容易導(dǎo)致錯(cuò)誤,造成系統(tǒng)崩潰。因此,Hoare 開始著手研究如何創(chuàng)建一種既緊湊又無(wú)內(nèi)存錯(cuò)誤的編程語(yǔ)言。

后來(lái),他向一位經(jīng)理展示了這個(gè)項(xiàng)目 -- 這也讓 Mozilla 在 2009 年贊助了這個(gè)項(xiàng)目,作為將 Rust 語(yǔ)言納入一項(xiàng)實(shí)驗(yàn)性瀏覽器引擎開發(fā)的長(zhǎng)期努力的一部分。2010 年,Mozilla Research 正式宣布了 Rust 項(xiàng)目,并將源代碼作為開源項(xiàng)目向公眾發(fā)布。經(jīng)過(guò)幾年的開發(fā),Rust 達(dá)到了穩(wěn)定和成熟的狀態(tài),于 2015 年 5 月發(fā)布了 Rust 1.0。這一里程碑標(biāo)志著 Rust 已經(jīng)為生產(chǎn)做好了準(zhǔn)備,并為開發(fā)人員提供了一個(gè)基礎(chǔ)。

自 1.0 發(fā)布以來(lái),Rust 的受歡迎程度和采用率呈爆炸式增長(zhǎng),微軟 windows 等頂級(jí)應(yīng)用軟件紛紛利用 Rust 的內(nèi)存安全代碼重寫核心庫(kù)。在科技巨頭之外,Rust 還擁有一個(gè)充滿活力的開發(fā)者社區(qū),即 "Rustaceans",他們致力于讓 Rust 體驗(yàn)成為一種活躍的協(xié)作體驗(yàn)。

Ferris,Rust 的非官方吉祥物

根據(jù) SlashData 最近的一項(xiàng)調(diào)查,到 2023 年,全球大約有 280 萬(wàn) Rust 開發(fā)人員,這一數(shù)字在過(guò)去兩年中幾乎翻了三倍。Rust 擁有大量活躍的論壇、文檔,以及為各種技能水平的開發(fā)者提供支持的社區(qū),因此在最受歡迎語(yǔ)言排行榜上名列前茅也就不足為奇了。

Rust 有什么特別之處?

那么,究竟 Rust 的哪些關(guān)鍵功能使其對(duì)開發(fā)者如此有吸引力?

簡(jiǎn)單來(lái)講,Rust 解決了一些令 C 和 C++ 相關(guān)的開發(fā)者最令人沮喪的內(nèi)存管理問(wèn)題,但這并不是它唯一的閃光點(diǎn)。GitHub 的一名軟件工程師 Jason Orendorff 在一本關(guān)于 Rust 編程的書中談到:

“對(duì)我來(lái)說(shuō),Rust 的偉大之處在于它既快速又可靠,” Orendorff 說(shuō)道:“它讓我能夠編寫在 16 個(gè)內(nèi)核上運(yùn)行的多頭程序,并保持它們的可讀性、可維護(hù)性和無(wú)崩潰性。它還允許我編寫需要控制內(nèi)存布局的非常低級(jí)的算法,并引入一個(gè)使 HTTPS 請(qǐng)求變得超級(jí)簡(jiǎn)單的包。正是這些功能的結(jié)合使 Rust 如此獨(dú)特。”

在此基礎(chǔ)上,這里還有一些深受喜愛的特性和功能:

  • 并發(fā)性。Rust 通過(guò)內(nèi)置其所有權(quán)系統(tǒng)和借用模型為并發(fā)編程提供支持,所有權(quán)系統(tǒng)對(duì)數(shù)據(jù)訪問(wèn)執(zhí)行嚴(yán)格的規(guī)則,借用模型則是允許受控的同時(shí)訪問(wèn)來(lái)防止數(shù)據(jù)競(jìng)賽。這確保了多個(gè)線程可以在共享數(shù)據(jù)上工作,而不會(huì)引入與內(nèi)存相關(guān)的問(wèn)題。
  • 無(wú)垃圾回收。與一些編程語(yǔ)言不同,Rust 不采用垃圾回收。相反,它采用所有權(quán)和借用規(guī)則來(lái)管理內(nèi)存,這有助于開發(fā)人員精確控制內(nèi)存的分配和刪除,從而實(shí)現(xiàn)高效的資源管理。
  • Cargo 軟件包管理器。Rust 內(nèi)置的軟件包管理器 Cargo, 簡(jiǎn)化了項(xiàng)目管理、依賴關(guān)系跟蹤和構(gòu)建過(guò)程,這有助于高效、有序地完成開發(fā)工作流程。但這并不能說(shuō)明 Cargo 生態(tài)系統(tǒng)有多瘋狂。根據(jù) Orendorff:“我的團(tuán)隊(duì)利用高質(zhì)量的開源軟件包進(jìn)行散列、序列化、多線程、數(shù)據(jù)結(jié)構(gòu)、壓縮等工作。這些都是對(duì)性能至關(guān)重要的庫(kù)。如果沒(méi)有其中的一些,我們?cè)?GitHub 上重新思考代碼搜索的項(xiàng)目就不可能實(shí)現(xiàn)。“ 還有一個(gè)有趣的事實(shí):Rust 實(shí)際上是第一種擁有標(biāo)準(zhǔn)軟件包管理器的系統(tǒng)編程語(yǔ)言,因此 Rust 生態(tài)系統(tǒng)非常強(qiáng)大。
  • 零成本抽象。此功能允許開發(fā)人員編寫高級(jí)代碼抽象和功能,而不會(huì)引入任何運(yùn)行時(shí)性能開銷。
  • 模式匹配。這種強(qiáng)大的語(yǔ)言功能使開發(fā)人員能夠簡(jiǎn)潔有效地將復(fù)雜的數(shù)據(jù)結(jié)構(gòu)與特定模式進(jìn)行匹配,以干凈且可讀的方式提取和處理不同的案例或場(chǎng)景。
  • 類型推斷。此功能允許 Rust 編譯器在編碼時(shí)根據(jù)上下文自動(dòng)檢測(cè)表達(dá)式。“許多編程語(yǔ)言都有某種類型推斷,” Orendorff 說(shuō)。“C# 和 C++ 有一些,Rust 有更多,Haskell、Scala 和 ML 這樣的語(yǔ)言有更多。”

這段代碼是 Rust 開發(fā)者之間的一個(gè)內(nèi)部笑話,運(yùn)行一下試試看?

Rust 常用于哪些領(lǐng)域?

由于可以直接訪問(wèn)硬件和內(nèi)存,Rust 非常適合嵌入式系統(tǒng)和裸機(jī)開發(fā)。它也是一種通用語(yǔ)言,因此也可用于各種應(yīng)用。

讓我們來(lái)探討幾個(gè)關(guān)鍵用例:

使用 Rust 構(gòu)建性能關(guān)鍵型后端系統(tǒng)

性能關(guān)鍵型后端系統(tǒng)是處理需要高速處理、低延遲響應(yīng)和高效資源利用的任務(wù)的軟件組件或服務(wù),而 Rust 的性能、線程安全和錯(cuò)誤處理使其成為開發(fā)這類系統(tǒng)的絕佳選擇。事實(shí)上,我們?cè)?GitHub 就使用 Rust 構(gòu)建了這樣一些系統(tǒng)。例如,我們的代碼搜索功能的后臺(tái)就是用 Rust 編寫的。

使用 Rust 開發(fā)操作系統(tǒng)

Rust 最初是為了解決操作系統(tǒng)問(wèn)題而創(chuàng)建的(還記得電梯問(wèn)題嗎?),因此,毫不奇怪,它經(jīng)常用于構(gòu)建操作系統(tǒng)、內(nèi)核、設(shè)備驅(qū)動(dòng)程序或其他低級(jí)組件,這其中對(duì)于內(nèi)存和性能的控制至關(guān)重要。

Redox,一個(gè)類 Unix 操作系統(tǒng),是用 Rust 編寫的,貢獻(xiàn)了 Rust 最重要的功能之一:安全性。“Fuchsia 是谷歌構(gòu)建的另一個(gè)例子,”Orendorff 說(shuō), “如果你有一個(gè) google Nest 智能揚(yáng)聲器,它很可能運(yùn)行 Fuchsia。”

Rust 用于與操作系統(tǒng)相關(guān)的代碼

Rust 也非常適合編寫執(zhí)行與操作系統(tǒng)密切交互的任務(wù)的代碼。例如,GitHub 的 Codespaces 團(tuán)隊(duì)正在利用 Rust 來(lái)提高 GitHub Codespaces 中虛擬磁盤的啟動(dòng)速度并優(yōu)化 Azure 存儲(chǔ)的利用率。Coursera 還在其在線評(píng)分系統(tǒng)中采用了 Rust,因?yàn)樗?Docker 中運(yùn)行,并且需要一種依賴性極小的語(yǔ)言來(lái)編譯機(jī)器代碼。

使用 Rust 進(jìn)行 Web 開發(fā)

Rust 越來(lái)越多地用于 Web 開發(fā),尤其是在服務(wù)器端。Rust 的異步編程模型和性能特征使其適合構(gòu)建高性能 Web 服務(wù)器、API 和后端服務(wù)。另外,Rust 的 Web 框架不斷涌現(xiàn),比如 Rocket,它們可以幫助人們開始編寫安全的 Web 應(yīng)用程序。這些框架的出現(xiàn)凸顯了 Rust 作為一種成熟語(yǔ)言的地位,也有助于增加對(duì)希望在前端或后端工作中使用 Rust 的人們的支持。

使用 Rust 進(jìn)行加密和區(qū)塊鏈開發(fā)

Rust 的速度、內(nèi)存管理和安全性都有助于其參與加密貨幣和區(qū)塊鏈技術(shù)。例如,Polkadot 旨在以安全和去中心化的方式共享信息和資產(chǎn),實(shí)現(xiàn)多個(gè)區(qū)塊鏈之間的互操作性和交互,便是利用 Rust 構(gòu)建其核心基礎(chǔ)設(shè)施。Polkadot 的運(yùn)行時(shí)邏輯控制區(qū)塊鏈的行為和規(guī)則,也是用 Rust 編寫的。

使用 Rust 構(gòu)建 CLI 工具

Rust 可編譯高效的機(jī)器代碼的能力及其富有表現(xiàn)力的語(yǔ)法,使其成為構(gòu)建命令行工具和應(yīng)用程序強(qiáng)有力的選擇。另外,編寫命令行應(yīng)用程序是學(xué)習(xí)和熟悉 Rust 的好方法。

使用 Rust 進(jìn)行嵌入式系統(tǒng)和物聯(lián)網(wǎng)開發(fā)

Rust 的最小運(yùn)行時(shí)間和對(duì)內(nèi)存布局的控制使其對(duì)于開發(fā)嵌入式系統(tǒng)和物聯(lián)網(wǎng) (IoT) 設(shè)備非常有用。它能夠防止與內(nèi)存相關(guān)的錯(cuò)誤、管理并發(fā)以及生成小型高效的二進(jìn)制文件,從而滿足物聯(lián)網(wǎng)的安全性、實(shí)時(shí)性和效率需求。

為什么開發(fā)人員喜歡 Rust

盡管 Rust 的用戶群遠(yuǎn)不如 JAVA 或 Python/ target=_blank class=infotextkey>Python 那樣大,但 Rust 仍在活躍在互聯(lián)網(wǎng)上最受歡迎的編程語(yǔ)言的大熱門競(jìng)爭(zhēng)榜單中。甚至還有一個(gè)完整的網(wǎng)站,其中包含開發(fā)人員對(duì) Rust 的贊揚(yáng)。

但究竟為什么 Rust 如此受到開發(fā)者的推崇呢?如果你將非要總結(jié)開發(fā)人員如此喜愛 Rust 的幾個(gè)原因,那么它們必須是該語(yǔ)言的速度、安全性和性能。

此外,Rust 正在通過(guò)新的框架、工具和資源不斷發(fā)展和成長(zhǎng)。你可以在 Awesome-rust 存儲(chǔ)庫(kù)中密切關(guān)注對(duì)該語(yǔ)言的貢獻(xiàn),該存儲(chǔ)庫(kù)包含令人印象深刻的 Rust 代碼和資源列表。

底線:欣賞 Rust 不僅僅是采用一種語(yǔ)言,而是擁抱一種優(yōu)先考慮創(chuàng)新的心態(tài),同時(shí)又不損害穩(wěn)定性和安全性的核心原則。

分享到:
標(biāo)簽:Rust
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定