Fortranに挑戦
Fortran初心者の高木です。こんにちは。
今回はちょっと思うところあってFortranに挑戦したいと思います。
自分の周りでもFortranを使っているという話は聞かないので、誰もやっていないとなればあえてやりたくなるのが天邪鬼な私の性分です。
学生時代に授業で少しFORTRAN 77をかじったことはあります。
私が学生だったのは1980年代の終わりなので、当時の最新版のFORTRANでした。
「古いFORTRAN 66より、今からやるならFORTRAN 77をやったほうがいい」と先生がおっしゃっていたのを思い出します。
そんなFORTRAN 77も、今から見ればずいぶんおかしな仕様がてんこ盛りです。
いや、今から見なくても、当時でもおかしいとは思っていましたけど。
たとえば、プログラムのコードは7桁目から書くとか、IからNは暗黙の整数とか、そんな訳のわからない仕様が多かったんです。
昔のコンピュータ事情を考えると仕方がなかったのかもしれませんが、私の世代でもそうした事情に共感できるほど古くないのです。
私が大学を卒業した年が1990年です。
その辺りからコンピュータ言語もいろいろ変わってきますね。
CのISO規格ができたのも1990年です。
Pythonが登場したのは1991年です。
そして、Fortran 90がANSI規格になったのが1992年です。
ちなみに、FORTRAN 77まではすべて大文字でFORTRANと表記していましたが、Fortran 90以降は頭文字だけが大文字でFortranと表記します。
単に表記が変わっただけではなく、もはや別の言語といってもいいぐらい言語仕様が変わっています。
昔の「7桁目から~」は、もはや過去の遺物になってしまったようです。
そして、Fortran 2003からはオブジェクト指向プログラミングに対応したようです。
最新のFortranはFortran 2018で、これはGCCに含まれるgfortranでも使えるようです。
Fortranに実際に挑戦するにあたり、gfortranを触ってみました。
規格のバージョンはgccやg++と同じで、-stdオプションで指定するようです。
たとえば、Fortran 2008を使いたければ、-std=f2008と指定するとのことです。
デフォルトは-std=gnuで、最新バージョン+GNU拡張がすべて使える設定のようです。
ソースファイルのサフィックス(あるいは拡張子)はちょっとややこしくて、.fとか.forなどいくつかのバリエーションが使えるようです。
ただし、そうした形式のサフィックスは固定形式(例の7桁目~のやつだと思います)のようで、自由形式を使いたければバージョン番号を付けた.f90とか.f08などを使う必要があります。
Fortran 2018も使えるというので.f18も使えるのかと思ったんですが、どうやらサフィックスとして使えるのは今のところ(GCC 8.2).f08までのようです。
あっという間に1300文字近くなってしまいましたので、具体的なことは次回以降に書くことにします。
そういえば、馬詰の子供さんがFortranをやっているという話を聞いたような記憶がありましたね。