มรดกของ FORTH: เหตุใดผู้สร้าง ChipWits จึงเลือกใช้การเขียนโปรแกรมแบบ Stack-Based ในปี 1984

BigGo Editorial Team
มรดกของ FORTH: เหตุใดผู้สร้าง ChipWits จึงเลือกใช้การเขียนโปรแกรมแบบ Stack-Based ในปี 1984

การเปิดเผยซอร์สโค้ดต้นฉบับของ FORTH จากเกม ChipWits ได้จุดประกายให้เกิดการถกเถียงที่น่าสนใจเกี่ยวกับบทบาทของภาษาโปรแกรมมิ่งแบบ stack-based ในการพัฒนาเกมยุคแรก ในขณะที่การเปิดเผยนี้เป็นการเฉลิมฉลองครบรอบ 40 ปีของเกม การตอบรับจากชุมชนได้เผยให้เห็นถึงเหตุผลเชิงลึกว่าทำไม FORTH จึงเป็นตัวเลือกที่เหมาะสมสำหรับการพัฒนาเกมอินดี้ในยุค 80

ตัวเลือกที่เหมาะสมสำหรับการพัฒนาบน Mac ยุคแรก

ในปี 1984 การพัฒนาโปรแกรมสำหรับ Macintosh ที่เพิ่งวางจำหน่ายมีอุปสรรคมากมาย ด้วยราคาของระบบพัฒนาบน Apple Lisa ที่สูงถึง 9,995 ดอลลาร์ (เทียบเท่ากับมูลค่ามากกว่า 30,000 ดอลลาร์ในปัจจุบัน) นักพัฒนาอินดี้จึงต้องหาทางเลือกที่สร้างสรรค์ การสนทนาในชุมชนชี้ให้เห็นว่า FORTH เป็นทางเลือกที่เหมาะสมเพราะสามารถพัฒนาบน Mac 128K ได้โดยตรง โดยไม่จำเป็นต้องใช้ฮาร์ดแวร์สำหรับการพัฒนาที่มีราคาแพง

ตำแหน่งที่โดดเด่นของ FORTH ในวงการโปรแกรมมิ่ง

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

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

สถิติการพัฒนา ChipWits ดั้งเดิม:

  • โค้ดต้นฉบับภาษา FORTH: ประมาณ 3,000 บรรทัด
  • การเขียนใหม่ด้วยภาษา C สมัยใหม่: มากกว่า 35,000 บรรทัด
  • หน่วยความจำ RAM ของ Mac รุ่นแรก: 128KB
  • หน่วยความจำ RAM ของ C64 รุ่นแรก: 64KB
  • ความจุดิสก์ดั้งเดิม: Mac (400KB) เทียบกับ C64 (165KB)
ภาพสะท้อนให้เห็นถึงยุคของการคอมพิวเตอร์ที่ภาษาโปรแกรมมิ่งหลายภาษา รวมถึง FORTH ถูกบรรจุและแจกจ่ายผ่านฟล็อปปี้ดิสก์ แสดงให้เห็นถึงบริบททางประวัติศาสตร์ของการพัฒนาซอฟต์แวร์
ภาพสะท้อนให้เห็นถึงยุคของการคอมพิวเตอร์ที่ภาษาโปรแกรมมิ่งหลายภาษา รวมถึง FORTH ถูกบรรจุและแจกจ่ายผ่านฟล็อปปี้ดิสก์ แสดงให้เห็นถึงบริบททางประวัติศาสตร์ของการพัฒนาซอฟต์แวร์

ข้อได้เปรียบในการพัฒนาข้ามแพลตฟอร์ม

หนึ่งในแง่มุมที่สำคัญที่สุดของการเลือก FORTH คือความสามารถในการพัฒนาข้ามแพลตฟอร์ม ผู้พัฒนาต้นฉบับระบุว่าประมาณ 70% ของโค้ดบน Mac สามารถพอร์ตไปยังแพลตฟอร์มอื่นๆ เช่น Apple II และ Commodore 64 ได้อย่างง่ายดาย ซึ่งมีคุณค่าอย่างมากในยุคที่เครื่องมือพัฒนาข้ามแพลตฟอร์มแทบจะไม่มีอยู่เลย

มรดกของการเขียนโปรแกรมแบบ Stack-Based

การอภิปรายเผยให้เห็นว่าอิทธิพลของ FORTH นั้นไม่ได้จำกัดอยู่แค่วงการเกมเท่านั้น ภาษานี้ได้กลายเป็นมาตรฐานสำหรับการพัฒนาฮาร์ดแวร์และไดรเวอร์ควบคู่ไปกับภาษา C และยังคงถูกใช้ในหลากหลายด้านจนถึงปัจจุบัน ลักษณะแบบ stack-based และความสามารถในการขยายได้ทำให้สามารถสร้างแอบสแตรกชันที่ทรงพลังในขณะที่ยังคงรักษาการควบคุมระดับต่ำไว้ได้ ทำให้เหมาะสมอย่างยิ่งสำหรับระบบฝังตัวและการเชื่อมต่อกับฮาร์ดแวร์

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

แหล่งที่มา: ChipWits' 40th Birthday: Original FORTH Code Open Sourced!

ไดรฟ์ฟล็อปปี้ Commodore 1541 เป็นเครื่องเตือนความทรงจำถึงยุคของฮาร์ดแวร์ที่รองรับภาษาโปรแกรมอย่าง FORTH ซึ่งแสดงให้เห็นถึงความสำคัญที่ยังคงมีอยู่ในการพัฒนาฮาร์ดแวร์
ไดรฟ์ฟล็อปปี้ Commodore 1541 เป็นเครื่องเตือนความทรงจำถึงยุคของฮาร์ดแวร์ที่รองรับภาษาโปรแกรมอย่าง FORTH ซึ่งแสดงให้เห็นถึงความสำคัญที่ยังคงมีอยู่ในการพัฒนาฮาร์ดแวร์