Linus Torvalds ไปพูดที่งานสัมมนา Open Source Summit โดยบอกว่าเคอร์เนลลินุกซ์จะรองรับโค้ดที่เขียนด้วยภาษา Rust ในเร็วๆ นี้ และอาจเป็นเคอร์เนลเวอร์ชันหน้า 5.20
ไอเดียเรื่องการนำภาษา Rust ที่เป็น memory-safety มาใช้กับเคอร์เนลลินุกซ์ เป็นสิ่งที่พูดกันมาสักระยะแล้ว ตัวของ Linus เองนั้นไม่ปิดกั้นแต่ก็ไม่รีบร้อน ช่วงปลายปี 2021 ทีมพัฒนาเคอร์เนลกลุ่มหนึ่งก็เสนอแพตช์ชุดแรกที่ทำให้เคอร์เนลรองรับภาษา Rust (ตัวโครงการคือ Rust for Linux)
ตัวของ Torvalds บอกว่าหลังจากพูดคุยเรื่องนี้กันมานาน ตอนนี้ก็ใกล้ได้เวลาที่มันจะเกิดขึ้นแล้ว เขายังบอกว่าทุกคนอยากได้ฟีเจอร์ memory safety จึงมีเหตุผลทางเทคนิคที่ควรรองรับ Rust ในเคอร์เนล แต่เขาก็บอกว่าวงการเคอร์เนลเคยลองภาษาใหม่ๆ กันมาก่อนแล้ว เช่น เมื่อ 25 ปีก่อนเคยลอง C++ อยู่สองสัปดาห์แล้วก็เลิกไป เขาจึงหวังว่าการลอง Rust รอบนี้จะสำเร็จ
ที่มา - The Register
Comments
Rust เวลาคอมไพลออกมาไบนารี่มันใหญ่มาก
ยิ่งเทียบกับ C ด้วยแล้ว
แต่สมัยนี้ที่ hardware มีพื้นที่เยอะในราคาถูก อาจจะไม่ซีแล้วหรือเปล่า
เคยนั่งฟังคนเขียน Rust พูด บอก ถ้าเอามาใช้เขียน kernel/kernel module ก็จะมีโค๊ด unsafe เต็มไปหมด
ความยากอยู่ที่การบริหารโค๊ด unsafe ถ้าทำได้ไม่ดี เผลอ ๆ อาจจะอาการหนักกว่าเขียนด้วย C ก็ได้ (แต่ผมจำไม่ได้ว่าเพราะอะไรนะ)
ผมเข้าใจว่า syntax unsafe เอาไว้ให้ smell มันชัดเฉย ๆ
ส่วนเรื่องขนาดเข้าใจว่าถ้าเป็น release strip dynamic จะเล็กพอ ๆ กับ c เลย
น่าจะลองอีกรอบ
ตั้งแต่ c++11 มันก็มี smart pointer ให้ใช้แล้ว
แต่อาจจะ compile นานนิด