ชุมชนโปรแกรมเมอร์ภาษา Rust เผยผลสำรวจความคิดเห็นผู้ใช้ภาษา Rust ประจำปี 2022 (เพิ่งมาเผยแพร่ตอนนี้) จำนวน 9,433 คนจากทั่วโลก พบว่าราว 30% มีการใช้งาน Rust ในที่ทำงาน (ไม่ใช่แค่เขียนเองใช้ส่วนตัว) เพิ่มขึ้น 52% จากผลสำรวจรอบก่อนหน้า
เหตุผลหลักที่เลือกใช้ Rust เป็นเรื่องประสิทธิภาพ, การเขียนซอฟต์แวร์แบบไม่มีบั๊ก, ความสนุกในการเขียน, ความปลอดภัยจากตัวภาษา
ส่วนเหตุผลของคนที่ตอบว่าไม่ใช้ Rust มีทั้งจากปัจจัยภายนอกอื่นๆ และปัญหาว่าหัดเขียนยากเกินไป ซึ่งค่อนข้างตรงกันระหว่างกลุ่มที่เคยใช้แล้วเลิกใช้ กับกลุ่มที่ยังไม่ใช้งานมาตั้งแต่แรก
สิ่งที่ผู้ตอบแบบสอบถามเป็นห่วง ได้แก่ ห่วงว่าในอุตสาหกรรมมีคนใช้งานไม่เยอะพอ และภาษา Rust มีความซับซ้อนสูงเกินไป
ที่มา - Rust Blog
Comments
ถ้า Rust ยาก แล้ว C++ เรียกว่าอะไร
นั่นสิครับ เรียกว่าอะไรรึครับ?
ถ้า c++ ยากเพราะ pointer rust มี pointer หลายชนิดกว่าอีกนะครับ
ไม่เกี่ยวกับ pointer น่ะครับ
ที่ผมว่า C++ มันยากน่ะเพราะมันต้องรู้เงื่อนไข complier ที่จะ generate code (constructor, ...)ให้ บางทีก็ต้องสั่งลบที่มัน generate ให้อีก
กับพวก type security (const, volatile)
แล้วยังพวก standard ที่ออกมานาน 2ปีแล้ว แต่ complier, toolchain ไม่ support อีก (ผมก็งงอยู่นั้นล่ะว่าเขียนผิดตรงไหน)
ยังมี intellisense มึนกับ standard ใหม่อีก
ไม่งั้นก็ compile ไม่ผ่านสักที
ในฐานะที่ต้องเขียนทั้ง C++ และ Rust ในงานจริง ผมมองว่ามันยากคนละแบบอ่ะครับ
C++ นี่เอาเข้าจริงมัน "หยวน" กับ Code กว่าครับ ใช้ type ผิดกันไปบ้าง lifecycle ไม่ใจร้ายเท่าไหร่ (แล้วไปตายตอน runtime เอา)
แต่ Rust ก็อย่างคอมเมนต์อื่นบอกล่ะครับ ละเอียดแล้ว strict มากจนบางทีผมรำคาญก็มีนะ โดยเฉพาะพวก Result type เนี่ย E ไม่ตรงนี่ยังแทบไม่ให้ผมผ่านอ่ะ เสียเวลาจัดการเยอะ แต่นานๆ ทีจะเจอ panic เขียนจบแล้วก็คือจบไมท่ค่อยมีให้น่ากังวล อ้อ! package manager ของ Rust นี่ก็ตามภาษาสมัยใหม่แล้ว ถือว่าดีเลย
บล็อกส่วนตัวที่อัพเดตตามอารมณ์และความขยัน :P
C++ เริ่มจับง่าย เข้าถึงง่าย ยืดหยุ่นสูง แต่ยากที่จะ Master โดยเฉพาะเรื่อง Memory Allocation Model ที่ผูกกับคอมพิวเตอร์ยุคใหม่สุด "บัดซบ" C++ หลายโปรเจกต์ที่ทำ Multi-platform จะมีกฎของการเขียน Memory Allocation Model ตามกำหนดตั้งแต่ต้นเลย ถ้าใช้โมเดลอื่นนอกเหนือจากกำหนดจะไม่ให้โค้ดผ่านเข้า Repo หลักทันที เลยมี Learning Curve เล็กน้อยตอนที่โยกโปรเจกต์ไปมาเพราะมันไม่ได้ใช้อย่างเดียวกันตลอด
Rust มัน Type-safe ตั้งแต่ต้น อะไรเสี่ยง ๆ คอมไพเลอร์มันด่าเราแบบยับ ๆ แต่ส่งผลดีในระยะยาว เพราะสร้างนิสัยการเขียนโค้ด Low/Mid Level ที่ดีให้กับนักพัฒนาตั้งแต่แรก และอาจส่งผลดีต่อการเขียนโค้ดในภาษา Unsafe อื่น ๆ ในอนาคตอีกด้วย แต่เพราะอย่างนี้เลยทำให้มันเริ่มจับยากมากจากความเคยชินจากภาษา Low/Mid Level แบบเดิม ๆ
ดีขนาดนี่เลยเหรอ ต้องลองบ้างแล้ว
c++ ดีกว่า ง่ายกว่าเยอะ
ผมเคยลอง c++ ก้ว่ายากแล้วนะ rust นี่ยิ่งกว่าอีกหรอ
มันยากที่เราต้องเรียนรู้ concept ใหม่ๆ เพิ่มครับ
บริษัทผมรับ Consult การพอร์ต C/C++ มา Rust นะครับ ให้บริการโดย Engineer ที่มีประสบการณ์กับ C/C++ มาตลอดเกือบ 20 ปี ตัวอย่างโปรเจคครับ https://github.com/ultimicro/zfi บริษัทไหนสนใจสามารถติดต่อได้ทางอีเมลในหน้า GitHub ครับ การพอร์ตในที่นี้ไม่ใช่การ Rewrite ทั้งหมดในคราวเดียวนะครับ แต่เป็นการเพิ่ม Rust เข้าไปใช้งานคู่กับ C/C++ แล้วค่อย ๆ เปลี่ยนผ่านจนกลายเป็น Rust โดยสมบูรณ์
ข้อดีของ Rust เมื่อเทียบกับ C/C++ คือให้ Productivity สูงกว่ามากเมื่อใช้ได้คล่องครับ เหมือนเราได้ภาษา High-level อย่าง Python แต่ Performance ระดับ C/C++ บวกกับความ Safety ของตัวภาษาที่ช่วยป้องกันไม่ให้ Junior ยิงเท้าตัวเองด้วย Segmentation fault ครับ ซึ่งจะช่วยลดงานของ Senior เวลา Review code ได้ครับ
+1
เอ๊ะ ใช่คนเดียวกับคุณ UltimaWeapon ที่ทำ bot ro thaikore ไม๊นะ
ผมคิดว่าใช่ครับ ผมตามพี่คนนี้มานานแล้ว ให้ผล(การเดิน)แม่นมาก
ผลอะไรนะครับ - -a
การเดินฮะ เป็นบอทที่เดินไม่มั่วสุดละ บอทอื่นเหมือนโดนมาหลายขา เดิ๊นนนนนนนนนนน
ยังมีคนจำได้อีก O_O
ตัว Package Manager ของ Rust นี่คือดีงามจริงๆ ส่วน C++ จะอารมณ์แบบว่าจอมยุทธ์น้อยพกกระบี่ออกไปท่องยุธภพ แล้วเจอว่าโลกนี้มันช่างกว้างใหญ่ แต่ละสำนักก็ล้วนแต่มีวิธีของตัวเอง
หลังๆนี่เริ่มเข้าใจอะไรอย่างนึง ศึกษา C++ เท่าที่ใช้พอ ไม่ต้องพยายามไปเรียนรู้ทั้งหมด เลือกที่คิดว่าโอเคและเหมาะกับงานเรา
..: เรื่อยไป
learning curve ช่วงแรกๆมันสูงกว่าภาษาอื่นมาก แต่ทดแทนมาด้วย doc, compiler ที่ดีสุดๆ
compiler is your best friend สำหรับคนเริ่มเขียน :)