การเขียนโค้ดด้วยความช่วยเหลือจาก AI อาจให้ความสำคัญกับภาษาอย่าง Gleam มากกว่าทางเลือกที่มี Legacy Code จำนวนมาก

ทีมชุมชน BigGo
การเขียนโค้ดด้วยความช่วยเหลือจาก AI อาจให้ความสำคัญกับภาษาอย่าง Gleam มากกว่าทางเลือกที่มี Legacy Code จำนวนมาก

การเพิ่มขึ้นของการเขียนโปรแกรมด้วยความช่วยเหลือจาก AI กำลังจุดประกายการถกเถียงเกี่ยวกับภาษาโปรแกรมมิ่งใดที่จะเจริญรุ่งเรืองในอนาคตที่เป็นระบบอัตโนมัติ กรณีศึกษาการใช้งานจริงล่าสุดจาก Strand ซึ่งเป็นเอเจนซี่การตลาดในกรุง London ชี้ให้เห็นว่าภาษาใหม่ที่ออกแบบมาอย่างดีอย่าง Gleam อาจมีข้อได้เปรียบอย่างมีนัยสำคัญเหนือภาษาที่มีชื่อเสียงซึ่งมีตัวอย่าง legacy code หลายสิบปี

คุณภาพสำคัญกว่าปริมาณในข้อมูลฝึกอบรม AI

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

การเปลี่ยนแปลงในการคิดนี้ชี้ให้เห็นว่าภาษาที่ประสบปัญหาจากกฎของ Sturgeon ซึ่ง 90% ของตัวอย่างออนไลน์มีคุณภาพต่ำ อาจขัดขวางประสิทธิภาพของ AI มากกว่าที่จะช่วยเหลือ ภาษาใหม่ที่หลีกเลี่ยงการเปลี่ยนแปลงที่ทำลายความเข้ากันได้และรักษามาตรฐานการเขียนโค้ดที่เป็นหนึ่งเดียวสามารถให้สภาพแวดล้อมการฝึกอบรมที่สะอาดกว่าสำหรับโมเดล AI

ข้อได้เปรียบของ BEAM สำหรับความน่าเชื่อถือ

การเลือกของ Gleam ที่จะทำงานบนเวอร์ชวลแมชชีน BEAM ซึ่งพัฒนาขึ้นโดย Ericsson สำหรับสวิตช์โทรศัพท์ในช่วงทศวรรษ 1980 นำเสนอประโยชน์ด้านการทนต่อข้อผิดพลาดที่ไม่เหมือนใคร แพลตฟอร์มนี้แบ่งแอปพลิเคชันเป็นกระบวนการที่มีน้ำหนักเบาซึ่งสามารถเริ่มต้นใหม่ได้อย่างอิสระหากเกิดการล้มเหลว ป้องกันความล้มเหลวทั้งระบบ

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

BEAM: Bogdan/Björn's Erlang Abstract Machine เวอร์ชวลแมชชีนที่รันโปรแกรม Erlang, Elixir และ Gleam

ประโยชน์ของแพลตฟอร์ม BEAM :

  • สถาปัตยกรรมที่ทนต่อความผิดพลาดจากระบบโทรศัพท์ Ericsson ในยุค 1980
  • รองรับกระบวนการเบาหลายพันถึงหลายล้านกระบวนการ
  • การรีสตาร์ทกระบวนการแบบอิสระโดยไม่ทำให้ระบบทั้งหมดขัดข้อง
  • การสื่อสารแบบส่งข้อความระหว่างกระบวนการ
  • การแยกความล้มเหลวของบริการภายนอกโดยอัตโนมัติ

ประสบการณ์นักพัฒนาและการมุ่งเน้นความสามารถในการบำรุงรักษา

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

ภาษาและเครื่องมือผลักดันคุณอย่างอ่อนโยนให้ใช้รูปแบบที่สอดคล้องและเป็นแบบแผน และเขียนอย่างชัดเจนและเรียบง่ายโดยไม่พยายามฉลาดเกินไป

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

คุณสมบัติหลักของ Gleam :

  • คอมไพล์ได้ทั้ง BEAM (Erlang VM) และ JavaScript
  • ไม่มีรายงานการขัดข้องในการใช้งานจริงที่ Strand เป็นเวลา 2 ปี
  • คอมไพล์ได้อย่างรวดเร็วพร้อมเครื่องมือที่ครบครัน (การจัดรูปแบบ, การรองรับ LSP)
  • เข้าถึงไลบรารี Erlang/Elixir ที่ผ่านการทดสอบมากว่า 40 ปี
  • เฟรมเวิร์ก OTP ที่ปลอดภัยด้านประเภทข้อมูลพร้อมความเข้ากันได้อย่างเต็มรูปแบบ

ผลกระทบในอนาคตสำหรับการยอมรับภาษา

การอภิปรายเกี่ยวกับภาษาที่เป็นมิตรกับ AI ขยายไปเกินกว่าแค่คุณภาพข้อมูลการฝึกอบรม นักพัฒนาบางคนมองเห็นภาพภาษาโปรแกรมมิ่งที่มาพร้อมกับโมเดล AI เฉพาะของตัวเอง ซึ่งฝึกอบรมโดยเฉพาะกับตัวอย่างที่คัดสรรมาจากแนวปฏิบัติที่ดีมากกว่าอินเทอร์เน็ททั้งหมด

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

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

อ้างอิง: Optimising for maintainability A case study of Gleam in production at Strand