1 คะแนน โดย GN⁺ 2024-01-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

แนะนำ OpenD: ฟอร์กของภาษา D

  • ผู้นำของภาษา D ประสบปัญหามากมายมาโดยตลอดในกระบวนการรับการมีส่วนร่วมจากชุมชน
  • แม้จะมีความพยายามปรับปรุงภาษา D โดยสะท้อนความคิดเห็นของชุมชน แต่ความพยายามเหล่านี้ก็มักถูกเพิกเฉยหรือถูกทำให้ล่าช้า
  • จากบริบทนี้เอง ฟอร์กของภาษา D ที่ชื่อว่า OpenD จึงถือกำเนิดขึ้น โดยมีเป้าหมายเพื่อเปิดรับการมีส่วนร่วมจากชุมชนให้มากขึ้น

ประวัติการพัฒนาภาษา D

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

อิทธิพลของฟอร์ก Ares/Tango

  • ในอดีต มีการสร้างฟอร์กของภาษา D ภายใต้ชื่อ Ares ขึ้นมาเพื่อท้าทายการตัดสินใจของ Walter Bright และต่อมาฟอร์กนี้ได้พัฒนาเป็น Tango
  • Tango มอบสภาพแวดล้อมที่เปิดให้นักพัฒนามีส่วนร่วมได้อย่างอิสระ และมีฟีเจอร์มากมายที่ไม่มีอยู่ในระบบนิเวศ Phobos
  • ฟอร์ก Tango มีบทบาทสำคัญต่อพัฒนาการของภาษา D และหากไม่มีฟอร์กนี้ ภาษา D ก็คงเป็นเพียงการทดลองที่ล้มเหลวในตลาด

การจากไปของนักพัฒนา

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

การเปลี่ยนผ่านสู่ OpenD

  • เมื่อความไม่พอใจและความผิดหวังของผู้มีส่วนร่วมสะสมมากขึ้น บางส่วนจึงตัดสินใจแยกทางจากผู้นำของภาษา D และหันไปสู่ฟอร์กใหม่อย่าง OpenD
  • OpenD สะท้อนความพยายามของผู้มีส่วนร่วมในชุมชนที่ต้องการแก้ไขปัญหาของภาษา D และชี้ให้เห็นถึงความเป็นไปได้ใหม่ ๆ สำหรับอนาคตของภาษา D

ความเห็นของ GN⁺

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

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

 
GN⁺ 2024-01-16
ความคิดเห็นจาก Hacker News
  • Walter ซึ่งเป็นหนึ่งในผู้นำของภาษา D ยังคงมีบทบาทอยู่และมีโอกาสสูงที่จะได้เห็นความคิดเห็นที่นี่ พวกเขาใส่ใจกับภาษา D มาก และจากประสบการณ์ก็เป็นคนที่มีเจตนาดี
  • มีความเห็นมานานแล้วว่าควรฟอร์กภาษา D และท้ายที่สุดนี่ก็เป็นสิ่งที่หลีกเลี่ยงไม่ได้ ตอนที่หนังสือของ Andrei Alexandrescu ออกมาในปี 2010 ฟีเจอร์ที่ทำให้ภาษา D น่าสนใจในตอนนั้น ตอนนี้มีอยู่ใน C#, Java และ C++ แล้ว
  • คอมมูนิตี้ของภาษา D เต็มไปด้วยผู้คนที่คุยด้วยได้ดี แต่กลับไม่สามารถสร้างฟีเจอร์ชี้ขาดได้ และเสียเวลาไปมากเกินไปกับการพยายามดึงผู้ใช้ใหม่เข้ามา
  • ตอนที่ Rust เพิ่งออกมาใหม่ ๆ มีการเสนอแนวคิด lifetime ให้กับคอมมูนิตี้ D แต่ Walter มองว่าไม่จำเป็น หลายปีต่อมา Walter ก็เสนอแนวคิด lifetime ในแบบของตัวเองที่ต่างจาก Rust แต่ก็ยังมีข้อสงสัยเรื่องประโยชน์ใช้งานของมัน
  • โมเดลการกำกับดูแลแบบใหม่ควรเริ่มต้นจากการพูดคุยของผู้มีส่วนได้ส่วนเสีย ไม่ใช่เริ่มจากการตัดสินใจว่าจะเลือกหรือตัดฟีเจอร์ใดออก การฟอร์กภาษา D ครั้งนี้ดูมีโอกาสสำเร็จในระยะยาวค่อนข้างต่ำ
  • กลุ่มวิจัยได้ย้ายไปใช้ Rust ตั้งแต่หลายปีก่อน เพราะภาษา D ไม่ค่อยตอบสนองและทิศทางการพัฒนาภาษาก็ซบเซา หวังว่า OpenD จะประสบความสำเร็จ แต่ก็หวังเช่นกันว่ายังมีโอกาสเลือกชื่อที่มีเอกลักษณ์และน่าจดจำกว่านี้
  • ถ้าภาษา D จะทุ่มไปที่ garbage collector (GC) ก็ยังสับสนว่าตลาดเฉพาะของมันคืออะไร เพราะ C# และ Java ได้ยืนตำแหน่งเป็นผู้สืบทอดของ C++ ฝั่งที่ใช้ garbage collector ไปแล้ว ทำให้แข่งขันได้ยาก
  • วิสัยทัศน์ของภาษา D ยังไม่ชัดเจน เอกสารอ่านยากและอธิบายไม่เพียงพอ จึงยากที่จะมองเห็นวิสัยทัศน์การออกแบบภาษาที่ชัดเจน
  • มีอัปเดตเกี่ยวกับ OpenD และกำลังได้รับความสนใจอยู่ อีกความเห็นหนึ่งบอกว่าถ้าใช้ชื่อว่า 'Died' คงจะขำกว่านี้
  • มีการถกเถียงครั้งใหญ่เกี่ยวกับหัวข้อนี้ในฟอรัมของภาษา D
  • ตลอด 10 ปีที่ผ่านมา เราได้บทเรียนมากมายเกี่ยวกับการกำกับดูแลของภาษาโปรแกรม เวลาเลือกภาษาใช้งานจึงควรพิจารณาเรื่องการกำกับดูแลเป็นปัจจัยสำคัญด้วย
  • ยากที่จะมองเห็นด้านลบของการมี implementation ของคอมไพเลอร์หลายแบบ หนึ่งในเหตุผลที่ภาษา C ได้รับความนิยมก็คืออิสระจากการมี implementation ของคอมไพเลอร์ที่หลากหลาย