互換性 【compatibility】 コンパチビリティ / コンパチ / コンパチブル
概要
互換性(compatibility)とは、ある要素を、同種の他の要素で置き換え可能なこと。また、その程度。ITの分野では、ある機器や部品、ソフトウェア、システムなどについて、それと置き換えてもこれまで通り使用できるような製品のことを、元の製品と互換性があるという。また、特定の製品向けに作られた機器やソフトウェアなどを、改変することなくそのまま利用できることを指す場合もある。後方互換と前方互換
同じ系列の新しい製品が、古い製品の仕様や機能を包含しており、互換性がある状態のことを「後方互換」(backward compatible)、逆に、古い製品が新しい製品に対して互換性を有する状態を「前方互換」(forward compatible)という。一般に、既存の製品の仕様はすでに明らかだが、将来の製品の仕様を正確に予見することは難しいため、前方互換性は限定的なものになることが多い。
上位互換と下位互換
また、同じ系列の上位の(機能や性能などが優れている)製品が、下位の製品の仕様や機能を包含しており、互換性がある状態のことを「上位互換」(upward compatible)、逆に、下位の製品が上位の製品に対して互換性を有する状態を「下位互換」(downward compatible)という。通常、下位の製品は上位の製品に比べ機能や仕様が制限・限定されているため、下位互換性は部分的・限定的なものである場合が多い。
ソース互換 (ソースレベル互換)
ある機種やOSで動作するコンピュータプログラムのソースコードを、追記・修正せずそのまま別のコンピュータ向け使用できることをソースレベル互換(source-code compatibility)あるいはソース互換(source compatibility)という。
ソースコードは人間にわかりやすいプログラミング言語で書かれたプログラムで、そのままではコンピュータ(のCPU)が解釈・実行することができないため、コンパイルやリンクなどの工程を経て実行可能形式のバイナリコードに変換される。
ソースレベル互換とは、ある複数のプラットフォーム間で、同一のソースコードを用いてコンパイルなどを行い、同じように動作する実行プログラムを作ることができる互換性を指す。
バイナリ互換 (バイナリレベル互換)
ある機種やOSで動作する実行可能形式のコンピュータプログラムを、そのまま異なる種類のコンピュータシステム上で動作させることができることをバイナリレベル互換(binary-code compatibility)あるいはバイナリ互換(binary compatibility)という。
バイナリコードはコンピュータ(のCPU)が直接解釈・実行できる機械語(マシン語)や、仮想マシン(VM)で実行できるバイトコードなどを用いて構成されたプログラムで、コンピュータで直に起動・実行することができる。
バイナリレベル互換とは、ある複数のプラットフォーム間で、同じ実行形式のプログラムファイルなどを同じように起動して動作させることができる互換性を指す。