在PC上很容易把向後兼容視為理所當然,以至於我們甚至很少使用"向後兼容"這個短語。大多數老遊戲都能簡單地運行,而對於其他的東西,通常有一個內置於Windows或DOSBox的兼容模式來讓它運行。這並不是偶然發生的,正如一位前微軟程序員的舊博文所解釋的那樣。
例如,當微軟希望用戶切換到Windows 95時,他們甚至未操作系統添加特定的代碼來尋找《模擬城市》,如果它正在運行,就改變內存分配的方式,這樣遊戲就不會崩潰。這篇博文是Joel Spolsky在2000年5月寫的,但最近被播客和遊戲制作人Kal Yoshika在Twitter上重新發現。Spolsky寫的是"雞和蛋的問題",即讓用戶采用沒有大量軟件的平臺,以及讓軟件制造商為沒有大量用戶的平臺生產軟件。他說,微軟的解決方案是確保舊的軟件能夠運行--包括《模擬城市》。
"Windows 95?沒問題。漂亮的新32位API,但它仍然可以完美地運行舊的16位軟件。微軟對此非常著迷,花一大筆錢來測試他們能找到的每一個使用Windows 95的舊程序,"Spolsky寫道。"喬恩·羅斯(Jon Ross)為Windows 3.x編寫《模擬城市》的原始版本,他告訴我,他不小心在《模擬城市》中留下一個錯誤,即他讀取剛剛釋放的內存。是的。它在Windows 3.x上工作得很好,因為內存從來沒出現過泄露。?
"驚人的是,在Windows 95的測試版本中,《模擬城市》在測試中並不正常工作。微軟追蹤到這個錯誤,並在Windows 95中加入特定的代碼以在計算機中尋找《模擬城市》。如果它發現《模擬城市》正在運行,它就會以一種特殊的模式運行內存分配器,不會立即釋放內存。這就是那種對向後兼容性的執著,使人們願意升級到Windows 95"。
諸如此類的例子並不鮮見,例如,初代版本《最終幻想7》如果運行在Windows NT而不是Windows 95上就會崩潰,所以Windows會對遊戲謊報其實際運行的操作系統。