Tags:
Node Thumbnail

Wedson Almeida Filho หนึ่งในผู้ดูแลโครงการย่อย Rust for Linux ประกาศถอนตัวจากโครงการหลังดูแลโครงการนี้มา 4 ปีเต็ม ระบุเหตุผลว่าเบื่อที่จะต้องมาตอบโต้เรื่องที่ไม่ใช่เรื่องเทคนิค

Filho แนบลิงก์ถึงสาเหตุที่เขาลาออกเป็นวิดีโองานสัมมนา Linux Storage Filesystem ที่ Kent Overstreet บรรยายถึงข้อเสนอของการรองรับ Rust ใน API ของ filesystem แต่ช่วงถามตอบก็มีการโต้แย้งกันว่า C/C++ ยังคงเป็นภาษาหลักแล้วทำไม Overstreet ยังคงพยายามยัดเยียด Rust เข้ามา (LWN เขียนสรุปเหตุการณ์ไว้) โดย Filho ยืนยันว่าไม่ได้ยัดเยียดให้ใครใช้ Rust

ภาษา Rust ชูประเด็นหน่วยความจำปลอดภัยมา ทำให้หลายคนมองว่าเหมาะกับการใช้งานในเคอร์เนล แต่ก็มีเสียงต้านจากนักพัฒนาจำนวนมาก ตัว Filho ก็เคยโต้เถียงกับ Linus ค่อนข้างแรง

ที่มา - linux-kernel

Get latest news from Blognone

Comments

By: rattananen
AndroidWindows
on 30 August 2024 - 12:10 #1320826

Viro came back to his objections about the proposed replacement for iget_locked(). The underlying problem that he sees is the reliance on methods versus functions; using methods is not the proper way forward because the arguments are not specified explicitly. But Overstreet said that the complaints about methods come from languages like C++ that rely too heavily on inheritance, which is "a crap idea". Rust does not do so; methods in Rust are largely just a syntactical element.

นี้เขาโดน C++ programmer ทัวร์ลงบางไหม
พูดแบบรู้จักแค่ C++ สมัยเมื่อ 20 ปีที่แล้ว

ผมว่าใน core linux มีแต่ C ไม่มี C++ ด้วยนะ
ไงโยงไป C++ ได้

By: mr_tawan
ContributoriPhoneAndroidWindows
on 30 August 2024 - 13:22 #1320835 Reply to:1320826
mr_tawan's picture

ชาว kernel เขาเป็น C Developer กัน พอเจอ syntax ที่ไม่เข้าพวก อย่างการใช้ method การที่เค้าจะปฎิเสธมันไม่ใช่เรื่องแปลก การที่ยกเหตุผลว่า C++ method มันห่วย (ทั้ง ๆ ที่จริง ๆ แล้ว inheritance มันมีผลเฉพาะกับ virtual method มั้ย?) แต่ Rust เราเหนือกว่าเพราะเป็นแค่ syntax sugar นี่มันก็ฟังดูแปลก ๆ เหมือนกัน

เผื่อบางคนไม่ทราบ คุณจะเขียน method ให้ struct แล้วไม่ระบุเป็น virtual ก็ได้นะ แล้วมันก็จะเป็นแค่ syntax sugar เหมือนกัน (น่าจะเหมือน rust เลย ณ.จุดนี้)


  • 9tawan.net บล็อกส่วนตัวฮับ
By: rattananen
AndroidWindows
on 30 August 2024 - 14:04 #1320837 Reply to:1320835

ผมหมายถึงพัฒนาการของ C++ น่ะครับ มันออกไปแนว "เรา provide ไว้ให้แต่คุณจะใช้หรือไม่ก็เรื่องของคุณ"
คือผม"รู้สึก"ว่าคนออกแบบ C++ พยายามออกแบบภาษาให้รับ ความต้องการที่หลายหลายของ dev
แต่คงความเข้ากันได้กับ C ไว้
เช่น
- ไม่อยากใช้ polymorphism ที่เป็น OOP ก็ไปใช้ polymorphism แบบ structured (overload) แทนก็ได้
- ไม่อยากใช้ try catch ก็ไปใช้ std::error_code
- อยากได้ memory safety ก็มี smart pointer ให้นะ หรือจะ raw pointer ไปเลยถ้าใจพอ

ซึ่งถ้าใครรู้จัก C++ นิดหน่อยจะคิดว่า
C++ ต้องเป็น OOP, ต้อง inherit, ต้อง memory unsafety ทั้งที่ภาษาได้ provide feature ที่ไม่ต้องเจอของแบบนี้ไว้

By: mr_tawan
ContributoriPhoneAndroidWindows
on 30 August 2024 - 14:37 #1320842 Reply to:1320837
mr_tawan's picture

ในคอมมู C++ เราจะมีคำพูดประมาณว่า คุณรู้เท่าที่คุณใช้พอ อะไรที่คุณไม่ได้ใช้ก็จะไม่มีผลอะไร ในความเป็นจริงมันก็ใช่ครับว่ามันก็ต้องรู้ OOP กับ Template Metaprogramming บ้าง (exception handling บ้างด้วย) เพราะมันใช้ใน STL แต่ว่าอย่างอื่นจริง ๆ ก็ไม่ได้สำคัญขนาดนั้น

ทั้งนี้ปัจจุบันนี้เราไม่น่าจะมี "คนออกแบบ C++" แต่จะเป็นคณะทำงาน 21 (ยาวๆ คือ ISO/IEC JTC1 (Joint Technical Committee 1) / SC22 (Subcommittee 22) / WG21 (Working Group 21) แต่มักจะเรียกกันว่า WG21) และคณะทำงานย่อย ๆ กับคณะศึกษา (Study Group) ที่ทำงานกับฟีเจอร์ย่อยๆ ดูแลเฉพาะเรื่องที่ตัวเองถนัดและสนใจ คือการออกแบบ C++ มันเป็นการทำงานกันเป็นสังคมขนาดใหญ่ที่เปิดให้ใครเข้ามาทำก็ได้ ดังนั้นพอมันเปิดซะขนาดนี้ปัญหานึงที่เจอแน่นอนคือต่างคนต่างมีความเห็นและสิ่งที่คาดหวังจากตัวภาษา นั่นทำให้ตัวภาษามันใหญ่มากซะจนคนบ่นว่าภาษามันไม่มีไดเรคชัน (แต่ไดเรคชันเขาคือเปิดรับไอเดียให้กว้างที่สุดตราบใดที่ยังตั้งอยู่บนหลัก

ทั้งนี้ถ้าเคยอ่าน C++ guideline ของ google เนี่ยจะเห็นว่ามีข้อห้ามสารพัดเลยครับ เรียกได้ว่าแทบจะเขียน C บน C++ แค่นั้นเลยล่ะ (แต่เค้าก็อนุญาตบางฟีเจอร์ของ C++ นะ) เอาจริง ๆ ผมว่าบางที ภาษาอย่าง Rust เนี่ยมีพื้นฐานจากการเอา C++ Guideline ของบางที่เอามาคอมไพล์รวมกันสร้างเป็นภาษาใหม่แหละ


  • 9tawan.net บล็อกส่วนตัวฮับ
By: btoy
ContributorAndroidWindows
on 30 August 2024 - 12:17 #1320827
btoy's picture

อีกข่าวนึงที่ทีมที่ผลักดัน Rust ปะทะกับทีม C ก็เหมือนจะเป็นหัวหน้าทีมพัฒนาของ System76 ที่ออกมาประกาศไม่ใยดีกับทีมพัฒนา Linux Kernel


..: เรื่อยไป

By: mr_tawan
ContributoriPhoneAndroidWindows
on 30 August 2024 - 14:38 #1320843 Reply to:1320827
mr_tawan's picture

สงสัยฮาร์ดเซลล์มากไปเลยโดน Linux Kernel Dev หมั่นไส้ 555 ล้อเล่นนะครับ


  • 9tawan.net บล็อกส่วนตัวฮับ
By: waroonh
Windows
on 30 August 2024 - 17:16 #1320853 Reply to:1320827

ผมถือว่า Rust คือ Drama จาวาเร็วส์ สมัย 14-15 ปีทีแล้ว ver, international ก็แล้วกันครับ
เพราะงั้นคุณจะ Java จะ Python จะ Ruby ก็ ตามถนัดดีกว่าครับ
ก็เหมือนกัน จะ C หรือ Rust เอาตามที่ถนัดครับ bug น้อย ๆ เป็น target หลักครับผม

By: Tasksenger on 30 August 2024 - 16:01 #1320847

มันไม่ได้อยู่ที่ภาษา แต่มันอยู่ที่คนที่นั่งอยู่หน้าจอ แป่ว ล้อเลียนมาจากหนัง Fast จากวลีเด็ดที่ว่า

อะไรจะอยู่ในห้องเครื่องไม่สำคัญหรอก...
สิ่งเดียวที่สำคัญที่สุดคือ "ใครอยู่หลังพวงมาลัย"
Dominic Toretto - Fast and Furious 8 (2017)

เอาฮาเป็นหลัก ไม่มีสาระใดๆ เพราะไม่ใช่ทางผมทั้ง 2 ภาษา

By: vulkan on 30 August 2024 - 16:33 #1320851 Reply to:1320847
vulkan's picture

อะไรอยู่ในห้องเครื่องไม่สำคัญ
ประเด็นสำคัญคือ "ใครยืนขายพวงมาลัย"

By: hisoft
ContributorWindows PhoneWindows
on 30 August 2024 - 17:55 #1320857 Reply to:1320851
hisoft's picture

เดี๋ยวๆ

By: aoza00123
Android
on 30 August 2024 - 16:08 #1320848
aoza00123's picture

ถ้ามีความปลอดภัยมากกว่าใช้ซีเขียนควรจะเป็นเรื่องดีสิทำไมนักพัฒนาที่ใช้ซีเขียนถึงไม่พอใจกันหรือมันต้องเขียนใหม่หมดเอาโค้ดเก่ามาใช้ไม่ได้เหรอเลยทำให้ลำบากแถมเรื่องนี้ฝ่ายที่ดันรัสต์เริ่มจะเป็นฝ่ายถอยละ