前回の随想録がC#で今回がFortranである。順序が逆のような気もするが気にしないでほしい(笑)。
Fortranは非常に古いコンピュータ言語である。まあ、古いといってもコンピュータができるよりも前にあるわけではなので、たかが知れてはいるが。それでも、今年2000年になって発表があったC#に比べると、40年以上も前から存在した。正確にはIBMが1956年ごろ開発したらしい。そして、1966年にFortran66という規格ができ、標準化された。その後、Fortran77、Fortran90、Fortran2000と着実に進化していくことになる。
しかし、現在Fortranが占める割合はそれほど大きくはない。それは、時代が進むにしたがって、よりよいコンピュータ言語が台頭してきたからである。BASIC、C/C++、Javaなど。何を以ってより良いとするかは難しいところだが、今あげた言語はそれなりに時代に合った言語だったのだろう。
それでも、Fortran(特にFortran77)はまだまだ現役である。中でも、計算科学の分野ではかなりの強い勢力を占める。過去の膨大なライブラリなどの資産はもちろんのこと、エイリアスが使用できないなど、速度効率のための最適化がやりやすい言語仕様なのである。そして、計算科学ではこの速度効率が最も重要なファクターを占めるのである。
というわけで、私は今日もFortranをいじっている。
最近、C#に興味がある。
C#とはマイクロソフトが提案するC++ライクのオブジェクト指向言語である。これはサンのJavaに対抗して開発された言語でもある。C#の#は++を二段に重ねたものだとか、+と+が重なったものだとか、C++の一段上という意味での#だとかいろいろ聞くが、どれが本当の由来なのかはよく知らない。
サンの開発したJavaは確かにオブジェクト指向言語としてなかなか良いものである。私もJavaが発表された直後に「これはいい!」と思いJDKをすぐにダウンロードしていろいろと遊んでみた。当時は発表された直後とあってJavaと言っても周りの人はほとんど関心を示さなかったのだが、しばらくしたら、こぞって取り上げ始めたのは皆さんがご承知の通りであろう。
しかし、サンがJavaを自分の手から離して標準化団体に完全に渡してしまうことを拒んでいる今の状況は良い状態とはいえない。それが商売敵であるマイクロソフトに好き勝手やらせないためだとしてもである。一方、マイクロソフトは標準化団体にC#を策定してもらおうと動いているようである。
やはり、コンピュータ言語自体は一私企業が握っているものよりも、ちゃんとした標準化団体が管理しているものの方がいい。だからと言って、JavaがC#に取って代わられてしまうのかといえばそれはわからないが。そう言えば、近いうちに情報処理技術者試験で用いられる言語にJavaが追加されるそうだ。これから見ても、急速に普及しているのがよくわかる。
私としては、企業などの思惑に左右されず、扱いやすくてパワフルなコンピュータ言語を使用していきたい。何だかんだ言っても、現状では、C++からはしばらく離れられそうにない。
昨日の帰宅時に、事故で電車が止まってしまい大変であった。終電の2本前で帰ったのだが、途中の乗換駅で立ち往生である。他の電車に乗り換えて帰ろうかとも思ったのだが、既に終電の時間であり、どこもダメであった。仕方がないので動くまで待ち続け、結局、家に着いたのは午前2時である。
この時に考えたのだが、もし、このまま電車が動かずにいたときにはどうすれば良いか。仕事場の近くであれば、そこで過ごせば良いが、乗換駅ではそうも行かないだろう。
そこで、まず考えたのが、カプセルホテルである。まあ、一晩過ごすには妥当なところか。また、私は電車で読むための本をいつも持ち歩いているので、24時間営業の喫茶店で本を読んで過ごすのも良いかもしれない。他には、オールナイトの映画を上映している映画館に入るという選択もある。
他の人はどうするのだろうと気になってウェブで調べてみると、終電に乗り遅れたときにはマンガ喫茶に行くという人を見付けた。なるほど、マンガ喫茶か。私もマンガを読むのが好きな方なので、良いかもしれない。値段は380円? 一時間ごとに50円追加か。飲み物もセルフサービスで自由に飲める。思ったよりも安く済みそうだ。
などと、いろいろ考えもしたのだが、事故で電車が止まっても別ルートで帰れるような早い時間に帰宅することが一番だろう。
C#言語の規格
ISO/IEC 23270:2003
http://www.iso.org/iso/en/CatalogueDetailPage.CatalogueDetail?CSNUMBER=36768&ICS1=35&ICS2=60&ICS3=
ECMA-334
http://www.ecma-international.org/publications/standards/Ecma-334.htm
C#言語仕様 JIS原案作成委員会
Posted by: Foota at 2004年06月19日 16:17http://www.itscj.ipsj.or.jp/jis/csharp/