成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Asahi Linux首席開發者發辭職信引熱議:Rust和C的混合堪比毒瘤癌癥

原創 精選
開發 前端
那些編寫 C 和 C++ 代碼的人注意到了對 Rust 日益增長的興趣,并承認需要解決內存安全問題。因此,有許多項目正在進行中,例如 TrapC、FilC、Mini - C 和 Safe C++,旨在使 C 和 C++ 更不容易受到內存漏洞的影響,此外還有像 DARPA 的 TRACTOR 這樣的努力,以自動將 C 代碼轉換為 Rust。

出品 | 51CTO技術棧(微信號:blog51cto)

又過去一年,Linus 的 Rust for Linux項目進展如何了?情況不太好。

試圖將 Rust 代碼添加到 Linux 內核的開發人員,仍在繼續面臨來自內核維護者的反對,這些維護者認為:使用多種語言是一種不受歡迎且風險較高的復雜情況。

去年 9 月,當微軟軟件工程師韋德森·阿爾梅達·菲略(Wedson Almeida Filho)因對“非技術性胡鬧”感到沮喪而退出 Rust for Linux 項目時,問題首次浮出水面。

內核維護者的煎熬

別強迫我應付你當下流行的時髦語言。維護多語言項目是件痛苦的事?!?/span>

上個月,當提出一個抽象方案以允許用 Rust 編寫的設備驅動程序調用主要基于 C 的內核核心 DMA API 時,問題再次引發爭議,內核維護者克里斯托夫·赫爾維格(Christoph Hellwig)對此表示反對。

具體來說,提交了一個補丁,允許 Rust 驅動程序使用 DMA API 的 dma_alloc_coherent() C 函數來分配和映射用于直接內存訪問的大內存區域。

在給 Linux 內核郵件列表的一封信中,赫爾維格寫道:“請不要在 kernel/dma 中使用 Rust 代碼。” 值得一提的是,該補丁將代碼添加到了 Linux 源代碼樹的 rust/kernel 部分,而不是 kernel/dma,至少據我們所知是這樣。

Rust for Linux 項目的米格爾·奧赫達(Miguel Ojeda)請求赫爾維格提出替代方案。

赫爾維格回應道:“把包裝器留在你的代碼里,而不是讓別人的日子變得痛苦?!彼€接著憤憤不平地說,“DMA API 的接口應該保留在可讀的 C 代碼中,而不是用奇怪的綁定,這樣它才能保持可查找性和可維護性?!?/span>

赫爾維格似乎希望非 C 驅動程序有自己的私有 C 代碼綁定,并且這些抽象不應該單獨維護,即使在 rust/kernel 樹中也不行。

紅帽軟件工程師丹尼洛·克魯姆里奇(Danilo Krummrich)參與了 Rust for Linux 項目,他質疑赫爾維格,赫爾維格明確表示他根本不想處理 Rust 代碼。

“別強迫我應付你當下流行的時髦語言,”他寫道,“維護多語言項目是我不愿處理的痛苦。如果你想用非 C 語言,無論是匯編還是 Rust,你寫到 C 接口,并且自己處理阻抗不匹配的問題,就我而言?!?/span>

對此,克魯姆里奇解釋說,Rust for Linux 項目正在創建抽象 C API 的 Rust 代碼,供所有 Rust 驅動程序使用,并由 Rust 開發者維護。換句話說,內核的 C 端保持不變,Rust 驅動程序使用對 C 代碼的抽象,并且這些抽象由 rust/kernel 中的團隊集中維護,這可以說比驅動程序各自擁有獨立的 C 綁定要好得多。

混合C和Rust是一種癌癥

但赫爾維格似乎對單獨維護 DMA Rust 抽象層并不感興趣。他解釋說,他不想要另一個維護者:

如果你想因為跨語言代碼庫而使 Linux 難以維護,那就去做吧,這樣你必須自己處理,而不是將這種“癌癥”擴散到核心子系統。(這里的“癌癥”明確指的是跨語言代碼庫,而不是 Rust 本身,只是為了避開那些喜歡煽風點火的人)。

熟悉技術歷史的人可能會記得,2001 年,時任微軟首席執行官的史蒂夫·鮑爾默(Steve Ballmer)曾將 Linux 比作癌癥。“Linux 是一種癌癥,它從知識產權的角度附著在它接觸到的一切事物上,”鮑爾默說,那時 Linux 還沒有擴散到 Windows 子系統 for Linux。

赫爾維格接著爭辯說,讓其他人維護 DMA 內存分配器的 Rust 抽象層作為一個單獨的組件并不能改善情況,反而會阻礙內核的可維護性:

每一種額外的語言滲入,都會極大地降低內核作為一個集成項目的可維護性。Linux 能夠存活這么久的唯一原因是它沒有內部邊界,而添加另一種語言則完全打破了這一點。你可能不喜歡我的回答,但我將盡我所能阻止這種情況。這不是因為我討厭 Rust。盡管它不是我最喜歡的編程語言,但它肯定是最好的新語言之一,我鼓勵人們在適合的項目中使用它。我絕對不希望它出現在我需要維護的巨大 C 代碼庫附近。

Ashai Linux 項目負責人赫克托·馬丁(Hector Martin)表示,他認為赫爾維格的言論構成了違反行為準則的行為,但他懷疑不會采取任何紀律處分?!蹲詧蟆吩儐栺R丁是否打算提交行為準則投訴,但我們尚未收到回復。

Linus的態度決定Rust for Linux項目的存亡

馬丁認為,Rust for Linux 的開發人員應該忽視赫爾維格的擔憂,并提交他們的補丁以供內核負責人林納斯·托瓦爾茲(Linus Torvalds)批準:

“如果林納斯沒有在這個話題上給出權威性的答案,米格爾和其他 Rust 人員應該在補丁經過審查并準備好后直接合并這個系列,忽略克里斯托夫試圖破壞項目的明顯企圖。如果林納斯[接受拉取請求],克里斯托夫說什么都不重要。如果林納斯不[接受],[Rust for Linux]項目基本上就死了,除非林納斯或克里斯托夫采取行動。其他一切都是在兜圈子?!?/span>

有外媒曾詢問赫爾維格是否愿意就上面馬丁的評論發表意見,他拒絕了。

支持Rust的理由

2022 年 10 月 3 日,Linux 內核增加了對 Rust 代碼的支持,此前不久,微軟 Azure 首席技術官馬克·魯西諾維奇(Mark Russinovich)曾主張新的編程項目應該用 Rust 而不是 C 或 C++ 來編寫。

“為了安全性和可靠性,行業應該宣布這些語言已經過時,”魯西諾維奇說。

他的理由是,Rust 代碼可以編寫得避免困擾 C 和 C++ 代碼的內存安全漏洞(例如緩沖區溢出),這些漏洞是大型項目中大多數嚴重漏洞的根源。這種觀點隨后得到了世界各地政府安全機構的支持。

Linus:有些人不希望 Rust 侵入他們的領域

那些編寫 C 和 C++ 代碼的人注意到了對 Rust 日益增長的興趣,并承認需要解決內存安全問題。因此,有許多項目正在進行中,例如 TrapC、FilC、Mini - C 和 Safe C++,旨在使 C 和 C++ 更不容易受到內存漏洞的影響,此外還有像 DARPA 的 TRACTOR 這樣的努力,以自動將 C 代碼轉換為 Rust。

在菲略去年宣布退出 Rust for Linux 之后不久,Linux 領袖林納斯·托瓦爾茲(Linus)在奧地利維也納的 Linux 基金會開源峰會上,就 C 和 Rust 開發者之間的摩擦發表了看法。

“顯然,有些人就是不喜歡 Rust 的概念,也不希望 Rust 侵入他們的領域,”托瓦爾茲說,“甚至有人在談論 Rust 集成是一個失敗……我們已經做了兩年了,現在就說這個還為時過早,但我認為,即使它最終成為一個失敗——而我不認為它會——這也是學習的過程?!?/span>

到目前為止,Linux 開發者社區已經了解到 Rust 并不總是受歡迎的。

剛剛!馬丁請求辭去Linux內核維護者的職務

最新消息,本周五(2月7日發搞當天),赫克托·馬丁已請求辭去 Linux 維護者的職務。

圖片圖片

“我對內核開發流程或社區管理方式已經沒有任何信心了,”他在給 Linux 內核郵件列表的信中寫道。

“蘋果/ARM 平臺的開發將繼續在下游進行。如果我以后自己想為任何子樹提交一些補丁到上游,我可能會,也可能不會。任何愿意自己為上游提交而戰的人都可以這么做?!?/span>

參考鏈接:https://www.theregister.com/2025/02/05/mixing_rust_and_c_linux/?td=rt-3a

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2013-01-18 14:00:59

VMware

2021-09-07 11:36:52

首席軟件官基礎設施安全建設

2013-05-20 17:00:34

LinuxLinux兼容

2010-02-01 10:11:46

朱駿陳曉薇

2013-03-25 14:10:02

Windows Blu

2009-11-30 15:05:54

2014-11-11 14:31:07

應用交付/地鋪科技

2012-01-05 15:52:47

移動游戲開發者

2025-01-26 16:12:52

PythonRust開發

2024-01-10 17:37:17

概率token模型

2015-02-11 14:53:58

微信SDK

2023-09-07 13:33:00

開發者大會

2013-02-22 15:06:46

WPS陳歐體金山軟件

2015-04-24 15:24:39

搜狗手機輸入法

2021-03-05 15:58:45

AI 數據人工智能

2018-08-16 21:31:58

微信小程序開發者

2021-12-21 21:52:05

微信冬至移動應用

2021-06-18 15:15:51

機器學習Rust框架

2011-08-25 09:17:24

庫克喬布斯蘋果

2024-03-01 12:03:00

AI模型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天堂一区二区三区四区 | 北条麻妃av一区二区三区 | 91在线视频精品 | 午夜性视频| 亚洲精品免费视频 | 中文字幕国产精品 | 亚洲国产精品一区二区第一页 | 欧美午夜剧场 | 国产成人免费视频网站高清观看视频 | 成人二区| 中文字幕一区二区三区精彩视频 | 国产精品欧美一区二区三区不卡 | 色频| 中国一级特黄真人毛片免费观看 | 欧洲一区二区在线 | 亚洲第一视频 | 亚洲精品在线观看视频 | 久草视频观看 | 欧美精品福利 | 国产黄色电影 | 日日夜夜免费精品 | 亚洲午夜精品一区二区三区他趣 | 夜久久| 欧美日韩一区二区三区四区 | 国产成人精品免费视频大全最热 | 99热视 | 成人做爰69片免费观看 | 欧美区在线 | 日韩欧美中文字幕在线视频 | 91午夜在线| 久久久久免费精品国产 | 成人激情免费视频 | 亚洲女优在线播放 | 香蕉一区 | 国产精品久久久久久福利一牛影视 | 91人人爽| 一区二区高清在线观看 | 日韩视频国产 | 四虎永久在线精品免费一区二 | h视频在线免费看 | 精品亚洲一区二区三区四区五区高 |