- Odin เป็นภาษาโปรแกรมมิงที่เติบโตมาตลอด 10 ปีนับจากคอมมิตแรกในปี 2016 และกำลังเตรียมเวอร์ชันที่ถือเป็นรีลีสทางการครั้งแรกในชื่อ Odin 2027
- เกณฑ์สำคัญของรีลีสทางการคือ สเปกภาษาที่สมบูรณ์ ซึ่งคอมไพเลอร์ต้องปฏิบัติตาม และถูกกำหนดให้เป็นเงื่อนไขที่ไม่ประนีประนอมใน Odin 2027
- ฟีเจอร์ที่วางแผนไว้ประกอบด้วย inline assembly, แพ็กเกจ HTTP, การรองรับ TLS, Objective-C core library, การรองรับ iOS·Android, การปรับปรุงแพ็กเกจภาพ และแพ็กเกจสำหรับอ่าน/เขียน zip
- กำหนดการตั้งเป้าเป็น Release Candidate ช่วงคริสต์มาสปี 2026 และรีลีสทางการในเดือนมกราคม 2027 โดยยังคงวงจรรีลีส nightly และ monthly เดิมไว้
- ก่อนรีลีสทางการ จะมุ่งเน้นความเสถียร การเสริมความแข็งแกร่งให้ core library การปฏิบัติตามสเปก และการนำ bug report มาปรับปรุง มากกว่าการเพิ่มฟีเจอร์ใหม่ขนาดใหญ่
โรดแมปสู่ Odin 2027
- Odin เติบโตมาตลอด 10 ปีนับจากคอมมิตแรกในปี 2016 จากโปรเจกต์งานอดิเรก มาเป็นภาษาที่ใช้ในซอฟต์แวร์เชิงพาณิชย์ของ JangaFX เป็นภาษาหลักของหลายบริษัท และถูกใช้ในเกมที่วางขายบน Steam
- รีลีสทางการครั้งแรกที่เทียบเท่า 1.0 จะใช้ชื่อ Odin 2027
- เลือกใช้รูปแบบการตั้งชื่อตามวันที่ แทน
1.0แบบทั่วไป - เวอร์ชันแบบอิงวันที่ช่วยให้ดูได้ทันทีว่าเวอร์ชันที่ใช้อยู่เก่าแค่ไหน
- เป็นแนวทางเพื่อให้มีอัปเดตที่สม่ำเสมอยิ่งขึ้น ขณะยังคงกำหนดการรีลีส nightly และ monthly ในปัจจุบันไว้
- เลือกใช้รูปแบบการตั้งชื่อตามวันที่ แทน
- เงื่อนไขจำเป็นของรีลีสทางการคือ สเปกที่สมบูรณ์
- คอมไพเลอร์ต้องปฏิบัติตามสเปกนี้
- ถูกกำหนดให้เป็นรายการที่ไม่สามารถประนีประนอมได้ใน Odin 2027
ฟีเจอร์ที่วางแผนไว้และกำหนดการรีลีส
- จะเพิ่ม inline assembly สำหรับผู้ใช้ที่ต้องการการควบคุมระดับต่ำ
- ทำให้ควบคุมการสร้างโค้ดภาษาเครื่องภายใน Odin ได้อย่างละเอียด
- core library จะขยายไปในทิศทางที่เพิ่มขอบเขตสิ่งที่มีมาให้ในตัว
- รวม แพ็กเกจ HTTP ที่รอคอยกันมานาน
- จะมีการรองรับ TLS มาด้วย และการรองรับ TLS ที่เขียนแบบเนทีฟจะถูกเพิ่มหลังรีลีสหลัก
- สำหรับผู้ใช้ Apple จะนำ Objective-C core library เข้ามาใน Odin แบบเนทีฟ
- รวมการรองรับ iOS และ Android ด้วย
- จะเพิ่มการปรับปรุงแพ็กเกจภาพ และแพ็กเกจรองรับการอ่าน/เขียนไฟล์เก็บถาวร zip
- กำหนดการรีลีสตั้งเป้าเป็น Release Candidate ช่วงคริสต์มาสปี 2026 และ รีลีสทางการในเดือนมกราคม 2027
- ก่อนหน้านั้นจะมุ่งเน้นการทำให้เสถียร แทนที่จะใส่ฟีเจอร์ใหม่ขนาดใหญ่ในช่วงท้าย
- เสริมความแข็งแกร่งให้ core library
- ปฏิบัติตามสเปก
- ตรวจสอบรายการในโรดแมป
- ทดสอบผ่าน build แบบ monthly และ nightly และนำ bug report มาปรับปรุง
- วิดีโอทั้งชุดถูกตัดต่อด้วย Blick โปรแกรมตัดต่อวิดีโอที่วางแผนไว้ซึ่งเขียนด้วย Odin
1 ความคิดเห็น
ความคิดเห็นจาก Lobste.rs
ลองเล่นดูนิดหน่อยแล้ว Odin เป็นหนึ่งในภาษาที่ใช้ไปยิ่งรู้สึกดีขึ้นเรื่อย ๆ
ภาษาที่ผสานความใช้งานได้จริงกับการออกแบบอย่างรอบคอบได้ดีขนาดนี้มีไม่มาก และในบรรดาภาษาใหม่ ๆ ช่วงหลัง ดูเหมือนหลายภาษาจะขาดอย่างใดอย่างหนึ่ง ไม่ก็ติดอยู่กับฟีเจอร์บางอย่าง หรือพยายามทำ “ทุกอย่าง” จนออกมาก้ำกึ่ง
gingerBill ยังถ่ายทอดแนวคิดเกี่ยวกับการตัดสินใจได้เก่งมากด้วย ซึ่งส่วนตัวรู้สึกว่าเป็นทักษะที่ควรต้องฝึกให้มากขึ้นจริง ๆ
ตอนเห็น Odin ครั้งแรกเมื่อหลายปีก่อน คิดว่า “ว้าว เหมือน Go ที่ตัดสิ่งที่ฉันไม่ชอบใน Go ออกไปเลย” แต่คนรอบข้างบอกว่าเป็นแค่ภาษาอวดเท่อีกตัว คงอยู่ได้ไม่นาน ให้เมินไปเถอะ
ดีใจมากที่ทุกคนคิดผิด และตอนนี้ก็ตื่นเต้นที่จะได้ลองใช้เอง
Odin ค่อนข้างเสถียรมาหลายปีแล้ว ดังนั้นจึงเป็นเรื่องน่ายินดีที่ Bill กับทีมจะไปสู่ 1.0 ในที่สุด
เพราะมันเป็นสัญญาณที่จำเป็นว่าใช้งานในโปรดักชันได้ เมื่อบริษัทใหญ่ ๆ ประเมินทางเลือกต่าง ๆ
สิ่งนี้ยังยกระดับมาตรฐานให้โปรเจกต์ตระกูล C อื่น ๆ ที่กำลังพัฒนาอยู่ เช่น Jai, C3, Zig, Hare ด้วย
ทุกวันนี้ผู้สร้างภาษาดูเหมือนจะถ่ายทอดความรู้สึกของการใช้ชีวิตอยู่กับผลิตภัณฑ์ของตัวเองผ่านสื่อรอบตัวได้ชัดเจนทีเดียว
Gleam กับอีโคซิสเต็มและ release notes ของมันดูน่าดึงดูดและเข้าถึงง่าย ส่วน Zig เป็นภาษาที่มีเหตุผลและไม่อวดเท่มาก ซึ่งบทสัมภาษณ์ของ u/andrewrk ก็ให้ความรู้สึกคล้ายกัน
ยังไม่เคยลอง Odin แต่ดูจากวิดีโอนี้อย่างเดียว ก็ทำให้คาดหวังได้ว่ามันจะเป็นภาษาที่รักษามาตรฐานผลิตภัณฑ์ไว้สูงและให้ผลลัพธ์ที่น่าพอใจ
ยังไม่เคยใช้ Odin เลย แต่พอดูวิดีโอแล้วก็อยากลองดูสักครั้ง
ไลบรารีมาตรฐานใกล้เคียงกับแบบ “มีแบตเตอรี่ให้พร้อม” และยัง vendor เครื่องมือคุณภาพสูงจำนวนมากที่ผู้คนใช้กันไว้ด้วย
ตอนแรกไม่ได้คิดว่าจะใช้นาน แต่สุดท้ายก็ใช้ไปพักใหญ่ และสำหรับภาษาที่ “ก่อน 1.0” ถือว่าค่อนข้างเสถียรทีเดียว
คาแรกเตอร์แรงมาก
จับตาดู Odin มาสักพักแล้ว และคิดว่าต่อไปคงได้ลองเอามาเล่นดูบ้าง
น่าสนุกที่ในวิดีโอมีหนังสือ Pascal วางไว้ให้เห็นเด่นชัด
ถ้าดูแค่ไวยากรณ์อาจไม่รู้สึกแบบนั้น แต่ฉันมอง Odin เป็น ภาษาในสาย Pascal มาโดยตลอด
ที่จริงในช่วงแรก ๆ ของ Odin ก็เคยเป็นแบบนั้นอยู่ประมาณหนึ่งสัปดาห์
น่าสนใจที่หลายคนตัดสินภาษาแทบทั้งหมดจากไวยากรณ์การประกาศ ทั้งที่รูปแบบไวยากรณ์เฉพาะส่วนนั้นแทบไม่มีผลต่อ semantics เลย แต่กลับเป็นสิ่งที่ดึงดูดคนเข้ามาหรือผลักคนออกไปโดยสิ้นเชิง
โดยส่วนตัวคิดว่าการใช้
:และ=ของ Odin กระชับและใช้ง่ายที่สุดเมื่อเทียบกับทางเลือกอื่น ๆ เพียงแต่เพราะไม่ใช่วิธีที่คุ้นตากันทั่วไป จึงอาจทำให้บางคนรู้สึกแปลกและถอยห่างไปได้