การเปิดเผยซอร์สโค้ดต้นฉบับของ 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 คือความสามารถในการพัฒนาข้ามแพลตฟอร์ม ผู้พัฒนาต้นฉบับระบุว่าประมาณ 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 ซึ่งแสดงให้เห็นถึงความสำคัญที่ยังคงมีอยู่ในการพัฒนาฮาร์ดแวร์ |