UNIXはソース互換を達成したすばらしいOSです。 ソースプログラムがあれば、どんなCPUのどんな環境のマシンでも実機でコンパイルすることにより、 プログラムを実行させる事ができます。ただ、逆に言うと必ずコンパイルする必要があるので、エラーなどが出て うまくいかない場合には、それなりのプログラミング知識と経験が必要なことは言うまでもありません。 これは私の感覚なのですが、ソース互換のプログラムで安定して動くものは数少ないと思います。作成する人が 使用する全ての人の環境を考えられる訳もないので仕方ないのですが...
ソース互換は「ハードウェアを選ばないが、使用者は選ぶ」システムと私は考えます。
WindowsはCPUやハ−ドウェアを限定し、バイナリファイルでの安定なプログラム実行を達成したOSです。 前身であるMS−DOSの経験がふんだんに生かされており、かなり高度なソフト技術により作られています。 インターネット上に無数に存在するフリーソフトやシェアウェアのバイナリ実行形式ファイルをダウンロードするだけで 即実行できるのはバイナリ互換の強みです。さらにバイナリ実行形式は、ソフト作成にて考案したアルゴリズムや方式を 隠蔽できるので、ビジネスにはうってつけと言えます。使用者にとってはブラックボックスなので、黙ってお金を払うしか ないでしょう。
バイナリ互換は「実行はスピーディだが、金銭の支払いもスピーディな」システムと私は考えます。
それぞれに利点,欠点がありますが、現在のハード事情を考えるとバイナリ互換に利があると思われます。 なにせAT互換のハードウェアは劇安で入手も簡単です。インテル系以外のCPUは一般ユーザはまず選ばないでしょう (ここではMACは除外とさせて頂きます。ソフトウェアを自分で作るという思想のOSではないので)。 それにLinuxのようなUNIX互換のOSでもRPMによるバイナリ配給が当たり前になってきているのですから...