互換性
そもそも上位の互換性、という表現自体、互換性に上下は無いのだから微妙である。単に「互換である」でいいし、新しいものが普通は優れているのだからわざわざ上位と言う事はやはりトートロジーである。本来は、英語の出典にならって上方互換/下方互換 と呼称すべきだった。
これらの語はしばしば混同される。前方・後方は時系列についてであり(前方が未来を、後方が過去を意味し、一般的な前後と逆になる)、上位・下位は機能および性能の比較である。何を比較するか、そしてどちらを比較基準にするかを取り違えることのないよう明確にするべきである。
単に従来よりも性能がいいことを「上位互換」と称するのは正しくない(アナログやローテクの誤用と同じく)。
またソフトウェアにおいては、異なる規格間で仕様に互換がある場合、上位集合的互換性を持つものを「スーパーセット」と呼び、部分集合的互換を持つものを「サブセット」とも呼ぶことがある。例えば、データ形式の1つであるYAMLはJSONのスーパーセットであり、JSONはYAMLのサブセットであったり、画像形式の1つであるMNGはPNGのスーパセットであるなど。なお、制約の集合と、「その制約を満たす何か」の集合では、サブセットとスーパーセットの対応が逆になるため、この集合ベースの考え方もまた混乱の原因になりやすい。敢えて単純化した例を示すと「0以上の整数」と「0以上の整数で、かつ、3の倍数」を比較すると、前者のほうが制限の数は少なく(サブセットであり)、一方でそれが意味している整数自体は、後者のほうがサブセットになっている。