ความเคลื่อนไหวน่าสนใจในวงการภาษา Rust นั่นคือ โครงการ Rust รองรับสเปกการเขียนโปรแกรม Ferrocene Language Specification (FLS) ส่งผลให้ภาษา Rust มีเอกสารสเปกของภาษาเป็นครั้งแรก
อ่านแล้วอาจสับสนอยู่บ้าง ต้องเท้าความก่อนว่า ภาษา Rust เกิดขึ้นในปี 2015 แม้ได้รับความนิยมแพร่หลายตลอด 10 ปี แต่ตัวโครงการ Rust ไม่เคยมีเอกสารสเปกของภาษาอย่างเป็นทางการ (official language specification) มาก่อน ซึ่งแปลว่าหากมีคนสร้างคอมไพเลอร์ Rust ขึ้นมาใหม่ อาจมีพฤติกรรมบางอย่างที่แตกต่างไปจากคอมไพเลอร์ของโครงการ Rust เอง
ในช่วงก่อนหน้านี้ มีบริษัทชื่อ Ferrous Systems จากเยอรมนี ให้บริการเทรนนิ่ง-ให้คำปรึกษาเกี่ยวกับ Rust รวมถึงพัฒนาเครื่องมือคอมไพเลอร์ของตัวเองชื่อ Ferrocene สำหรับตลาดลูกค้าภาคอุตสาหกรรม และสร้างเอกสารสเปกขึ้นมาโดยใช้ชื่อว่า Ferrocene Language Specification (FLS) ในปี 2022
การที่ Rust ไม่เคยมีเอกสารสเปกอย่างเป็นทางการ และ FLS กลายเป็นเอกสารสเปกเพียงชิ้นเดียวในตลาด ทำให้มันกลายเป็นเอกสารที่ถูกอ้างอิงสูง ทางโครงการ Rust จึงเข้ามาเจรจากับ Ferrous Systems เพื่อจะได้ไม่ต้องมีเอกสารสเปก 2 ชุดให้สับสนเปล่าๆ
ข่าวนี้คือบริษัท Ferrous Systems ตัดสินใจยกเอกสาร FLS ให้เป็นของโครงการ Rust โดยจะเหลือแค่ชื่อย่อ "FLS" ไม่ใช้ชื่อเต็มที่มีคำว่า Ferrocene แล้วเพื่อความสับสน หลังจากนี้ไปทีมงาน Rust จะนำเอกสาร FLS ไปโฮสต์ไว้บนเว็บของ Rust เอง และปรับปรุงเอกสารชุดนี้ให้กลายเป็นสเปกอย่างเป็นทางการของ Rust ต่อไป
ที่มา - Rust Foundation, Rust Blog, The New Stack
Comments
ถามนิดนึงครับ ที่เว็บไซท์ของบริษัทปัจุบันเหมือนนิยามสเปคชุดนี้ว่า This is Rust for critical systems. เท่าที่เข้าใจเหมือนตัวมาตรฐานถูกกำหนดขึ้นมาเพื่อใช้สำหรับงานที่ต้องการความแม่นยำสูง ลดข้อผิดพลาดลงให้ต่ำที่สุด
ถ้ายกเอกสารชุดนี้ไปเป็นสเปกอย่างเป็นทางการของ Rust เลยก็หมายความว่า การ implement Rust ที่อิงมาตรฐานเพียงหนึ่งเดียวของ Rust ตัวนี้ ถือว่าเป็นซอร์ฟแวร์ที่พร้อมทำงานกับระบบที่เป็น critical systems ได้เลยใช่รึเปล่าครับ หรือว่าเค้าน่าจะมีการปรับแยกระดับออกมาอีก
..: เรื่อยไป