[分享] rust在Linux Kernel生態圈之爭議/衝突

看板Linux作者 (Args&&... args)時間1天前 (2025/06/01 16:48), 1天前編輯推噓2(533)
留言11則, 9人參與, 2小時前最新討論串1/1
懶人包可以看這邊: Rust和Linux之争,到底在争什么? https://youtu.be/ONZZvc_IqQg?si=BztP9lTC0iqKWrrY
Rust和Linux的冲突已经超越技术层面 https://youtu.be/tV4SEMSdjXc?si=k6ULNl1_Rcp6HyxS
如影片所說,這種神仙打架 不是我們這種嗑瓜觀眾群 想看就看的到的 這邊快速整理: ----------------------------------------------- 雖然6.2版本開始引入rust 作者Linus也表示相當期待 但還是有原本Kernel組的人 對此感冒 包括著名的檔案系統(e2fs)作者: 曹子德Ts'o (試著下這個指令`man e2fsck` 然後看最下面的作者是誰XD) 甚至鬧到高峰會的YT都知道 留言區會炸鍋 所幸先關閉留言XD https://youtu.be/WiPp9YEBV0Q?si=vST86iObqjxZGNdP
另一個則是 rust陣營想幫DMA加入一個好用的rust版本DMA API 然後被owner打槍 不是技術上的理由 而是owner拒絕C語言以外的MR 這個事情燒到 蘋果M系列porting給Linux的maintainer 後面退出kerner的maintainer 可見燒得有多大 -------------------------------------------------- 這邊作者說的 rust result<T,E> + match 這種機制 對比c語言的手動確認 根本上可以避免很多難以預期的事情發生 https://i.postimg.cc/FzLgpyBb/image.png
這邊用chatgpt產生一些pseudo code C: struct inode * iget_locked(struct super_block *sb, unsigned long ino) { struct inode *inode; inode = find_inode(sb, ino); if (inode) { return inode; } inode = alloc_inode(); if (!inode) { return NULL; } inode->state = I_NEW; if (init_inode(inode)) { unlock_new_inode(inode); return inode; } else { iget_failed(inode); return NULL; } } Rust: fn get_or_create_inode(&self, ino: Ino) -> Result < Either< ARc< INode<T> >, inode::New<T> >, Error > { if let Some(inode) = self.find_inode(ino) { return Ok(Either::Right(inode)); } let new_inode = inode::New::new(ino)?; // 新 inode 需要初始化 Ok(Either::Left(new_inode)) } 註: 各位想想看 自己debug的時候打的patch 幾成是在code的某段加個if/else 來處理沒預期到的scenario (x) 補充 什么是正确的错误处理方法 https://youtu.be/_p0SgfajQFo?si=VOqQdMW2ehH1JCi8
--------------------------------------------------- 以上大概是內容 也希望拋磚引玉 希望版上的Linux高手 能來分享看法 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.58.247 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1748767698.A.3A2.html ※ 編輯: dzwei (211.76.58.247 臺灣), 06/01/2025 18:51:17

06/01 21:16, 1天前 , 1F
這件事演到後面linus有出來說話,後續就當成小說看吧
06/01 21:16, 1F
Linus回覆的那句 其實已經定錨了 後續也沒什麼好看了XD ※ 編輯: dzwei (211.76.58.247 臺灣), 06/01/2025 22:56:13

06/02 00:25, 1天前 , 2F
又一個在推廣原子能的?XD
06/02 00:25, 2F
一些該作者的內容不能完全認同 但針對本文的事 我覺得說得很好R

06/02 01:21, 1天前 , 3F
這不就常見的政治問題嗎 XD
06/02 01:21, 3F
另一個讓我沒想到的是 Linus脾氣真的收不少 整個變得很圓滑(政治意味) ※ 編輯: dzwei (211.76.58.247 臺灣), 06/02/2025 01:38:47

06/02 10:55, 1天前 , 4F
Linus年紀大後脾氣真的好不少
06/02 10:55, 4F

06/02 11:20, 1天前 , 5F
老話一句,問問洛克希德 ada 怎麼被 c/c++ 取代的,再來
06/02 11:20, 5F

06/02 11:20, 1天前 , 6F
說 rust 比較好
06/02 11:20, 6F

06/02 17:59, 21小時前 , 7F
騙點擊?都是「說書系」簡體,有看的必要嗎?
06/02 17:59, 7F

06/02 18:00, 21小時前 , 8F
連發文都不轉繁體?然後泛論一些早就已知的東西?洗
06/02 18:00, 8F

06/02 18:00, 21小時前 , 9F
文章也不是這樣的吧?
06/02 18:00, 9F

06/03 10:29, 4小時前 , 10F
洗文
06/03 10:29, 10F

06/03 12:13, 2小時前 , 11F
姆z 多洗點 這版太冷清
06/03 12:13, 11F
文章代碼(AID): #1eF1FIEY (Linux)
文章代碼(AID): #1eF1FIEY (Linux)