互換性の種類
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/08 14:42 UTC 版)
互換性はその性質により、以下のような種類がある。 相互互換性(英語: Interchangeability) 機能・性能などが類似しており、相互に置き換えが可能なこと。交換可能性とも呼ばれる。 前方互換性(英語: Forward compatibility) 新しいシステム向けのデータなどが古いシステムでも使用できること。 後方互換性(英語: Backward compatibility) 古いシステム向けのデータなどが新しいシステムでも全て使用できること。 上位互換性(英語: Upper compatibility, Superset) 機能・性能・グレードが上位の製品が、下位の製品の機能も有すること。 下位互換性(英語: Lower compatibility, Subset) 機能・性能・グレードが下位の製品が、上位の製品の機能を有すること。 後発の製品はそれ以前に発売されているものよりも機能や性能が優れていることが多く、後発製品は後方互換性と上位互換性を有することがよくある。後から発売された製品が以前に発売された製品の廉価版であるときなどにこれは成り立たない。逆に先発の製品が、前方互換性・下位互換性を持つこともある。 上位互換という表現は英語から輸入されたものであるが、英語圏においてはupper compatible/Lower compatibleという言い方は一般に使われず、Forward compatiblity などが通常である。 2000 年代中頃までは、下位互換=後方互換性の意味で任天堂やソニー、MSなどによって使用されており、今とは意味が逆であった(下位互換がより新しい製品)。 英語ではFoward compatibility/upward compatible, Backward compatibility/downward compatible と対になっているが、日本語ではdownward compatibeを下方互換とせず、下位互換としてしまったために、意味の混乱が起きている。 下位互換=下位に対しての互換性、という本来の意味が、時を経て下位が有する互換性という使われ方に変わっていった。転じて上位互換も上位が持つ互換性という意味になった。 しかし上位のものに対して、上位の互換性を持つ、と表現する事自体が同語反復的(トートロジー)で、逆の意味に取られることもしばしば起こる。そもそも上位の互換性、という表現自体、互換性に上下は無いのだから微妙である。単に「互換である」でいいし、新しいものが普通は優れているのだからわざわざ上位と言う事はやはりトートロジーである。本来は、英語の出典にならって上方互換/下方互換 と呼称すべきだった。 これらの語はしばしば混同される。前方・後方は時系列についてであり(前方が未来を、後方が過去を意味し、一般的な前後と逆になる)、上位・下位は機能および性能の比較である。何を比較するか、そしてどちらを比較基準にするかを取り違えることのないよう明確にするべきである。 単に従来よりも性能がいいことを「上位互換」と称するのは正しくない。(アナログやローテクの誤用と同じく) またソフトウェアにおいては、異なる規格間で仕様に互換がある場合、上位集合的互換性を持つものを「スーパーセット」と呼び、部分集合的互換を持つものを「サブセット」とも呼ぶことがある。例えば、データ形式の1つであるYAMLはJSONのスーパーセットであり、JSONはYAMLのサブセットであったり、画像形式の1つであるMNGはPNGのスーパセットであるなど。なお、制約の集合と、「その制約を満たす何か」の集合では、サブセットとスーパーセットの対応が逆になるため、この集合ベースの考え方もまた混乱の原因になりやすい。敢えて単純化した例を示すと「0以上の整数」と「0以上の整数で、かつ、3の倍数」を比較すると、前者のほうが制限の数は少なく(サブセットであり)、一方でそれが意味している整数自体は、後者のほうがサブセットになっている。
※この「互換性の種類」の解説は、「互換性」の解説の一部です。
「互換性の種類」を含む「互換性」の記事については、「互換性」の概要を参照ください。
- 互換性の種類のページへのリンク