加藤@ODNです.

In article <YPvyd.3$5V4.1987@newsall.dti.ne.jp>, Masanori HATA wrote:

>CPU のアーキテクチャというレベルで見てみると、IA-32 と
>PowerPC の違いというのが、よくわかるような気がします。
>
>多量のレジスタを柔軟に使える PowerPC に比べて、IA-32 って、
>なんだかレガシーなレジスタ構成をあまりにも引きずりすぎてい
>るように思えます(IA-64 になったらマシになるのだろうか?)。

技術の選択には常に一長一短があるもので,IA-32 が現在メジャーになって
いるのは,当にこのレガシーを引きずっていることが大きな理由です.学生
時代にはピンとこないと思いますが,企業などで5年10年と同じソフトを
使い続ける場合,バイナリレベルの互換性というのは非常に重要なポイント
なわけです.昔の話になりますが,i8080 と M6800 の争いも,モトローラ
が 6809 に移行するときに微妙にバイナリ互換を無くしたのが敗因の一つ
だったと思います.

いつ互換性を捨てるかの判断というのは非常に難しく,Intel も RDRAM や 
IA-64 (EMT-64 では無い方)では失敗して,AMD の躍進を許すことになりま
したし,Microsoft も MS-DOS 互換を維持したお陰でメジャーになりました
が,そのために 64 KiB の壁に悩まされ続け,やっと決断した Windows XP 
への一本化も,決してスムーズには進んでいません.

アーキテクチャの美しさもそれなりに重要ですが,互換性の重要性も理解し
ておいて下さい.#アセンブラでプログラムを書く時代じゃないし.

># 正直、64bit PC 世代になったら、Intel-Microsoft を見切って、
># G5 Mac に乗り換えるのも一つの手だなと考えていたりする。

ハードというのはその上のソフトを動かすための物ですから,自分が使うソ
フトに合った OS なりハードなりを選ぶのが真っ当な選び方だと思います.

>純粋な数値計算(例えば円周率の計算のようなもの)においては、
>今でも Fortran が C に比べて多少は速度的に有利なのかと思っ
>ていたのですが、それはとっくに過去の栄光だったんですね……。

そうですねぇ,スパコンや大規模並列マシンを使う場合,ライブラリ等の都
合から言語が制限される場合がありますが,そういう場合を除けばどちらを
選んでも実質的な差は無いと言っていいでしょう.

>GNU で gfortran を開発中のようなので、Fortran 9x でも使って
>みようかなと思って(図書館で Fortran 9x 関係の本をリクエスト
>したりして)みたんですが、素直に C の練習でもした方がいいの
>かもしれません (^^;

これはちょっと難しい問題ですが,現時点で,将来 FORTRAN を使う可能性
が見えているのであれば,今 FORTRAN を勉強する意味はありますが,そう
でないのなら C を使い込んでおく方がいいと思います.
-- 
Hideki Kato <mailto:katoh@pop12.odn.ne.jp>