向下相容(downward compatibility),又稱向後相容(backward compatibility)、回溯相容,在計算機中指在一個程式和/或庫更新到較新版本後,用舊版本程式建立的文件或系統仍能被正常操作或使用(包括寫入),或在舊版本庫的基礎上開發的程式仍能正常編譯執行的情況。
在檔案系統中,ext4檔案系統的設計就是向後相容的,ext3的檔案系統可以被當作ext4檔案系統掛載。
通常更新一個軟體時,應該為向下相容性做出一定的考慮,這往往能給使用者帶來方便並更好地留住使用者。Microsoft特別強調維持軟體的向下相容性。為了實現此一目標,有時微軟甚至不惜支援使用了非官方乃至誤用的 API 的軟體。
但情況並不總是這樣,有時為了考慮向下相容會帶來一些累贅,尤其是進行過較多升級後。Python3.0 便是放棄向下相容的一個例子。
如果一個軟體的舊的版本儲存的文件不能被新版本讀取,即使廠商提供了額外工具對舊文件進行不可逆轉的轉換,這也不能稱作向下相容。這可能是軟體廠商的一種市場戰略,強迫使用者購買升級軟體,隨著升級使用者逐漸增加,逐漸地使得舊軟體能讀取的文件越來越少。
對於軟體來說,向下相容的意思是,較高版本的程式能順利處理較低版本程式的資料。拿著名的動畫製作軟體 Flash 的兩個版本 Flash 5 與 Flash MX 2004 來說,這兩個版本雖然儲存出來的檔案都是 .fla,可是檔案內容的結構有所不同。儘管如此,Flash MX 2004 仍然能處理 Flash 5 儲存的 fla 檔案,我們就說 Flash MX 2004 是向下相容的。 另外一個常見的例子也可以幫助我們理解向下相容的概念,Microsoft的Office 2007可以開啟Office 2003的檔案,反之卻不可以,因此說Office這個軟體是向下相容的。 事實上,多數的計算機軟體都是向下相容的。但是必須說明的一點是,由於考慮實際應用,不一定所有版本高的軟體都能接受版本低的軟體輸出的東西,例如假設有一種軟體X,並假設已經有10.0 版本了,那麼版本舊得已經沒有什麼人用的X Version 1.0 所輸出的檔案,就不太可能在10.0 版本中順利讀取。
向下相容(downward compatibility),又稱向後相容(backward compatibility)、回溯相容,在計算機中指在一個程式和/或庫更新到較新版本後,用舊版本程式建立的文件或系統仍能被正常操作或使用(包括寫入),或在舊版本庫的基礎上開發的程式仍能正常編譯執行的情況。
在檔案系統中,ext4檔案系統的設計就是向後相容的,ext3的檔案系統可以被當作ext4檔案系統掛載。
通常更新一個軟體時,應該為向下相容性做出一定的考慮,這往往能給使用者帶來方便並更好地留住使用者。Microsoft特別強調維持軟體的向下相容性。為了實現此一目標,有時微軟甚至不惜支援使用了非官方乃至誤用的 API 的軟體。
但情況並不總是這樣,有時為了考慮向下相容會帶來一些累贅,尤其是進行過較多升級後。Python3.0 便是放棄向下相容的一個例子。
如果一個軟體的舊的版本儲存的文件不能被新版本讀取,即使廠商提供了額外工具對舊文件進行不可逆轉的轉換,這也不能稱作向下相容。這可能是軟體廠商的一種市場戰略,強迫使用者購買升級軟體,隨著升級使用者逐漸增加,逐漸地使得舊軟體能讀取的文件越來越少。
對於軟體來說,向下相容的意思是,較高版本的程式能順利處理較低版本程式的資料。拿著名的動畫製作軟體 Flash 的兩個版本 Flash 5 與 Flash MX 2004 來說,這兩個版本雖然儲存出來的檔案都是 .fla,可是檔案內容的結構有所不同。儘管如此,Flash MX 2004 仍然能處理 Flash 5 儲存的 fla 檔案,我們就說 Flash MX 2004 是向下相容的。 另外一個常見的例子也可以幫助我們理解向下相容的概念,Microsoft的Office 2007可以開啟Office 2003的檔案,反之卻不可以,因此說Office這個軟體是向下相容的。 事實上,多數的計算機軟體都是向下相容的。但是必須說明的一點是,由於考慮實際應用,不一定所有版本高的軟體都能接受版本低的軟體輸出的東西,例如假設有一種軟體X,並假設已經有10.0 版本了,那麼版本舊得已經沒有什麼人用的X Version 1.0 所輸出的檔案,就不太可能在10.0 版本中順利讀取。