1 คะแนน โดย GN⁺ 2024-01-09 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Elixir ได้ประกาศอย่างเป็นทางการว่าเปลี่ยนผ่านเป็น ภาษาที่มีการกำหนดประเภทแบบค่อยเป็นค่อยไป ในวาระครบรอบ 13 ปีนับจากคอมมิตแรก
  • ปัจจุบันสามารถทำ การอนุมานประเภท และ การตรวจสอบประเภท สำหรับ bitstring ได้แล้ว และรองรับ ทุกประเภท (แต่ยังไม่รองรับ sub-typing ระหว่างประเภท)
  • ไมล์สโตนแรกคือการทำอนุมานสำหรับ patterns และ guards
  • การอนุมานนี้ทำงานในลักษณะ ตรวจจับบั๊กได้โดยไม่ต้องเปลี่ยนภาษา หรือ โค้ดเบสเดิม
  • ตั้ง เป้าหมาย ให้การอนุมานสำหรับ patterns และ guards ทั้งหมดเสร็จสมบูรณ์ภายใน Elixir v1.17

ประกาศการเปลี่ยนผ่านสู่ภาษาที่มีการกำหนดประเภทแบบค่อยเป็นค่อยไป

  • เนื่องในโอกาสครบรอบ 13 ปีนับจากคอมมิตแรกของรีโพซิทอรี Elixir จึงมีการประกาศอย่างเป็นทางการว่า Elixir เป็น ภาษาที่มีการกำหนดประเภทแบบค่อยเป็นค่อยไป
  • ขอบเขตการติดตั้งใช้งานการตรวจสอบประเภท ณ ปัจจุบัน
    • ทำ การอนุมานประเภท และ การตรวจสอบประเภท สำหรับ bitstring
    • รองรับ ทุกประเภท(all types) แล้ว แต่ ยังไม่รองรับ sub-typing ภายในประเภท

เป้าหมายถัดไปและไมล์สโตนแรก

  • ตั้งเป้าหมายให้สามารถทำการอนุมานสำหรับ patterns และ guards ทั้งหมดได้ภายใน Elixir v1.17
  • ไมล์สโตนแรกคือการทำอนุมานสำหรับ patterns และ guards
    • เป็นแนวทางที่ช่วย ตรวจจับบั๊กในโค้ดได้โดยไม่ต้องเปลี่ยนภาษา หรือโค้ดเบสของผู้ใช้
    • มุ่งให้ก้าวแรกนี้เป็น win-win สำหรับทุกฝ่าย

1 ความคิดเห็น

 
GN⁺ 2024-01-09
ความเห็นจาก Hacker News
  • คำขอบคุณถึง Jose

    • กล่าวขอบคุณ Jose สำหรับความทุ่มเทของเขาที่มีต่อ Elixir และชุมชน
    • ความใส่ใจและความเชี่ยวชาญของเขาต่อภาษาและชุมชนได้รับการชื่นชมอย่างมาก
    • เป็นตัวอย่างอันยอดเยี่ยมที่แสดงถึงความมั่นคงและความขยันของ Jose และขอบคุณบุคคลที่ส่งผลอย่างมากต่อความสุขในชีวิตประจำวัน
  • ความสนใจต่อภาษาแบบ gradual typing

    • ชื่นชอบภาษาที่มีการกำหนดชนิดข้อมูลแบบค่อยเป็นค่อยไป แต่ข้อมูลที่นี่มีค่อนข้างน้อย
    • ให้ลิงก์ไปยังบทความวิชาการที่เผยแพร่เมื่อต้นปี 2022 และกำลังมองหาข้อมูลเพิ่มเติมเกี่ยวกับระบบชนิดข้อมูลนี้
  • ความเห็นเรื่องการไม่มี type ใน Elixir

    • การไม่มี type ใน Elixir ทำให้บางคนรู้สึกไม่อยากใช้งาน
    • การเพิ่ม type เข้าไปในช่วงที่ภาษาสมบูรณ์เกือบทั้งหมดแล้วถือเป็นจังหวะเวลาที่เหมาะอย่างยิ่ง
    • ใน Ruby เคยไม่มั่นใจกับ Sorbet เพราะรู้สึกว่าขัดกับปรัชญาของภาษาแบบ dynamic แต่ก็ชอบในฐานะเครื่องมือเสริมเพื่อเพิ่มความปลอดภัย
    • แสดงความมั่นใจว่า Elixir จะสามารถนำระบบชนิดข้อมูลมาใช้อย่างถูกต้อง
  • ความเชื่อมั่นต่อ Jose Valim และ Anders Hejlsberg

    • Jose Valim เป็นหนึ่งในไม่กี่คนในวงการที่เชื่อว่าสามารถนำระบบชนิดข้อมูลมาใช้อย่างถูกต้องได้
    • Anders Hejlsberg ก็เป็นอีกคนที่ไว้วางใจในเรื่องการออกแบบระบบชนิดข้อมูล
  • ปฏิกิริยาต่อการเพิ่มระบบชนิดข้อมูลใน Elixir

    • เพิ่งย้ายบริษัทเมื่อไม่นานมานี้และได้มาใช้ Elixir จึงคิดถึงข้อดีของภาษาแบบมี type ที่เคยได้รับจาก TypeScript อย่างมาก
    • การเข้าถึง data model ได้จากทุกที่ในโปรเจกต์เป็นข้อดีสำคัญของ Elixir
    • รู้สึกยินดีมากที่ Elixir ซึ่งยอดเยี่ยมอยู่แล้วได้รับการพัฒนาให้ดีขึ้นไปอีก และขอแสดงความยินดีกับทีมที่มีส่วนร่วมในงานนี้
  • ความสำคัญของระบบชนิดข้อมูล

    • แม้ Phoenix และ RoR (Ruby on Rails) จะพิสูจน์แล้วว่ามีประสิทธิภาพการพัฒนาสูง แต่ก็เกิดปัญหาได้ง่ายจากเรื่อง type และ runtime error
    • type ช่วยเปลี่ยนข้อผิดพลาดจำนวนมากจาก runtime error ให้กลายเป็น build-time error ซึ่งเป็นข้อได้เปรียบอย่างมากต่อการพัฒนาซอฟต์แวร์ที่เชื่อถือได้
  • สิ่งที่ควรเรียนรู้จากการนำ gradual typing มาใช้ใน PHP

    • มองว่าการนำ gradual typing มาใช้ใน PHP มีความเป็นประโยชน์ใช้สอยมาก และหวังว่าจะมีสิ่งให้เรียนรู้จากแนวทางนี้
  • ความเห็นเรื่องนักพัฒนา Ruby ที่ย้ายมาใช้ Elixir

    • เคยหวังให้ความพยายามแบบนี้ถูกฝังมาใน Ruby และตอนนี้นักพัฒนา Ruby จำนวนมากก็หันมาใช้ Elixir แล้ว
    • ชี้ให้เห็นว่า Elixir กำลังพัฒนาไปเป็นภาษาที่น่าทึ่ง
  • แนวทางของทีม Elixir และ Jose ต่อการนำระบบชนิดข้อมูลมาใช้

    • ควรไปดูการบรรยายของทีม Elixir และโดยเฉพาะของ Jose
    • พวกเขากำลังดำเนินการอย่างระมัดระวังและใส่ใจอย่างมากในการนำระบบชนิดข้อมูลมาใช้ และกำลังพยายามสร้างระบบชนิดข้อมูลที่ดี