向下相容
外觀
向下相容(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).