อ่าน 4 นาที
ความเข้ากันได้ในอนาคต
ความเข้ากันได้แบบไปข้างหน้า หรือ ความเข้ากันได้แบบย้อนหลัง คือลักษณะการออกแบบที่ช่วยให้ ระบบ สามารถรับ อินพุต ที่ออกแบบมาสำหรับ เวอร์ชัน ที่ใหม่กว่าของระบบ นั้น ได้...
ความเข้ากันได้ในอนาคต
ความเข้ากันได้แบบไปข้างหน้าหรือความเข้ากันได้แบบย้อนหลังคือลักษณะการออกแบบที่ช่วยให้ระบบสามารถรับอินพุตที่ออกแบบมาสำหรับเวอร์ชัน ที่ใหม่กว่าของระบบ นั้นได้ แนวคิดนี้สามารถนำไปใช้กับระบบทั้งหมดอินเทอร์เฟซไฟฟ้าสัญญาณโทรคมนาคม โปรโตคอลการสื่อสารข้อมูลรูปแบบไฟล์และภาษาโปรแกรมได้มาตรฐานจะสนับสนุนความเข้ากันได้แบบไปข้างหน้า หากผลิตภัณฑ์ที่สอดคล้องกับเวอร์ชันก่อนหน้าสามารถประมวลผลอินพุตที่ออกแบบมาสำหรับเวอร์ชันที่ใหม่กว่าของมาตรฐานได้อย่าง " ราบรื่น " โดยไม่สนใจส่วนใหม่ที่มันไม่เข้าใจ
กลุ่มสถาปัตยกรรมทางเทคนิค (TAG) ของW3C กำหนดแนวคิดนี้อย่างเป็นทางการมากขึ้นว่า "การเปลี่ยนแปลงในคำจำกัดความของภาษาจะเข้ากันได้ในอนาคตหากผู้ใช้ภาษาดั้งเดิมสามารถประมวลผลข้อความที่ เขียนขึ้นสำหรับเวอร์ชันที่พัฒนาแล้วของภาษาได้อย่างถูกต้อง" [ 1 ]
วัตถุประสงค์ของเทคโนโลยีที่เข้ากันได้กับอุปกรณ์รุ่นใหม่คือเพื่อให้อุปกรณ์เก่ารับรู้ได้ว่ามีการสร้างข้อมูลสำหรับอุปกรณ์ใหม่แล้ว[ 2 ]
โดยทั่วไปแล้ว ความเข้ากันได้แบบไปข้างหน้าสำหรับระบบเก่า หมายถึงความเข้ากันได้แบบ ย้อนกลับ สำหรับระบบใหม่ กล่าวคือ ความสามารถในการประมวลผลข้อมูลจากระบบเก่า ในขณะที่ระบบใหม่มักจะ เข้ากันได้ อย่างสมบูรณ์กับระบบเก่า โดยสามารถประมวลผลและสร้างข้อมูลในรูปแบบของระบบเก่าได้
ความเข้ากันได้ในอนาคตไม่เหมือนกับความสามารถในการขยายการออกแบบที่เข้ากันได้กับอนาคตสามารถประมวลผลข้อมูลอย่างน้อยบางส่วนจากเวอร์ชันในอนาคตของตัวมันเองได้ ในขณะที่การออกแบบที่ขยายได้ทำให้การอัปเกรดทำได้ง่าย ตัวอย่างของแนวคิดการออกแบบทั้งสองนี้สามารถพบได้ในเว็บเบราว์เซอร์ เบราว์เซอร์ปัจจุบันจะเข้ากันได้กับอนาคตหากมันยอมรับHTML เวอร์ชันใหม่กว่าได้อย่างราบรื่น ในขณะที่ความง่ายในการอัปเกรดโค้ดของเบราว์เซอร์เพื่อประมวลผล HTML เวอร์ชันใหม่กว่านั้นจะเป็นตัวกำหนดว่ามันสามารถขยายได้มากแค่ไหน
หลักการออกแบบ
กลุ่มสถาปัตยกรรมทางเทคนิคของ W3C ได้จัดทำเอกสารชุดกฎการแทนที่ซึ่งช่วยให้การออกแบบภาษาสามารถใช้งานร่วมกับเวอร์ชันในอนาคตได้ แต่ละกฎระบุว่าผู้ใช้งานควรปฏิบัติตัวอย่างไรเมื่อพบโครงสร้างที่ไม่รู้จัก:
- ต้องเพิกเฉยต่อสิ่งที่ไม่รู้จัก — ผู้บริโภคที่พบโครงสร้างที่ไม่เป็นที่รู้จักจะต้องดำเนินการต่อไป โดยปฏิบัติต่อโครงสร้างนั้นราวกับว่ามันไม่มีอยู่จริง[ 3 ]
- ต้องยอมรับและทิ้งสิ่งที่ไม่รู้จัก — ผู้บริโภคต้องยอมรับโครงสร้างที่ไม่รู้จัก ณ จุดขยายที่กำหนดไว้ แล้วจึงทิ้งโครงสร้างเหล่านั้น[ 3 ]
- ต้องยอมรับและรักษาสิ่งที่ไม่รู้จักไว้ — ผู้บริโภคต้องยอมรับโครงสร้างที่ไม่รู้จัก และเมื่อส่งต่อหรือแปลงเนื้อหา ต้องรักษาโครงสร้างเหล่านั้นไว้สำหรับผู้บริโภคปลายทาง[ 3 ]
กฎเหล่านี้เป็นพื้นฐานของความเข้ากันได้ในอนาคตในภาษาและโปรโตคอลที่ใช้งานกันอย่างแพร่หลาย ตัวอย่างเช่น HTTP/1.1ระบุว่าฟิลด์ส่วนหัวที่ไม่รู้จักควรถูกละเลยโดยผู้รับและต้องส่งต่อโดยพร็อกซีแบบโปร่งใส ซึ่งเป็นการประยุกต์ใช้กฎ "รักษาสิ่งที่ไม่รู้จัก" โดยตรง[ 4 ]
ตัวอย่าง
มาตรฐานโทรคมนาคม
การนำ ระบบส่งสัญญาณ สเตอริโอ FMหรือโทรทัศน์สีมาใช้ ทำให้เกิดความเข้ากันได้ในอนาคต เนื่องจากเครื่องรับวิทยุ FM แบบโมโนโฟนิกและโทรทัศน์ขาวดำยังคงสามารถรับสัญญาณจากเครื่องส่งสัญญาณใหม่ได้[ 2 ]นอกจากนี้ยังทำให้เกิดความเข้ากันได้ในอดีต เนื่องจากเครื่องรับใหม่สามารถรับสัญญาณโมโนโฟนิกหรือขาวดำที่สร้างโดยเครื่องส่งสัญญาณเก่าได้
วิดีโอเกม
- Game Boyสามารถเล่นเกมบางเกมที่วางจำหน่ายสำหรับGame Boy Colorได้ เกมเหล่านี้ใช้การออกแบบตลับเกมแบบเดียวกับเกมสำหรับ Game Boy รุ่นดั้งเดิม แม้ว่าพลาสติกที่ใช้มักจะเป็นสีดำแทนที่จะเป็นสีเทา และมีโลโก้ของ GBC อยู่บนฉลากและบรรจุภัณฑ์Nintendoเรียกชื่อเกมเหล่านี้อย่างเป็นทางการว่า "Dual Mode" [ 5 ]
- แท็ บเล็ต Leapsterสามารถเล่นเกมของ Leapster L-Max ได้ และแท็บเล็ต Leapster L-Max ก็สามารถเล่นเกมของ Leapster2 ได้เช่นกัน
- PlayStationรุ่นแรกสามารถใช้งานร่วมกับคอนโทรลเลอร์DualShock 2 ได้ [ 6 ]เช่นเดียวกับPlayStation 3ที่สามารถเล่นได้ด้วยคอนโทรลเลอร์DualShock 4และDualSense [ 7 ] [ 8 ] [ 9 ]
- เครื่องNeo Geo Pocketสามารถเล่นเกมส่วนใหญ่จากNeo Geo Pocket Colorได้
- เครื่องเล่น เกม WonderSwanสามารถเล่นเกม WonderSwan Color บางเกมได้
- Xbox Oneสามารถใช้คอนโทรลเลอร์จากXbox Series XและXbox Series Sได้ และในทำนองเดียวกัน คอนโทรลเลอร์ Xbox One ก็จะใช้งานได้บน Xbox Series X และ Series S [ 10 ]
- V.Smile Smartridge สามารถใช้งานร่วมกับ เครื่องเล่นเกมคอนโซลและเครื่องเล่นเกมพกพา ของ VTech ทุกรุ่น ได้อย่างไรก็ตาม ไม่รองรับระบบV.Smile Baby , PC PalและV.Flash [ 11 ]ขึ้นอยู่กับอุปกรณ์ที่เสียบเข้าไป ฟังก์ชันบางอย่างอาจถูกจำกัด ซึ่งสะท้อนถึงความสามารถที่แตกต่างกันของแต่ละคอนโซล[ 12 ]
- Nintendo Switchสามารถเล่นเกม " Nintendo Switch 2 Edition " ทั้งแบบดิจิทัลและแบบแผ่นได้ บน Nintendo Switch 2 เกมเวอร์ชันเหล่านี้จะมีทั้งเกมหลักและแพ็กอัปเกรด ซึ่งมีประสิทธิภาพ กราฟิก เนื้อหาเพิ่มเติม (ซึ่งมักจะเฉพาะเจาะจงสำหรับเกมของบริษัทแรกบางเกม) และอื่นๆ ที่ดีกว่า อย่างไรก็ตาม แพ็กอัปเกรดจะไม่สามารถเล่นบน Nintendo Switch รุ่นดั้งเดิมได้ จะเล่นได้เฉพาะเกมหลักเท่านั้น[ 13 ]
เอชแอล
HTMLถูกออกแบบมาให้จัดการแท็กทั้งหมดในลักษณะเดียวกัน (เป็นองค์ประกอบแบบอินไลน์ ที่ไม่มีสไตล์ ) เว้นแต่ลักษณะหรือพฤติกรรมของแท็กเหล่านั้นจะถูกเปลี่ยนแปลง ไม่ว่าจะโดยการตั้งค่าเริ่มต้นของเบราว์เซอร์ หรือโดยสคริปต์หรือสไตล์ที่รวมอยู่ในหน้าเว็บ[ 14 ]ซึ่งทำให้ฟีเจอร์ใหม่ส่วนใหญ่ทำงานได้อย่างราบรื่นในเบราว์เซอร์รุ่นเก่า กรณีหนึ่งที่ไม่ได้ผลตามที่ตั้งใจไว้คือบล็อกสคริปต์และสไตล์ ซึ่งเนื้อหาจะถูกตีความโดยเบราว์เซอร์แทนที่จะเป็นส่วนหนึ่งของหน้าเว็บ กรณีดังกล่าวได้รับการจัดการโดยการล้อมเนื้อหาไว้ภายในบล็อกความคิดเห็น[ 15 ]โดยทั่วไปแล้ว ความเข้ากันได้ในอนาคตของ HTML เป็นไปตามการออกแบบ "ต้องไม่สนใจ": ข้อกำหนด HTML ในยุคแรกกำหนดให้แท็กเริ่มต้นและแท็กสิ้นสุดที่ไม่รู้จักต้องถูกแมปเป็นค่าว่างในระหว่างการสร้างโทเค็น ซึ่งเป็นสิ่งที่ทำให้สามารถ<img>นำองค์ประกอบในภายหลังมาใช้ได้โดยไม่ทำให้เบราว์เซอร์ที่มีอยู่เสียหาย[ 3 ]
เนื่องจากไม่มีการบังคับอัปเกรดคอมพิวเตอร์หรือเว็บเบราว์เซอร์ นักพัฒนาเว็บจำนวนมากจึงใช้ วิธี การลดระดับอย่างนุ่มนวลหรือการปรับปรุงแบบค่อยเป็นค่อยไป โดยพยายามทำให้เว็บไซต์ที่สร้างขึ้นใหม่ซึ่งเข้ากันได้กับคอมพิวเตอร์และเว็บเบราว์เซอร์รุ่นเก่าสามารถใช้งานได้เมื่อปิดใช้งาน JavaScript หรือบนการเชื่อมต่อที่ช้าลง ในขณะเดียวกันก็ยังคงใช้ประโยชน์จากฮาร์ดแวร์ที่เร็วขึ้นและการสนับสนุน JavaScript ที่ดีกว่าในเว็บเบราว์เซอร์ที่ทันสมัยกว่า เมื่อมีให้ใช้งาน[ 16 ]
สื่อออปติคอล
รูปแบบ สื่อออปติคอลขนาด 12 ซม. ที่ใช้กันทั่วไป 3 รูปแบบ( CD , DVDและBlu-ray ) ได้รับการเผยแพร่ในรูปแบบอ่านอย่างเดียวหลายปีก่อนที่จะมีรูปแบบที่เขียนได้ ในแต่ละรูปแบบจะมีความเข้ากันได้ทั้งแบบไปข้างหน้าและแบบย้อนหลัง กล่าวคือ ไดรฟ์และเครื่องเล่นแบบอ่านอย่างเดียวรุ่นเก่าส่วนใหญ่สามารถอ่าน (แต่เขียนไม่ได้) สื่อที่เขียนได้ในรูปแบบเดียวกัน ในขณะที่ไดรฟ์แบบอ่าน/เขียนสามารถอ่าน (แต่เขียนไม่ได้) สื่อแบบอ่านอย่างเดียวรุ่นเก่าได้ ไม่มีความเข้ากันได้แบบไปข้างหน้าระหว่างรูปแบบต่างๆ ตัวอย่างเช่น เครื่องเล่น CD ไม่สามารถอ่าน DVD (รูปแบบที่ใหม่กว่า) ได้ แม้แต่แทร็กเสียงก็อ่านไม่ได้ อาจมีความเข้ากันได้แบบย้อนหลังเพื่อประโยชน์ทางการตลาดที่ดีกว่า (เช่น เครื่องเล่น DVD เล่นแผ่น CD เสียง) แต่ไม่ใช่ส่วนสำคัญของมาตรฐาน[ 17 ]
ความสัมพันธ์กับหลักการความแข็งแกร่ง
การออกแบบที่เข้ากันได้กับอนาคตมีความเกี่ยวข้องอย่างใกล้ชิดกับหลักการความทนทาน ที่ Jon Postelได้กล่าวไว้ในRFC 761 (มกราคม 1980): "จงระมัดระวังในสิ่งที่คุณทำ และจงเปิดกว้างในสิ่งที่คุณยอมรับจากผู้อื่น" [ 18 ]หลักการครึ่งหนึ่งที่ว่า "เปิดกว้างในสิ่งที่คุณยอมรับ" อธิบายถึงท่าทีที่ระบบที่เข้ากันได้กับอนาคตมีต่อข้อมูลป้อนเข้าที่ไม่รู้จัก กฎที่ว่า "ต้องเพิกเฉยต่อสิ่งที่ไม่รู้จัก" สามารถอ่านได้ว่าเป็นการนำหลักการนี้ไปใช้ในรูปแบบเฉพาะ
อย่างไรก็ตาม การกำหนดความเข้ากันได้ในอนาคตอย่างเป็นทางการนั้นพิสูจน์แล้วว่าทำได้ยาก สมาชิกของกลุ่มสถาปัตยกรรมทางเทคนิคของ W3C ถือว่าการกำหนดความเข้ากันได้ในอนาคตและย้อนหลังเป็นปัญหาที่ยังเปิดอยู่ในปี 2550 ส่วนหนึ่งเป็นเพราะแนวคิดนี้อธิบายถึงความสัมพันธ์กับเวอร์ชันในอนาคตของภาษาที่ยังไม่มีอยู่[ 19 ]
ไม่สามารถเลื่อนตำแหน่งขึ้นไปได้
ผลิตภัณฑ์บางอย่างไม่ได้ออกแบบมาให้ใช้งานร่วมกับเวอร์ชันเก่าได้ ซึ่งเรียกกันว่า NUC (not upwardly compatible) ในบางกรณี อาจเป็นความตั้งใจของผู้ออกแบบเพื่อป้องกันการผูกขาดจากผู้ผลิตหรือ เพื่อ ทดสอบ ประสิทธิภาพของซอฟต์แวร์
ตัวอย่างเช่น ผู้ผลิตตู้ทำงานแบบกั้นห้องกำลังพิจารณาที่จะเปลี่ยนแปลงการออกแบบตู้ทำงานแบบกั้นห้อง นักออกแบบคนหนึ่งเสนอให้เปลี่ยนขนาดจาก 4 ฟุต (1.22 เมตร) สี่เหลี่ยมจัตุรัส เป็น 1.2 เมตร สี่เหลี่ยมจัตุรัส ทันทีที่ผู้จัดการฝ่ายขายโทรหา "NUC" ปัญหาก็ได้รับการแก้ไข: หากขนาดเปลี่ยนไป และลูกค้าปัจจุบันกำลังพิจารณาที่จะซื้อเพิ่มจากผู้ผลิตรายนี้ พวกเขาจะต้องหาตู้ทำงานที่มีขนาดแตกต่างกันมาติดตั้งในสำนักงานที่ออกแบบมาสำหรับตู้ทำงานแบบกั้นห้องขนาด 4 ฟุต สี่เหลี่ยมจัตุรัส
การวางแผนให้สินค้าล้าสมัยเป็นรูปแบบหนึ่งของการใช้งานร่วมกันได้กับอุปกรณ์รุ่นใหม่ แต่แทนที่จะใช้นโยบายการใช้งานร่วมกันได้กับอุปกรณ์รุ่นเก่า บริษัทต่างๆ กลับใช้นโยบายทางการค้าที่ทำให้สินค้าใช้งานร่วมกันไม่ได้กับอุปกรณ์รุ่นเก่า เพื่อให้แอปพลิเคชันรุ่นใหม่ต้องใช้อุปกรณ์รุ่นใหม่กว่า
ดูเพิ่มเติม
- ความเข้ากันได้กับเวอร์ชันเก่า
- ความเข้ากันได้ของบั๊กความเข้ากันได้กับเวอร์ชันก่อนหน้าซึ่งคงไว้ซึ่งข้อบกพร่องที่ทราบแล้ว
- ความเข้ากันได้ของคอมพิวเตอร์
- ดาวน์ไซเคิล
- การเตรียมพร้อมสำหรับอนาคต
- หลักการความแข็งแกร่ง
- การนำกลับมาใช้ใหม่
ลิงก์ภายนอก
- หลักการของการขยายขีดความสามารถ: ออกแบบเพื่ออนาคต เพราะมันจะมาถึงเร็วกว่าที่คุณคิดในหนังสือ "ศิลปะแห่งการเขียนโปรแกรม Unix"
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ความเข้ากันได้ในอนาคต
ความเข้ากันได้แบบไปข้างหน้า หรือ ความเข้ากันได้แบบย้อนหลัง คือลักษณะการออกแบบที่ช่วยให้ ระบบ สามารถรับ อินพุต ที่ออกแบบมาสำหรับ เวอร์ชัน ที่ใหม่กว่าของระบบ นั้น ได้...
หลักการออกแบบ
กลุ่มสถาปัตยกรรมทางเทคนิค ของ W3C ได้จัดทำเอกสารชุดกฎการแทนที่ซึ่งช่วยให้การออกแบบภาษาสามารถใช้งานร่วมกับเวอร์ชันในอนาคตได้ แต่ละกฎระบุว่าผู้ใช้งานควรปฏิบัติตัวอย่างไรเมื่อพบโครงสร้างที่ไม่รู้จัก:
มาตรฐานโทรคมนาคม
การนำ ระบบส่งสัญญาณ สเตอริโอ FM หรือโทรทัศน์สีมาใช้ ทำให้เกิดความเข้ากันได้ในอนาคต เนื่องจากเครื่องรับวิทยุ FM แบบโมโนโฟนิกและโทรทัศน์ขาวดำยังคงสามารถรับสัญญาณจากเครื่องส่งสัญญาณใหม่ได้ [ 2 ] นอกจากนี้ยังทำให้เกิดความเข้ากันได้ในอดีต...
วิดีโอเกม
Game Boy สามารถเล่นเกมบางเกมที่วางจำหน่ายสำหรับ Game Boy Color ได้ เกมเหล่านี้ใช้การออกแบบตลับเกมแบบเดียวกับเกมสำหรับ Game Boy รุ่นดั้งเดิม แม้ว่าพลาสติกที่ใช้มักจะเป็นสีดำแทนที่จะเป็นสีเทา และมีโลโก้ของ GBC อยู่บนฉลากและบรรจุภัณฑ์ Nintendo...