日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Rust和C++哪個(gè)更好入門(mén)

jf_78858299 ? 來(lái)源:CSDN ? 作者:Nick Heath ? 2023-03-17 14:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作為一門(mén)系統(tǒng)編程語(yǔ)言,Rust 一直致力于解決高并發(fā)和高安全性系統(tǒng)等問(wèn)題。和老牌的 C++ 相比,Rust 的性能也毫不遜色。但曾幾何時(shí),因?yàn)樯鲜蛛y、用戶(hù)量少、社區(qū)不活躍等諸如問(wèn)題讓想要入門(mén)的開(kāi)發(fā)者感到迷茫,如今新的一年已經(jīng)開(kāi)始,我們是否真的有必要學(xué)習(xí) Rust?

一些開(kāi)發(fā)人員非常沉迷于 Rust,因?yàn)樗峁┝艘恍┌踩胧绫WC內(nèi)存安全,它在安全代碼里不容許空指針、懸垂指針和數(shù)據(jù)競(jìng)爭(zhēng)。并且,Rust 的性能和標(biāo)準(zhǔn)的 C++ 性能不相上下!

Rust 是由 Mozilla 開(kāi)發(fā)人員 Graydon Hoare 在 2006 年開(kāi)發(fā)的個(gè)人項(xiàng)目,從那個(gè)時(shí)候起,該語(yǔ)言就像它所命名的 Rust 真菌一樣,開(kāi)始傳播,它今天被廣泛應(yīng)用于構(gòu)建網(wǎng)絡(luò)、嵌入式計(jì)算機(jī)、分布式服務(wù)和命令行。

“Rust 的最大優(yōu)勢(shì)在于它是一種賦能技術(shù)!”Rust 編程語(yǔ)言核心團(tuán)隊(duì)的 Carol Nichols 說(shuō)道,他本人還是 The Rust Programming Language 一書(shū)的合著者。

“之前,我們只能使用 C 或者 C++ 才能編寫(xiě)具有較低內(nèi)存占用空間的高質(zhì)量代碼。但是,在生產(chǎn)代碼中使用這些語(yǔ)言需要你手動(dòng)管理內(nèi)存并了解可能導(dǎo)致未定義行為的所有方法?!?/p>

Nichols 指出,不斷擴(kuò)展的 CVE 代碼漏洞數(shù)據(jù)庫(kù)證明“即使是最優(yōu)秀的程序員”也疲于應(yīng)對(duì)層出不窮的代碼漏洞。

“為了確保你安全地使用內(nèi)存,Rust 編譯器非常嚴(yán)格,這樣你就可以專(zhuān)注于你真正想要解決的問(wèn)題。” Nichols 補(bǔ)充到。

除此之外,Rust 還增加了一些高級(jí)語(yǔ)言的生命質(zhì)量特征。

“我喜歡將 Rust 視為高水平的前端,低水平的后端,就編寫(xiě) Rust 的經(jīng)驗(yàn)而言,我感覺(jué)它像是 Ruby、Haskell 和 Scala 的混合。它具有功能性影響,如閉包和迭代器,以及類(lèi)似于 Haskell 的豐富類(lèi)型系統(tǒng)?!盢ichols 說(shuō)。

“就使用 Rust 創(chuàng)建的程序而言,它們與使用 C 和 C ++ 創(chuàng)建的程序在速度和內(nèi)存使用方面最相似?!?/p>

原來(lái) Rust 那么強(qiáng)大!上面這些理由是不是還不足以說(shuō)服你開(kāi)始學(xué)習(xí) Rust!那么請(qǐng)看下面這七個(gè)原因,看完即可開(kāi)始學(xué)習(xí) Rust,切勿錯(cuò)過(guò)好時(shí)機(jī)!

入門(mén)從未如此簡(jiǎn)單

“現(xiàn)在是學(xué)習(xí) Rust 的好時(shí)機(jī),因?yàn)閯倓傇?12 月 6 日發(fā)布的 2018 年版本對(duì)語(yǔ)言編寫(xiě)進(jìn)行了大量改進(jìn),使得 Rust 更加符合常規(guī)的開(kāi)發(fā)的編碼習(xí)慣”負(fù)責(zé)改進(jìn)該版本的 Nichols 說(shuō)到。

Rust 的用戶(hù)群正在增長(zhǎng)

現(xiàn)在已經(jīng)有數(shù)百家公司在軟件生產(chǎn)中使用 Rust,例如 Dropbox、Yelp 和Cloudflare,類(lèi)似像亞馬遜最近宣布的虛擬化技術(shù) Firecracker 這樣的產(chǎn)品也正在與 Rust 一起創(chuàng)建。

不得不承認(rèn)的是,Rust 的使用還處于早期階段,雇主們目前并不急于提高自己公司技術(shù)人員的 Rust 技能,去年在全球吃香的編程語(yǔ)言還是哪些最頂尖的技術(shù)語(yǔ)言。然而,Indeed 的高級(jí)副總裁 Raj Mukherjee 表示,有跡象顯示雇主開(kāi)始對(duì) Rust 產(chǎn)生興趣?!拔覀冮_(kāi)始看到編程語(yǔ)言 Rust 出現(xiàn)在招聘廣告中,盡管全球職位空缺數(shù)量相對(duì)較少。但是整個(gè)搜索量還是超過(guò)可用量,越來(lái)越多的人正在加入到學(xué)習(xí) Rust 語(yǔ)言的行列中?!彼f(shuō)。

Rust 的低開(kāi)銷(xiāo)非常適合嵌入式編程

在家用電器和工業(yè)機(jī)器等非常低功耗的嵌入式系統(tǒng)上編寫(xiě)軟件并運(yùn)行是一項(xiàng)極具挑戰(zhàn)性的工作。Nichols 說(shuō),Rust 非常低的開(kāi)銷(xiāo)使其非常適合在這些微控制器的極其受限的資源上運(yùn)行,Rust 是極少數(shù)適用于在極低資源環(huán)境下運(yùn)行的少數(shù)現(xiàn)代編程語(yǔ)言之一。

“將 Rust 交叉編譯到各種嵌入式設(shè)備有很多很棒的工具,Rust 還支持 C FFI,因此它可以與這個(gè)域和其他域中的現(xiàn)有代碼進(jìn)行集成?!?/p>

現(xiàn)在官方渠道提供的 Rust 版本也已經(jīng)為 Rust 2018 重新設(shè)計(jì),包括嵌入式開(kāi)發(fā)的必要功能,減少了開(kāi)發(fā)人員從第三方庫(kù)中獲取這些功能的需求。

Rust 可以構(gòu)建強(qiáng)大的 Web 應(yīng)用程序

Rust 越來(lái)越像是構(gòu)建 Web 應(yīng)用程序的不錯(cuò)選擇之一,其中有些應(yīng)用程序提供的功能是使用 JavaScript(Web 應(yīng)用程序常用語(yǔ)言)無(wú)法實(shí)現(xiàn)的。Rust 可以編譯成 WebAssembly,它以接近原生的速度在每個(gè)主要的 Web 瀏覽器中運(yùn)行。

“WebAssembly 是一個(gè)非常有前景的新領(lǐng)域,可以將原生應(yīng)用程序性能帶入網(wǎng)絡(luò),而且 Rust 已成為編寫(xiě)編譯為 WebAssembly 的代碼的首選語(yǔ)言?!盢ichols 說(shuō)。

“有一些工具允許你通過(guò) WebAssembly 將 Rust 代碼發(fā)送到 npm(JavaScript 包存儲(chǔ)庫(kù)),然后透明地向下游用戶(hù)發(fā)送,還可以通過(guò)綁定將 Rust 部署到 Web 上,這允許調(diào)用瀏覽器和 JavaScript 本身提供的大多數(shù)功能?!盢ichols 對(duì)此寄予厚望,希望 Rust 可以很快與競(jìng)爭(zhēng)對(duì)手的網(wǎng)絡(luò)開(kāi)發(fā)語(yǔ)言相媲美。

“我很高興有一天我們?cè)?Rust 中擁有一個(gè)功能齊全的 Web 框架。目前生態(tài)系統(tǒng)中已經(jīng)有很多框架和激動(dòng)人心的實(shí)驗(yàn),但是沒(méi)有可比的東西,比如 Rails,在 Rust 還沒(méi)有。我相信我們很快就用擁有這些功能?!?/p>

Rust 適用于構(gòu)建分布式在線(xiàn)服務(wù)

Nichols 表示對(duì)于網(wǎng)絡(luò)服務(wù) Rust 可以使用最少資源來(lái)確保跨多個(gè)線(xiàn)程的內(nèi)存安全的能力使其成為在線(xiàn)分布式系統(tǒng)擴(kuò)展的服務(wù)的絕佳選擇。同時(shí) Rust 還使得編寫(xiě)泄漏內(nèi)存或其他資源的代碼變得更加困難,這些方面可以降低服務(wù)器成本并降低運(yùn)營(yíng)負(fù)擔(dān)。

Rust 從不同的在線(xiàn)服務(wù)中提取數(shù)據(jù)很快并且很容易,因?yàn)樗鼘?shí)現(xiàn)了對(duì) async / await 命令的支持,這將使得編寫(xiě)在等待數(shù)據(jù)傳遞時(shí)不會(huì)掛起的異步代碼變得更加容易。

Rust 適合創(chuàng)建功能強(qiáng)大的跨平臺(tái)命令行工具

跨平臺(tái)命令行應(yīng)用程序是 Rust 真正閃耀的一個(gè)地方。你可以交叉編譯到你所針對(duì)的平臺(tái),并獲得一個(gè)二進(jìn)制文件發(fā)送給用戶(hù)。.Ripgrep 是一個(gè)很好的例子:它是在 Windows、Linux 和 macOS 上運(yùn)行的 grep 重新實(shí)現(xiàn)的 grep,并且比同類(lèi)中的任何其他文本搜索工具。

Rust 擁有新的開(kāi)發(fā)工具和更好的 IDE 支持

現(xiàn)在一系列開(kāi)發(fā)工具都已變得不可用了,其中包括 Rustfmt,一種基于默認(rèn)代碼樣式自動(dòng)格式化代碼的工具;Clippy 幫助確保慣用的代碼風(fēng)格。Rust 用于突出潛在錯(cuò)誤的內(nèi)容,同時(shí)可以通過(guò) Rust 語(yǔ)言服務(wù)器和 IntelliJ Rust 在 IDE 中提供支持。

現(xiàn)有工具也得到了改進(jìn),例如借助檢查器確保代碼內(nèi)存的安全,如果變量使用該數(shù)據(jù)完成,它將不會(huì)阻止其他使用者使用數(shù)據(jù)。

Rust 將在 2019 年作出哪些改善?

編譯時(shí)間更快

Nichols 說(shuō),將 Rust 代碼編譯到軟件所需的時(shí)間仍然“比我們想要的要慢”。有一些關(guān)于漸進(jìn)式編譯的工作已經(jīng)在一定程度上改善了這種情況,并且一直在進(jìn)行的重構(gòu)工作應(yīng)該會(huì)在不久的將來(lái)取得進(jìn)一步的改進(jìn)。

Rust 2018 最近的改進(jìn)-通過(guò)多種方法(包括漸進(jìn)式編譯)更快地重新編譯,其中編譯器僅重新編譯已更改的部分代碼。

更好地選擇軟件庫(kù)

雖然 Nichols 說(shuō)社區(qū)建立的軟件庫(kù)(稱(chēng)為“crates”)的生態(tài)系統(tǒng)自 2015 年 Rust 1.0 以來(lái)已經(jīng)擴(kuò)展了很多,但其表示開(kāi)發(fā)人員可能仍然無(wú)法找到他們正在尋找的功能的庫(kù)。

“在某些情況下可能會(huì)有一個(gè)庫(kù),但它不完整或者不那么成熟,因?yàn)樗枰谏a(chǎn)中使用。我們有各種各樣的工作小組已經(jīng)正在投資我們的生態(tài)系統(tǒng)并在編譯器本身之外進(jìn)行改進(jìn),我們很可能在未來(lái)一年需要有更多的工作小組。” Nichols 補(bǔ)充說(shuō)。

更容易學(xué)習(xí)

最后,Nichols 評(píng)價(jià)道,Rust 仍然難以學(xué)習(xí)和掌握,但最近又增加了許多書(shū)籍,包括她與 Steve Klabnik 一起寫(xiě)的 The Rust Programming Language。從長(zhǎng)遠(yuǎn)來(lái)看,她說(shuō)有計(jì)劃開(kāi)發(fā)更多初學(xué)者學(xué)習(xí)資源和新的中級(jí)水平書(shū)籍和教程。

“我們希望每個(gè)人都能夠在 Rust 中學(xué)習(xí)和提高工作效率!”

原文:https://www.techrepublic.com/article/rust-programming-language-seven-reasons-why-you-should-learn-it-in-2019/

作者:Nick Heath 是 TechRepublic 的首席記者。他撰寫(xiě)了關(guān)于 IT 決策者需要了解的技術(shù)以及歐洲科技領(lǐng)域最新動(dòng)態(tài)的文章。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1965

    瀏覽量

    39888
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2131

    瀏覽量

    77417
  • Rust
    +關(guān)注

    關(guān)注

    1

    文章

    241

    瀏覽量

    7661
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    C++入門(mén)基礎(chǔ)教程大全

    C++入門(mén)基礎(chǔ)教程大全 C++是一種面向?qū)ο蟮木幊陶Z(yǔ)言,但如果系統(tǒng)沒(méi)有采用面向?qū)ο蟮募夹g(shù),C++只能作為面向過(guò)程的語(yǔ)言來(lái)使用.
    發(fā)表于 05-29 10:25 ?0次下載

    C++ 入門(mén)自學(xué)教程

    C++ 入門(mén)自學(xué)教程從入門(mén)知識(shí)開(kāi)始講起,比較有利于初學(xué)者入門(mén)掌握,比較好懂,能夠?qū)?b class='flag-5'>C++有一個(gè)全面認(rèn)識(shí)
    發(fā)表于 11-17 10:36 ?0次下載

    Visual C++編程入門(mén)視頻

    Visual C++編程入門(mén)視頻!資料來(lái)源網(wǎng)絡(luò),如有侵權(quán),敬請(qǐng)見(jiàn)諒
    發(fā)表于 11-20 15:10 ?6次下載

    c++入門(mén)經(jīng)典習(xí)題集

    讓大家全方位傻瓜式學(xué)習(xí)大話(huà)設(shè)計(jì)模式(3.45MB)c++入門(mén)經(jīng)典習(xí)題集+多年積累的類(lèi)庫(kù)。
    發(fā)表于 07-13 15:11 ?2次下載

    C++入門(mén)教程之C++程序設(shè)計(jì)的課件資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C++入門(mén)教程之C++程序設(shè)計(jì)的課件資料免費(fèi)下載主要內(nèi)容包括了:1. 認(rèn)識(shí)C++2. C++的現(xiàn)狀和發(fā)展3.
    發(fā)表于 12-07 08:00 ?33次下載
    <b class='flag-5'>C++</b><b class='flag-5'>入門(mén)</b>教程之<b class='flag-5'>C++</b>程序設(shè)計(jì)的課件資料免費(fèi)下載

    Chrome團(tuán)隊(duì)將測(cè)試驗(yàn)證RustC++的互操作性

    Chrome 團(tuán)隊(duì)也開(kāi)始嘗試 Rust 了。在 Chromium 官網(wǎng)近期發(fā)布的文檔中,“RustC++ 的互操作性”作為一項(xiàng)尚待解決的挑戰(zhàn)被提出。
    的頭像 發(fā)表于 08-25 10:35 ?2606次閱讀

    嵌入式程序開(kāi)發(fā),C語(yǔ)言和C++究竟應(yīng)該用哪個(gè)?

    在嵌入式軟件程序開(kāi)發(fā)中,C語(yǔ)言無(wú)疑是最常被使用的程序語(yǔ)言。不過(guò)應(yīng)該明白的是,有些嵌入式硬件同時(shí)提供C語(yǔ)言程序編譯器以及C++程序編譯器,而相比于C語(yǔ)言,
    發(fā)表于 11-03 14:21 ?61次下載
    嵌入式程序開(kāi)發(fā),<b class='flag-5'>C</b>語(yǔ)言和<b class='flag-5'>C++</b>究竟應(yīng)該用<b class='flag-5'>哪個(gè)</b>?

    大廠(chǎng)對(duì)Rust的態(tài)度,C++之父回應(yīng)

    不少開(kāi)發(fā)者許多開(kāi)發(fā)者都對(duì) Rust 的過(guò)度宣傳感到反感,并表示不同的工具適合不同的問(wèn)題,不要再過(guò)度宣傳某一種編程語(yǔ)言。Rust 很好,但它不是所有問(wèn)題的解決方案。
    的頭像 發(fā)表于 09-22 11:25 ?2097次閱讀

    Chromium正式開(kāi)始支持Rust

    ? Chromium 正式開(kāi)始支持 Rust 目前的支持只是第一階段,在C++代碼中使用Rust寫(xiě)的第三方庫(kù)(編譯成.so)。估計(jì)明年Chromium的二進(jìn)制發(fā)行文件中會(huì)包含rust寫(xiě)
    的頭像 發(fā)表于 01-14 10:04 ?1584次閱讀

    取代C++!微軟用Rust改寫(xiě)的Win11內(nèi)核來(lái)了

    按照微軟此前介紹,Rust 語(yǔ)言的優(yōu)勢(shì)在于極高的內(nèi)存安全性,原來(lái)內(nèi)核中大量的不安全的子例程在改寫(xiě)后消失不見(jiàn)。同時(shí),Rust 代碼簡(jiǎn)潔高效,移植后 Office 應(yīng)用沒(méi)有任何性能損失,甚至部分場(chǎng)景比 C++ 運(yùn)行效率更高。
    的頭像 發(fā)表于 05-19 16:58 ?2166次閱讀
    取代<b class='flag-5'>C++</b>!微軟用<b class='flag-5'>Rust</b>改寫(xiě)的Win11內(nèi)核來(lái)了

    使用C++編寫(xiě)通用庫(kù)并在 Rust 中使用它 (WASI)

    使用 C++ 編寫(xiě)通用庫(kù)并在 Rust 中使用它 (WASI) WebAssembly 簡(jiǎn)介 WebAssembly 是一種二進(jìn)制指令格式,旨在成為一種低級(jí)虛擬機(jī),可以在 Web 瀏覽器中以接近本機(jī)
    的頭像 發(fā)表于 06-16 10:03 ?2285次閱讀
    使用<b class='flag-5'>C++</b>編寫(xiě)通用庫(kù)并在 <b class='flag-5'>Rust</b> 中使用它 (WASI)

    C++之父新作帶你勾勒現(xiàn)代C++地圖

    為了幫助大家解決這些痛點(diǎn)問(wèn)題,讓大家領(lǐng)略現(xiàn)代C++之美,掌握其中的精髓,更好地使用C++,C++之父Bjarne Stroustrup坐不住了,他親自操刀寫(xiě)就了這本《
    的頭像 發(fā)表于 10-30 16:35 ?2010次閱讀
    <b class='flag-5'>C++</b>之父新作帶你勾勒現(xiàn)代<b class='flag-5'>C++</b>地圖

    谷歌捐款100萬(wàn)美元給Rust基金會(huì),以增強(qiáng)C++Rust的交互性

    如今,谷歌多項(xiàng)核心業(yè)務(wù)仍以 C++為主要編程語(yǔ)言,雖然無(wú)法直接使用Rust替代現(xiàn)有的C++程序,但谷歌依然選擇支持Rust基金會(huì)的“Interop Initiative”計(jì)劃,幫助那些
    的頭像 發(fā)表于 02-19 15:41 ?1355次閱讀

    [鴻蒙]OpenHarmony4.0的Rust開(kāi)發(fā)

    中集成 Rust 代碼,并最大程度發(fā)揮 Rust 和 OpenHarmony 中原有 C/C++ 代碼的交互性,采用 GN 作為統(tǒng)一構(gòu)建工具,即通過(guò) GN 構(gòu)建 Rus
    的頭像 發(fā)表于 02-26 17:28 ?2210次閱讀
    [鴻蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b>開(kāi)發(fā)

    汽車(chē)網(wǎng)絡(luò)安全開(kāi)發(fā)語(yǔ)言選型指南:C/C++/Rust/Java等主流語(yǔ)言對(duì)比+Perforce QAC/Klocwork工具支持

    汽車(chē)網(wǎng)絡(luò)安全如何選編程語(yǔ)言?CC++、Rust、Java……誰(shuí)更適合AUTOSAR、ISO/SAE 21434?一文了解8種主流語(yǔ)言的優(yōu)劣與適用場(chǎng)景,以及Perforce QAC/Klocwork對(duì)MISRA、CERT等規(guī)范的
    的頭像 發(fā)表于 12-26 11:13 ?672次閱讀
    汽車(chē)網(wǎng)絡(luò)安全開(kāi)發(fā)語(yǔ)言選型指南:<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>/<b class='flag-5'>Rust</b>/Java等主流語(yǔ)言對(duì)比+Perforce QAC/Klocwork工具支持
    丰台区| 忻州市| 大兴区| 光山县| 徐闻县| 焦作市| 密云县| 申扎县| 临澧县| 广河县| 曲阜市| 麦盖提县| 高青县| 文山县| 响水县| 攀枝花市| 屯昌县| 施秉县| 广南县| 洛隆县| 会泽县| 西安市| 赤水市| 永善县| 苍溪县| 清新县| 儋州市| 监利县| 修水县| 突泉县| 都兰县| 慈利县| 公安县| 那坡县| 饶平县| 蛟河市| 扶绥县| 特克斯县| 友谊县| 嘉黎县| 香港 |