ฐานข้อมูลในหน่วยความจำที่เข้ากันได้กับ Redis ตัวใหม่ชื่อ Zedis ได้เกิดขึ้นจากชุมชนนักพัฒนา แต่กลับสร้างการพูดคุยเกี่ยวกับแนวทางการเขียนโค้ดด้วยความช่วยเหลือของ AI มากกว่าคุณค่าทางเทคนิค โครงการนี้ที่สร้างขึ้นโดยใช้ภาษาโปรแกรมมิ่ง Zig ได้กลายเป็นจุดระเบิดที่ไม่คาดคิดในการถกเถียงอย่างต่อเนื่องเกี่ยวกับความแท้จริงของโค้ดและความเป็นผู้ใหญ่ของภาษา
คุณสมบัติหลักของ Zedis :
- ความเข้ากันได้กับ Redis Protocol (RESP)
- คำสั่งพื้นฐาน: GET, SET, INCR, DECR, DEL, EXISTS, TYPE
- ประเภทข้อมูลหลากหลายพร้อมการแปลงอัตโนมัติ
- การเก็บข้อมูลถาวรบนดิสก์แบบ RDB
- ระบบส่งข้อความ Pub/Sub
- การจัดการการเชื่อมต่อแบบ Multi-threaded
ชุมชนตั้งคำถามเรื่องความแท้จริงของโค้ด
เอกสารประกอบและโครงสร้างที่ขัดเกลาของโครงการนี้ได้ทำให้นักพัฒนาที่มีประสบการณ์เกิดความสงสัยที่สงสัยว่ามีการใช้โมเดลภาษาขนาดใหญ่อย่างหนักในการสร้างมัน สมาชิกในชุมชนหลายคนชี้ไปที่สัญญาณเตือนที่พวกเขาเชื่อมโยงกับเนื้อหาที่สร้างด้วย AI รวมถึงรูปแบบการจัดรูปแบบเฉพาะและโครงสร้างเอกสารที่ตรงกับสิ่งที่เครื่องมืออย่าง Claude มักจะผลิตออกมา
การพูดคุยนี้เผยให้เห็นความตึงเครียดที่เพิ่มขึ้นในชุมชนนักพัฒนาเกี่ยวกับความโปร่งใสรอบการช่วยเหลือของ AI นักพัฒนาบางคนกังวลเกี่ยวกับโครงการที่อาจสัญญาฟีเจอร์ที่พวกเขาไม่ได้ส่งมอบจริง ในขณะที่คนอื่นๆ โต้แย้งว่าคุณภาพของผลลัพธ์สุดท้ายสำคัญกว่าเครื่องมือที่ใช้ในการสร้างมัน
ความกังวลเรื่องความเสถียรของภาษา Zig โผล่ขึ้นมา
โครงการนี้ยังได้จุดประกายการสนทนาเกี่ยวกับความพร้อมของ Zig สำหรับการใช้งานจริง แม้จะได้รับความนิยมเพิ่มขึ้น แต่ Zig ยังไม่ได้เข้าถึงเวอร์ชัน 1.0 และยังคงแนะนำการเปลี่ยนแปลงที่ทำลายที่ต้องการการปรับโครงสร้างใหม่อย่างมาก นักพัฒนา Zedis ยืนยันว่าได้ประสบกับสิ่งนี้โดยตรง โดยระบุว่าการเปิดตัว Zig 0.15 ระหว่างการพัฒนาต้องการการเขียนการรวมไลบรารี IO ทั้งหมดใหม่
ไลบรารีมาตรฐานกำลังเปลี่ยนแปลงมากเกินไปตามความจริง ระหว่างการพัฒนาไลบรารี Zig 0.15 ได้เปิดตัวและเปลี่ยนไลบรารี Io ทั้งหมด
ความไม่เสถียรนี้ได้นำไปสู่การที่สมาชิกชุมชนบางคนแนะนำให้รอ Zig 1.0 ก่อนที่จะมุ่งมั่นกับโครงการใหญ่ แม้ว่าคนอื่นๆ จะชี้ไปที่ระบบการผลิตที่ประสบความสำเร็จอย่าง TigerBeetle และ Ghostty เป็นหลักฐานว่า Zig สามารถจัดการกับปริมาณงานที่จริงจังได้ในปัจจุบัน
ข้อกำหนดเวอร์ชันของ Zig :
- เวอร์ชันต่ำสุด: 0.15.1
- การเปลี่ยนแปลงที่ทำลายความเข้ากันได้ระหว่างเวอร์ชันต้องมีการปรับโครงสร้างใหม่
- Standard library ยังคงพัฒนาอยู่
- เวอร์ชัน 1.0 ยังไม่ได้เปิดตัว
ความท้าทายในการนำไปใช้ทางเทคนิค
นอกเหนือจากการพูดคุยเมตา คำถามทางเทคนิคได้เกิดขึ้นเกี่ยวกับฟีเจอร์ที่อ้างว่ามีของ Zedis บางอย่าง เอกสารประกอบกล่าวถึงรูปแบบ RAII สำหรับความปลอดภัยของหน่วยความจำ ซึ่งทำให้ผู้เชี่ยวชาญ Zig งุนงงเนื่องจากภาษานี้ขาด destructors ซึ่งเป็นข้อกำหนดพื้นฐานสำหรับ RAII ที่แท้จริง ความแตกต่างนี้เน้นช่องว่างที่อาจเกิดขึ้นระหว่างการอ้างสิทธิ์ทางการตลาดและการนำไปใช้จริง
โครงการนี้แสดงให้เห็นทางเลือกทางเทคนิคที่น่าสนใจบางอย่าง รวมถึงการออกแบบที่หลีกเลี่ยงการจัดสรรหน่วยความจำระหว่างการดำเนินการคำสั่งเพื่อความสามารถในการคาดเดาประสิทธิภาพที่ดีขึ้น อย่างไรก็ตาม นักพัฒนายอมรับว่าต่อสู้กับการนำ async IO ไปใช้โดยใช้เทคนิคสมัยใหม่อย่าง io_uring และ kqueue แทนที่จะเลือกใช้แนวทางแบบ multi-threaded
โครงการ Zedis แม้จะถูกวางตำแหน่งเป็นแบบฝึกหัดการเรียนรู้ แต่ได้กลายเป็นกระจกที่สะท้อนความกังวลในอุตสาหกรรมที่กว้างขึ้นเกี่ยวกับแนวทางการพัฒนา ความเป็นผู้ใหญ่ของภาษา และบทบาทที่พัฒนาของ AI ในการสร้างซอฟต์แวร์โดยไม่ตั้งใจ ว่าการพูดคุยเหล่านี้จะมีอิทธิพลต่อวิธีที่นักพัฒนาเข้าหาโครงการที่คล้ายกันหรือไม่ยังคงต้องติดตาม
อ้างอิง: Redis in Zig