Bedrock เครื่องเสมือน 8 บิตตัวใหม่ที่ออกแบบมาเพื่อสร้างโปรแกรมที่คงอยู่ตลอดไป ได้สร้างการอภิปรายอย่างมีนัยสำคัญในชุมชนโปรแกรมเมอร์ แม้ว่าระบบนี้จะสัญญาว่าจะมีความสะดวกในการพกพาข้ามแพลตฟอร์ม แต่นักพัฒนาก็ตั้งคำถามว่าข้อจำกัดทางเทคนิคจะทำให้มันใช้งานได้จริงในโลกแห่งความเป็นจริงหรือไม่
โครงการนี้ซึ่งเริ่มต้นจากการแยกสาขาของเครื่องเสมือน Uxn มีเป้าหมายเพื่อลดความซับซ้อนของการพัฒนาข้ามแพลตฟอร์มโดยการจัดหาสภาพแวดล้อมการคำนวณที่มีเพียงคำสั่ง 32 คำสั่งและอุปกรณ์ 12 ชิ้น โปรแกรมที่เขียนสำหรับ Bedrock สามารถทำงานได้ในทางทฤษฎีบนระบบใดก็ตามที่มีโปรแกรมจำลองที่เข้ากันได้ ตั้งแต่เว็บเบราว์เซอร์สมัยใหม่ไปจนถึงเครื่องเล่นเกมรุ่นเก่าอย่าง Nintendo DS
ข้อมูลจำเพาะทางเทคนิคของ Bedrock :
- สถาปัตยกรรม: เครื่องเสมือน 8-bit
- หน่วยความจำ: ขีดจำกัดพื้นฐาน 64KB (สามารถขยายได้สูงสุดถึง 64MB)
- ชุดคำสั่ง: 32 คำสั่ง
- อุปกรณ์: อุปกรณ์มาตรฐาน 12 ชิ้น
- กราฟิก: ระบบพิกเซลสองชั้นพร้อมจานสี 16 สี
- แพลตฟอร์มที่รองรับ: Windows , Linux , เว็บเบราว์เซอร์, Nintendo DS
ข้อจำกัดของหน่วยความจำทำให้เกิดความกังวลในทางปฏิบัติ
ประเด็นที่ถกเถียงกันมากที่สุดของ Bedrock คือข้อจำกัดหน่วยความจำ 64KB ซึ่งได้จุดประกายการถกเถียงเกี่ยวกับการประยุกต์ใช้งานจริงของระบบ สมาชิกในชุมชนได้แสดงความสงสัยเกี่ยวกับโปรแกรมที่มีความหมายอะไรบ้างที่สามารถสร้างได้ภายในข้อจำกัดดังกล่าวในปี 2025 อย่างไรก็ตาม ผู้สนับสนุนชี้ให้เห็นว่างานคำนวณที่จำเป็นหลายอย่างได้รับการดำเนินการด้วยข้อจำกัดที่คล้ายกันในช่วงทศวรรษ 1980 รวมถึงสเปรดชีต โปรแกรมวาดรูป และซอฟต์แวร์แต่งเพลง
การค้นพบที่น่าสนใจอย่างหนึ่งที่เกิดขึ้นจากการอภิปรายคือ แม้ว่าระบบฐานจะจำกัดอยู่ที่ 64KB แต่การใช้งานสามารถให้บล็อกหน่วยความจำเพิ่มเติมแก่โปรแกรมเมอร์ได้สูงสุด 64MB ซึ่งอาจจะแก้ไขปัญหาความสามารถในการขยายขนาดได้บางส่วน
โปรแกรมตัวอย่างและขนาดไฟล์:
- Cobalt (โปรแกรมแก้ไข pixel art): 47,665 ไบต์
- Snake (โปรแกรมสาธิตกราฟิก): 1,133 ไบต์
- นาฬิกาไมโครเวฟ: 393 ไบต์
- ข้อมูลระบบ: 4,918 ไบต์
- แป้นพิมพ์บนหน้าจอ: 2,774 ไบต์
บริบททางประวัติศาสตร์และสายวิวัฒนาการทางเทคนิค
การสนทนาได้เผยให้เห็นตำแหน่งของ Bedrock ในประเพณีอันยาวนานของเครื่องเสมือนแบบพกพา สมาชิกในชุมชนได้ติดตามแนวคิดที่คล้ายกันย้อนกลับไปถึงระบบ BCPL ของ Martin Richards จากปี 1972 และคอมไพเลอร์ Pascal-P ของ Niklaus Wirth จากปี 1974 ระบบเหล่านี้ในยุคแรกใช้ชุดคำสั่งสมมติเพื่อให้เกิดความสามารถในการพกพาข้ามแพลตฟอร์มฮาร์ดแวร์ที่แตกต่างกัน
การอภิปรายได้เน้นย้ำว่าระบบสมัยใหม่อย่าง Java Virtual Machine และ Common Language Runtime วิวัฒนาการมาจากหลักการเดียวกันนี้ แม้ว่าจะมีความซับซ้อนเพิ่มขึ้นอย่างมาก Bedrock แสดงถึงการกลับไปสู่ความเรียบง่ายของแนวทางเหล่านี้ในยุคแรก
ปรัชญาการออกแบบเมื่อเทียบกับทางเลือกสมัยใหม่
นักพัฒนาบางคนตั้งคำถามว่า Bedrock มีข้อได้เปรียบเหนือโซลูชันที่มีอยู่แล้วอย่าง WebAssembly สำหรับการรันโค้ดแบบพกพาหรือไม่ ความแตกต่างหลักดูเหมือนจะเป็นเรื่องความซับซ้อน ในขณะที่ข้อกำหนดของ WebAssembly มีมากกว่า 200 หน้า Bedrock ให้ความสำคัญกับความเรียบง่ายและความง่ายในการใช้งาน ตัวเลือกการออกแบบนี้รวมถึงการตัดสินใจที่ถกเถียงกันอย่างการแนะนำพฤติกรรมที่ไม่ได้กำหนดไว้ ซึ่งอาจนำไปสู่พฤติกรรมของโปรแกรมที่แตกต่างกันในการใช้งานต่าง ๆ
ความสามารถด้านกราฟิกของระบบได้ดึงดูดความสนใจเช่นกัน โดยมีระบบพิกเซลสองชั้นที่ผิดปกติซึ่งแต่ละพิกเซลสามารถมีทั้งสีพื้นหน้าและสีพื้นหลัง แม้ว่าจะเตือนให้นึกถึงการออกแบบฮาร์ดแวร์ในทศวรรษ 1980 แต่แนวทางนี้ทำให้นักพัฒนาบางคนงุนงงที่พบว่าการใช้งานไม่ชัดเจน
การใช้งานที่พร้อมใช้:
- bedrock-js: ตัวประกอบและตัวจำลองที่ใช้ JavaScript สำหรับการใช้งานบนเว็บ
- bedrock-pc: ตัวประกอบและตัวจำลองที่ใช้ Rust สำหรับ Windows และ Linux
- ที่มา: ดัดแปลงมาจากเครื่องเสมือน Ux และระบบคอมพิวติ้ง Varvara
![]() |
---|
ส่วนติดต่อผู้ใช้ bedrock-js ที่แสดงให้เห็นการเน้นความเรียบง่ายและการออกแบบแบบมินิมอลของระบบ |
การตอบรับของชุมชนและศักยภาพในอนาคต
แม้จะมีการถกเถียงทางเทคนิค แต่การตอบสนองของชุมชนส่วนใหญ่เป็นไปในทางบวก โดยนักพัฒนาหลายคนชื่นชมความน่าสนใจแบบโนสทัลเจียและคุณค่าทางการศึกษาของระบบ การสาธิตสด รวมถึงโปรแกรมพิกเซลอาร์ตที่มีคุณสมบัติครบครันชื่อ Cobalt ได้สร้างความประทับใจให้กับผู้ใช้ด้วยสิ่งที่เป็นไปได้ภายในข้อจำกัดของระบบ
นี่เป็นสิ่งล่าสุดในประเพณีที่น่าเคารพมาก... ดังนั้นฉันคิดว่า Bedrock สามารถมีประโยชน์มากในฐานะเป้าหมายของคอมไพเลอร์ ถ้าไม่มีอะไรอื่น
โครงการนี้เผชิญกับความท้าทายแบบคลาสสิกของแพลตฟอร์มคำนวณเฉพาะทาง คือการสร้างสมดุลระหว่างความเรียบง่ายกับประโยชน์ใช้สอยในทางปฏิบัติ แม้ว่าข้อจำกัด 64KB อาจจะจำกัดการใช้งานให้เฉพาะแอปพลิเคชันเฉพาะทาง แต่ Bedrock อาจจะประสบความสำเร็จในสภาพแวดล้อมการศึกษา ระบบฝังตัว หรือเป็นรากฐานสำหรับเกมสไตล์ย้อนยุคและเครื่องมือสร้างสรรค์
ว่า Bedrock จะบรรลุเป้าหมายในการสร้างซอฟต์แวร์ที่คงอยู่อย่างแท้จริงหรือไม่นั้นยังต้องติดตามดู แต่มันได้จุดประกายการอภิปรายเกี่ยวกับความสามารถในการพกพาซอฟต์แวร์ ความซับซ้อนของระบบ และการแลกเปลี่ยนระหว่างความเรียบง่ายและความสามารถในการคำนวณสมัยใหม่ได้สำเร็จแล้ว
อ้างอิง: Bedrock