Fw: [閒聊] Linux Kernel 6: Rust lang 支援
※ [本文轉錄自 Linux 看板 #1ZGED4xI ]
作者: dzwei (Args&&... args) 看板: Linux
標題: [閒聊] Linux Kernel 6: Rust lang 支援
時間: Sat Oct 8 10:41:04 2022
https://tinyurl.com/kx9z6pks
Linux Torvalds 與多數Kernel開發者
也一致同意Rust是第二個開發語言了
畢竟Rust現代、快速、優雅
邊界檢查與執行續安全也包含在裡面
有Modern C++的特性
但是沒有C++的歷史包袱
不過6.0很多東西還沒commit進去
可能要到6.1才有比較完整的支援
這裡有Binging相關的文章
https://lwn.net/Articles/829858/
還有請大神來補充
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.24.236.14 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1665196868.A.ED2.html
※ 編輯: dzwei (114.24.236.14 臺灣), 10/08/2022 10:43:44
※ 編輯: dzwei (114.24.236.14 臺灣), 10/08/2022 10:44:32
推
10/08 12:33,
2年前
, 1F
10/08 12:33, 1F
是 Rust目前的目的
主要是針對Driver那塊
schd mm vm那類
目前看來短期好像沒有要改寫的計畫
不過Binding的API文件
內容還太少
正規C語言Linux開發者
短時間應該也不太好上路
Ruest的確是不想用C++的首選沒錯
※ 編輯: dzwei (114.24.236.14 臺灣), 10/08/2022 13:16:43
※ wtchen:轉錄至看板 C_and_CPP 10/08 15:49
推
10/08 21:01,
2年前
, 2F
10/08 21:01, 2F
→
10/08 21:02,
2年前
, 3F
10/08 21:02, 3F
其實是新的東西
能rust寫就不要用C
他那個記憶體管理的方式
是C++ 的
* Smart Pointer
* R-Value Reference (Perfect Forward)
* Scope out Safe Drop (包括thread的lock)
那套RAII
高效能記憶體管理太好太方便了
語法糖下這些可以比C++精簡很多
同期的Go Lang 這點就不是很好
Go Lang好像還在依賴GC的管理機制...
不過其實rust
有一個讓人又愛又恨的缺點
就是編譯速度很慢
因為檢查的東西很多
※ 編輯: dzwei (114.24.236.14 臺灣), 10/08/2022 21:32:22
推
10/08 21:57,
2年前
, 4F
10/08 21:57, 4F
→
10/08 21:59,
2年前
, 5F
10/08 21:59, 5F
→
10/08 21:59,
2年前
, 6F
10/08 21:59, 6F
這裡是我相見恨晚的電子書
https://tinyurl.com/mtmnnr6a
剛入門的時候 那本聖經 The rust Programing lang
真的讀起來的痛苦程度
不會小於effective C++那類XD
不過建議還是要有modern C++的觀念再開始學rust
不然所有權那邊會死透
其實rust lang的本質
就是把C++03的包袱拿掉
全力專注在modern C++
並建立語法糖
還有一點就是rust的標準後端是LLVM
雖然也有實驗性的GCC後端
但一些cross-compile的環境可能不會很好用
此時突然羨慕risc-V陣營預設的LLVM後端(?)
其實以前發過一篇廢文
但內容可以檢視自己對Modern C++的基本概念了解多少
https://tinyurl.com/yufrv7hh
※ 編輯: dzwei (114.24.236.14 臺灣), 10/08/2022 22:46:20
推
10/08 23:57,
2年前
, 7F
10/08 23:57, 7F
其實這樣比不準
https://tinyurl.com/2p92eh6t
因為rust只佔了firefox不到10%...
※ 編輯: dzwei (114.24.236.14 臺灣), 10/09/2022 00:04:23
推
10/09 00:07,
2年前
, 8F
10/09 00:07, 8F
好像好幾年了 都還是這個比例
目前三巨頭 Apple Google M$
其實也只有M$比較積極在推Rust
Google總不能砸了自家很驕傲的Go-lang
只是Linux Kernel把Rust變成第二語言
倒是出乎我的意料之外
連很嘴的Linus都很看好這點
※ 編輯: dzwei (114.24.236.14 臺灣), 10/09/2022 00:12:05
推
10/09 00:24,
2年前
, 9F
10/09 00:24, 9F
印象中主要是給web後端用的
但是開發是基於C而非C++
所以剛接觸的那陣子
有人說有機會放進去C寫的Linux Kernel裡面
但我覺得Go lang真的太難學了
還有那個文件系統
所以很快就放棄了XD
我覺得rust比較偏向軟體面
雖然說rust是有可以用於embedded的候選
但沒想到Linux直接這樣上了
→
10/09 00:24,
2年前
, 10F
10/09 00:24, 10F
→
10/09 00:25,
2年前
, 11F
10/09 00:25, 11F
→
10/09 00:25,
2年前
, 12F
10/09 00:25, 12F
感謝補充資訊
推
10/09 00:26,
2年前
, 13F
10/09 00:26, 13F
C++2X那個opt
就是rust的opt呀
但是沒有rust簡潔易用
所以C++2X其實讓我蠻失望的XD
→
10/09 00:27,
2年前
, 14F
10/09 00:27, 14F
→
10/09 00:27,
2年前
, 15F
10/09 00:27, 15F
對耶 google是Carbon才是
※ 編輯: dzwei (114.24.236.14 臺灣), 10/09/2022 00:39:13
推
10/09 04:29,
2年前
, 16F
10/09 04:29, 16F
→
10/09 04:29,
2年前
, 17F
10/09 04:29, 17F
沒那麼快啦XD
保守估計也要五年
也搞不好這五年rust就撞壁了(?)
※ 編輯: dzwei (114.24.236.14 臺灣), 10/09/2022 16:49:38
→
10/09 20:26,
2年前
, 18F
10/09 20:26, 18F
推
10/09 21:08,
2年前
, 19F
10/09 21:08, 19F
→
10/09 21:08,
2年前
, 20F
10/09 21:08, 20F
→
10/09 21:08,
2年前
, 21F
10/09 21:08, 21F
→
10/09 21:09,
2年前
, 22F
10/09 21:09, 22F
→
10/09 21:09,
2年前
, 23F
10/09 21:09, 23F
→
10/09 21:10,
2年前
, 24F
10/09 21:10, 24F
推
10/09 21:14,
2年前
, 25F
10/09 21:14, 25F
→
10/09 21:44,
2年前
, 26F
10/09 21:44, 26F
→
10/09 21:45,
2年前
, 27F
10/09 21:45, 27F
→
10/09 21:46,
2年前
, 28F
10/09 21:46, 28F
→
10/09 21:46,
2年前
, 29F
10/09 21:46, 29F
→
10/09 21:47,
2年前
, 30F
10/09 21:47, 30F
→
10/09 21:48,
2年前
, 31F
10/09 21:48, 31F
→
10/09 21:49,
2年前
, 32F
10/09 21:49, 32F
→
10/09 21:50,
2年前
, 33F
10/09 21:50, 33F
→
10/09 21:51,
2年前
, 34F
10/09 21:51, 34F
→
10/09 21:54,
2年前
, 35F
10/09 21:54, 35F
→
10/09 21:55,
2年前
, 36F
10/09 21:55, 36F
→
10/09 21:55,
2年前
, 37F
10/09 21:55, 37F
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: sivle (202.39.11.150 臺灣), 10/11/2022 13:56:27
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章