互換性というコトバ

はじめに

皆様は「互換性」あるいは「互換」という言葉を目にしたり使ったりしたことはありますでしょうか? 特にIT系ではよく登場するこの言葉ですが、現在非常に混乱した使われ方をしています。その混乱は意味を逆に使ってしまうという形で現れており、どちらが優勢というわけではなく、ただ混乱している状況だといえます。そこで、今回は本来の意味において、互換性という言葉について書いてみたいと思います。

互換性の種類

互換性という言葉は、主に4種類あります。それは前方互換(性)、後方互換(性)、上位互換(性)、下位互換(性)です。以下、互換と互換性の両方の意味を込めて、互換性と書きます。

例文として「プレイステーション2がプレイステーション1のソフトを動かすことができる」ということについて各表現を使ってみました(現実には多少の例外はありますが、互換性の例示ということでご納得ください)。

上位互換性 – upper compatibility

あるA(プレイステーション1)という製品に対してB(プレイステーション2)という製品が、Aの全ての機能を包括した上で更なる機能(=上位)を持っていることを指します。この結果、Aという集合に対してBという集合は、Aを全て包括しつつ、更なる集合(=上位)であることを意味します。言い換えると、A<Bという関係が、BはAに対する上位互換性がある、ということになります。

例文:プレイステーション2は、プレイステーション1に対する上位互換性を持つ。

下位互換性 – lower compatibility

あるA(プレイステーション2)という製品に対してB(プレイステーション1)という製品が、Aの一部の機能を持っているものの全てを持っているわけではない(=下位)ことを指します。逆に、Aという製品からみるとBという製品の全てを持っており、AはBを包括していることを意味します。言い換えると、A>Bという関係が、BはAに対する下位互換性がある、ということになります。

例文:プレイステーション1は、プレイステーション2に対して下位互換性を持つ。

前方互換性 – forward compatibility / upward compatibility

あるA(プレイステーション2)という製品に対してB(プレイステーション1)という製品が、Aの一部の機能を互換性のある形で持つものの全てを持っているわけではないことを指します。逆に、Aという製品から見るとBという製品の全てを持っており、AはBを包括(=前方)していることを意味します。言い換えると、A>Bという関係が、BはAに対する前方互換性がある、ということになります。

例文:プレイステーション1は、プレイステーション2に対する前方互換性を持つ。

※ただし、通常この言葉は使いません。代わりに下位互換性とすることが多いです。

後方互換性 – backward compatibility

あるA(プレイステーション1)という製品に対してB(プレイステーション2)という製品が、Aという製品に対する互換性を維持するために全てを持っている(=後方)ことを指します。この結果、Aという集合に対してBという集合は、Aを全て包括した上で更なる集合であることを意味します。言い換えると、A<Bという関係が、BはAに対する後方互換性がある、ということになります。

例文:プレイステーション2は、プレイステーション1に対する後方互換性を持つ。

まとめ

つまり、まとめると意味合いは異なりますが、結果として言わんとすることは、「上位互換性」と「後方互換性」、「下位互換性」と「前方互換性」は、近い意味を持つということです。多くのケースにおいて、これらを入れ替えても問題は起こりにくいでしょう。しかし、実際には、上位と前方、下位と後方の各互換性の意味がごちゃまぜに使用されています。どちらが定着しているというよりも、きちんと使い分けなければ意味が通じない言葉であるため、この言葉が混乱なく使われるといいなぁ、と私は思っています。現状では全部読んだ上で、その言葉がどちらの意味であるのか考える必要が生じてしまっています。残念ながら、大手のWebマガジンや企業のプレスリリースにおいてもこの混乱は生じてしまっているのです。

なんでこんなことを書く気になったかというと、MIDP 2.0 API リファレンスの中でもこれらの言葉が出てくるためです。正しく伝えるためには、受け手も正しい言葉を知っておいていただかないとならないのです。代替が利かない言葉だけに、一言提言しておきたいと考えたのです。

とりあえず、この言葉の意味、伝わると幸いです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です