C_and_CPP 板


LINE

最近看到一則windows以Rust改寫部分程式的新聞,仔細一查發現Linux似乎也打算將Rust作為內核開發的第二語言,讓我對Rust這個語言產生很大的興趣。 我最先學會的語言是C,後來在學習物件導向的時候開始接觸到C++,對於C++提供的語言特性及STL印象深刻。雖然不能說寫的非常好,但感覺C++強化了很多C在記憶體管理上容易出現問題的地方。目前如果環境許可,C++往往是我會優先選擇的語言之一。 快速搜尋了一下Rust及C++的比較,大部分都是著重在將兩個語言的優缺點條列比較,比如Rust在記憶體管理跟編譯訊息上更為突出,而C++則是保持對C的相容跟編譯速度更為出色,編譯出來的執行效率兩者似乎在伯仲之間,都非常的優秀。 但是看了幾項比較資料後,卻沒有發現兩大作業系統選擇了較為年輕的Rust而非長時間發展的C++的關鍵原因。請問有對Rust較為熟悉的先進可以幫忙解惑嗎? 謝謝。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.206.52 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1687786427.A.59E.html
1F:→ ck574b027: 沒發現c++的優點根本沒差嗎,編譯速度到了大專案還不是 06/26 21:39
2F:→ ck574b027: 得去泡咖啡上廁所 06/26 21:39
3F:推 flarehunter: 因為C++的記憶體漏洞太難防了 Rust直接從語言上解決 06/26 21:43
請問C++即便是使用vector這類的安全資料結構,善用智慧指標等各種新特性,依然很難寫出記憶體安全的程式嗎?
4F:→ flarehunter: https://www.ithome.com.tw/news/154539 06/26 21:43
※ 編輯: icetofux (111.240.206.52 臺灣), 06/26/2023 21:49:33
5F:→ lycantrope: Rust在compile時就會抓你記憶體漏洞 06/26 21:57
6F:→ ck574b027: 寫得出來跟檢查得出來是兩回事 06/26 22:34
7F:推 CoNsTaR: 建議去讀 linear types 或 quantitative types,Rust 用 06/26 23:00
8F:→ CoNsTaR: 的是 affine types,它和 linear types 的差別在它不強 06/26 23:00
9F:→ CoNsTaR: 制所有值一定都要被 consume 06/26 23:00
10F:→ CoNsTaR: 對比 C++ 你想要怎麼惡搞都一樣給你 type check,反正 ru 06/26 23:00
11F:→ CoNsTaR: ntime 再 crash 給你看,超不負責任 06/26 23:00
12F:推 jheli: compile階段就抓到漏洞總比出事後再debug好 06/27 00:23
13F:→ F04E: 說超不負責的也很奇怪 啊不就是給你方便你當隨便... 06/27 01:11
14F:推 CoNsTaR: 樓上,方便在哪?給了什麼方便? 06/27 02:45
15F:推 oToToT: 個人覺得rust有一定的時間是花在說服編譯器我的code跑起來 06/27 02:52
16F:→ oToToT: 沒問題,C++就沒那麼多規矩 06/27 02:52
17F:推 flarehunter: https://shorturl.at/qvzGO 舉例來說 當我要傳一個 06/27 08:10
18F:→ flarehunter: unique_ptr<T>的物件到函式但沒有要給函式ownership 06/27 08:10
19F:→ flarehunter: 照chromium guide是傳一個raw pointer 06/27 08:11
20F:→ flarehunter: 呼叫函式的人要"手動"保證物件的lifetime夠久 06/27 08:12
21F:→ flarehunter: 如果沒弄好就會有use-after-free的問題 06/27 08:13
22F:→ F04E: 連哪裡方便都不知道了還是別用了XD 06/27 11:16
23F:噓 CoNsTaR: 所以我說和 Rust 比起來方便在哪啊? 06/27 11:27
24F:噓 CoNsTaR: 你說給方便當隨便,那到底方便在哪講出來啊? 06/27 11:30
25F:→ oToToT: to樓上,我覺得我不需要標lifetime說服編譯器我是對的就很 06/27 17:14
26F:→ oToToT: 方便,但當然Rust要標lifetime的情況不是非常常見 06/27 17:15
27F:推 chaos1993: 想請問即使用smart pointer,要怎麼惡搞才可以type ch 06/27 22:50
28F:→ chaos1993: eck過然後runtime crash? 06/27 22:50
29F:→ tinlans: get 它的 raw pointer 出來存到別的物件去, 06/28 02:05
30F:→ tinlans: 再很不小心地由它的解構子 delete 之類的吧 06/28 02:05
31F:→ tinlans: 2 人以上維護的時候有時會出現類似蠢事 06/28 02:06
32F:→ Lhmstu: c++沒有從根本上改善c的缺陷 06/28 08:48
33F:→ MasterChang: 不是程式語言不行,是你不行。 06/30 09:58
34F:→ firejox: 我只希望有一天 Rust 能給我有用的錯誤訊息 06/30 15:16
35F:推 wulouise: rust compile time要求你的lifetime正常,有時候會很卡 06/30 21:42







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP