สภาพแวดล้อมการเขียนโปรแกรมแบบภาพ Seed ได้รับการฟื้นฟูครั้งใหญ่หลังจากหยุดนิ่งมา 6 ปี

ทีมชุมชน BigGo
สภาพแวดล้อมการเขียนโปรแกรมแบบภาพ Seed ได้รับการฟื้นฟูครั้งใหญ่หลังจากหยุดนิ่งมา 6 ปี

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

ไทม์ไลน์ของโครงการ:

  • การพัฒนาเดิม: ดำเนินการอย่างแข็งขันจนถึงประมาณปี 2018
  • ช่วงที่ดูเหมือนหยุดนิ่ง: 2018-2024 (สาขาหลัก)
  • ช่วงฟื้นคืนชีพ: 2024-ปัจจุบัน (สาขาฟื้นคืนชีพ)
  • นักพัฒนาได้สร้าง April APL compiler เพื่อเตรียมการสำหรับการฟื้นคืนชีพของ Seed
  • มีการ commit ล่าสุดมากกว่า 150 ครั้งในสาขาฟื้นคืนชีพ ณ ปลายปี 2024

ความเข้าใจผิดเกี่ยวกับโปรเจกต์และการพัฒนาที่ยังดำเนินอยู่

สมาชิกในชุมชนแสดงความกังวลเกี่ยวกับการถูกทิ้งร้างของ Seed โดยสังเกตจากการขาด commits ล่าสุดใน main branch และ dependencies ที่ล้าสมัยอย่าง Node.js และ Gulp อย่างไรก็ตาม ผู้สร้างโปรเจกต์ได้ชี้แจงว่าการพัฒนานั้นยังคงดำเนินอยู่อย่างแข็งขัน โดยมี commits ล่าสุดกว่า 150 รายการเกิดขึ้นใน revival branch แยกต่างหาก การสื่อสารที่ผิดพลาดนี้เน้นย้ำถึงปัญหาทั่วไปในโปรเจกต์โอเพนซอร์สที่การพัฒนาที่ยังดำเนินอยู่เกิดขึ้นนอก main branch ทำให้เกิดสมมติฐานที่ผิดเกี่ยวกับสุขภาพของโปรเจกต์

การปรับปรุงสถาปัตยกรรมทางเทคนิค

Seed เวอร์ชันเดิมเผชิญกับความท้าทายทางเทคนิคที่สำคัญซึ่งกระตุ้นให้มีการเขียนใหม่ทั้งหมด นักพัฒนายอมรับว่าเวอร์ชันแรกถูกสร้างขึ้นโดยไม่มีความเข้าใจพื้นฐานของ Common Lisp อย่างเพียงพอ ทำให้เกิดปัญหาด้านสถาปัตยกรรม ระบบเดิมพึ่งพา React.js อย่างมากสำหรับ frontend ซึ่งพิสูจน์แล้วว่าหนักเกินไปและเปลี่ยนแปลงอย่างรวดเร็วสำหรับความต้องการของ Seed เวอร์ชันใหม่ได้เปลี่ยนไปใช้ทางเลือกที่เบากว่าอย่าง HTMX และ Alpine.js สร้างรากฐานที่เสถียรกว่าที่ไม่ผูกติดกับอินเทอร์เฟซเบราว์เซอร์อย่างแน่นหนา

HTMX และ Alpine.js เป็นไลบรารี JavaScript ที่มีน้ำหนักเบาซึ่งให้ฟังก์ชันเว็บแบบไดนามิกโดยไม่มีความซับซ้อนของเฟรมเวิร์กขนาดใหญ่อย่าง React

การเปลี่ยนแปลงสถาปัตยกรรม:

Component Original Version Revival Version
Frontend Framework React.js HTMX + Alpine.js
Coupling ผูกติดกับเบราว์เซอร์อย่างแน่นหนา การออกแบบที่ไม่ขึ้นกับแพลตฟอร์ม
Build System ต้องใช้ Gulp ไม่ต้องใช้ Gulp อีกต่อไป
Interface Support เฉพาะเว็บเบราว์เซอร์เท่านั้น มีศักยภาพสำหรับ UI แบบ terminal/desktop

วิสัยทัศน์ที่เป็นเอกลักษณ์เหนือ IDEs แบบดั้งเดิม

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

การตอบสนองของชุมชนและแนวโน้มในอนาคต

การเปิดเผยของการพัฒนาที่ยังดำเนินอยู่ได้สร้างความตื่นเต้นในหมู่ผู้ชื่นชอบ Common Lisp โดยบางคนแนะนำการรวมเข้ากับระบบอื่นๆ ที่ใช้ Lisp ผู้สร้างโปรเจกต์ได้แสดงความมุ่งมั่นต่อวิสัยทัศน์โดยการพัฒนา April APL compiler เป็นแบบฝึกหัดการเรียนรู้เพื่อให้ได้ความเชี่ยวชาญที่จำเป็นสำหรับความต้องการที่ซับซ้อนของ Seed แนวทางที่เป็นระบบนี้แสดงให้เห็นกลยุทธ์การพัฒนาที่เป็นผู้ใหญ่และยั่งยืนมากขึ้นสำหรับการฟื้นฟู

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

อ้างอิง: Seed