Tags:
Node Thumbnail

ภาษา Rust เป็นภาษาโปรแกรมที่เพิ่งสร้างขึ้นมาเมื่อปี 2010 โดยมอซิลล่า ผู้สร้างเบราว์เซอร์ไฟร์ฟอกซ์ ตอนนี้ได้รับความสนใจขึ้นมาอีกครั้ง เมื่อ Joseph Birr-Pixton ทีมงาน Rustls ทดสอบการส่งข้อมูลเข้ารหัส เทียบกับ OpenSSL ไลบรารีเข้ารหัสที่แทบจะเป็นมาตรฐานกลางสำหรับการเข้ารหัสในซอฟต์แวร์โอเพนซอร์ส แล้วพบว่าสามารถเอาชนะได้แทบทุกการทดสอบ ตั้งแต่ประสิทธิภาพไปจนถึงการใช้หน่วยความจำ

ผลทดสอบ TLS 1.3 TLS_AES_256_GCM_SHA384 นั้น ประสิทธิภาพการส่งข้อมูล Rustls เร็วกว่า OpenSSL อยู่ 13% ขณะที่ฝั่งรับเร็วกว่า 5.8% ขณะที่การใช้หน่วยความจำน้อยกว่า 54%

ศูนย์รับมือเหตุการณ์ความปลอดภัยของไมโครซอฟท์ (Microsoft Security Response Center - MSRC) เขียนบล็อกถึงปัญหาความปลอดถัย ว่าปัญหาหน่วยความจำนั้นคิดเป็นสัดส่วนประมาณ 70% ของช่องโหว่ความปลอดภัย ส่วนภาษาระดับสูงที่ป้องกันโปรแกรมเมอร์จากการจัดการหน่วยความจำผิดพลาดนั้นก็มักจะมีประสิทธิภาพไม่ดีพอ ทำให้ภาษา Rust กลายเป็นตัวเลือกน่าสนใจสำหรับงานระดับล่างที่ยังต้องการการป้องกันช่องโหว่หน่วยความจำอยู่

ภาษา Rust กำหนดให้อ้างอิงหน่วยความจำที่ระดับ smart pointer เท่านั้น และตัวภาษาจะตรวจสอบการเข้าถึงหน่วยความจำที่อยู่นอกขอบเขตที่ได้รับอนุญาตโดยอัตโนมัติ ช่องโหว่หน่วยความจำจากความผิดพลาดของโปรแกรมเมอร์ เช่น use-after-free นั้นในภาษา Rust สามารถตรวจพบได้ตั้งแต่ขั้นตอนการคอมไพล์ ทำให้ลดปัญหาไปได้มาก ขณะที่ตัวภาษาเองยังเป็นภาษาระดับต่ำ ได้โปรแกรมที่รันได้เต็มประสิทธิภาพซีพียู โดยเฉพาะแนวทางที่ไม่มี garbage collection ที่ทำให้โปรแกรมสะดุดในบางช่วงเวลา

นอกจาก Rustls แล้ว โครงการดังๆ ที่ใช้ภาษา Rust คือ บล็อคเชน Libra

ที่มา - jbp.io, MSRC

No Description

โลโก้ Rustls จาก Github โครงการ

Get latest news from Blognone

Comments

By: sukjai
iPhoneAndroidRed HatUbuntu
on 22 July 2019 - 08:46 #1120934

ภาษานี้ใช้เขียนโปรแกรมแบบไหนได้บ้างครับ เฉพาะเรื่องความปลอดภัยอย่างเดียวหรือเปล่า

By: risc on 22 July 2019 - 10:44 #1120960 Reply to:1120934

rust เป็น system programing language เอาไว้สร้างงานระดับ system

By: PH41
ContributorAndroidUbuntuWindows
on 22 July 2019 - 09:39 #1120941
PH41's picture

เป็นภาษาที่ดี แต่ learning curve สูงกว่า go พอสมควร

By: risc on 22 July 2019 - 10:43 #1120959

ใครเคยเขียน c++ อยู่ แล้วมาเขียน rust นี้น่าจะเรียนรู้ไม่ยากนะ