ภาษา Rust ภาษาโปรแกรมมิ่งที่อาจจะเป็นอนาคตของวงการไอที

Home / CTO Brief / ภาษา Rust ภาษาโปรแกรมมิ่งที่อาจจะเป็นอนาคตของวงการไอที
ภาษา Rust ภาษาโปรแกรมมิ่งที่อาจจะเป็นอนาคตของวงการไอที

ภาษา Rust ภาษาโปรแกรมมิ่งที่อาจจะเป็นอนาคตของวงการไอที

ในช่วงหลายปีที่ผ่านมานี้วงการไอทีจะพบว่าความนิยมของภาษาเปลี่ยนไปมาก โครงการใหม่ๆ อย่าง Kubernetes นั้นใช้ภาษา Go ในการพัฒนาแทบทั้งระบบ แต่อีกภาษาหนึ่งที่เริ่มได้รับความนิยมเพิ่มขึ้นอย่างต่อเนื่องคือภาษา Rust

ภาษา Rust สร้างโดยวิศวกรของ Mozilla ผู้ดูแลโครงการเบราว์เซอร์ Firefox มันถูกออกแบบให้มีประสิทธิภาพสูงเทียบเท่ากับภาษา C/C++ จนสามารถใช้งานพัฒนาซอฟต์แวร์พื้นฐานที่ต้องการประสิทธิภาพสูง เช่น เอนจินของเบราว์เซอร์ หรือจะเป็นระบบปฎิบัติการ

จุดเด่นของภาษา Rust คือการป้องกันการใช้หน่วยความจำผิดพลาด ที่เป็นปัญหาที่พบบ่อยในการเขียนโปรแกรมภาษา C โดยโครงสร้างภาษาไม่อนุญาตให้ใช้งานตัวแปรที่เลิกใช้งานไปแล้ว ฟีเจอร์เช่นนี้คล้ายกับฟีเจอร์ในภาษายุคใหม่ ไม่ว่าจะเป็น Java, Python, หรือ Go แต่ Rust ใช้เทคนิคการจัดการหน่วยความจำรูปแบบที่ต่างออกไป ทำให้โปรแกรมไม่ต้องหยุดการทำงานมาจัดการหน่วยความจำ

ภาษายุคใหม่อย่าง Java, Go, Python นั้นจะเรียกโค้ดส่วน garbage collector (GC) ขึ้้นมาตรวจสอบการใช้ตัวแปรเป็นช่วงๆ หากพบว่าตัวแปรไม่ได้ใช้งานแล้วก็จะกวาดตัวแปรเหล่านั้นออกจากระบบ จังหวะที่ GC ทำงานโปรแกรมรวมก็จะช้าลงไป แม้จะเล็กน้อยแต่ก็อาจจะกระทบต่อประสิทธิภาพระบบได้ แต่ Rust นั้นไม่มี GC ทำให้ประสิทธิภาพการทำงานค่อนข้างนิ่งตลอดเวลา

บริษัทใหญ่ๆ ให้ความสนใจที่จะใช้ Rust ในโครงการมากขึ้นเรื่อยๆ ไมโครซอฟท์เริ่มใช้ภาษา Rust สำหรับพัฒนาเครื่องมือด้านความมั่นคงปลอดภัย, Cloudflare ใช้พัฒนาโปรแกรมแก้ไข HTML, 1Password โปรแกรมจัดการรหัสผ่านก็พอร์ตบางโมดูลไปแล้ว, กูเกิลเองใช้ Rust กับแอปพลิเคชันขนาดเล็กบนบอร์ด IoT, และล่าสุดบริการแชตยอดนิยมอย่าง Discord ก็ใช้ Rust สำหรับเซิร์ฟเวอร์แจ้งเตือนผู้ใช้เวลามีข้อความใหม่ หรือฝ่ายตรงข้ามอ่านข้อความแล้ว โดยระบุว่าคุณภาพการให้บริการนั้นเสถียรกว่าเดิมมาก

– – –

โดยวสันต์ ลิ่วลมไพศาล
Chief Technology Officer, MFEC