向下兼容
向下兼容(downward compatibility),又稱向後兼容(backward compatibility)、回溯相容,在計算機中指在一個程序、庫或硬體更新到較新版本後,用舊版本程序創建的文檔或系統仍能被正常操作或使用(包括輸入數據)、在舊版本庫的基礎上開發的程序仍能正常編譯運行,或較舊版的硬體仍可在新版使用的情況。
軟體
在文件系統中,ext4文件系統的設計就是向後兼容的,ext3的文件系統可以被當作ext4文件系統掛載。
通常更新一個軟件時,應該為向下兼容性做出一定的考慮,這往往能給用戶帶來方便並更好地留住用戶。Microsoft特別強調維持軟件的向下兼容性。為了實現此一目標,有時微軟甚至不惜支持使用了非官方乃至誤用的 API 的軟件。例如Microsoft Excel直到現在仍把1900年當作閏年,便是基於早期發售的Lotus 1-2-3也有相同的問題,如果修復此一問題,反而會引起更多的麻煩[1]。這是所謂的「漏洞兼容」。
但情況並不總是這樣,有時為了考慮向下兼容會帶來一些累贅,甚至增加開發的成本,尤其是進行過較多升級後。Python 3.0便是放棄向下兼容的一個例子[2][3]。
如果一個軟件的舊的版本保存的文檔不能被新版本讀取,即使廠商提供了額外工具對舊文檔進行不可逆轉的轉換,這也不能稱作向下兼容。這可能是軟件廠商的一種市場戰略,強迫用戶購買升級軟件,隨着升級用戶逐漸增加,逐漸地使得舊軟件能讀取的文檔越來越少。
參見
參考資料
- ^ 微軟 Office 官方技術支持. Excel 错误地假定1900年为闰年. 2019-10-12 [2019-11-09]. (原始內容存檔於2020-10-23).
- ^ Guido van Rossum. What's New in Python 3.0--Python v3.0b3 documentation. Python Software Foundation. [2008-08-30]. (原始內容存檔於2008-10-04) (英語).
- ^ 為了照顧現有程序,Python 提供了一個 Python 2.6 -> Python 3.0 的代碼轉換工具. 存档副本. [2008-08-30]. (原始內容存檔於2012-07-29).