プログラミング言語マスターへの道


FORTRAN(1)

Fortranは1950年代に誕生した、世界初の高級プログラミング言語です。Fortranは「FORmula TRANslation」の略です。数値計算プログラム作成に適しています。Fortranがなぜ数値計算プログラム作成に特に適しているかを以下に述べます。

もっとFORTRAN

FORTRANは科学技術計算に向いた手続き型プログラミング言語であり、その長い歴史の間に開発された非常に多くの数学関数やサブルーチンを数値解析ソフトウェアの形で持っています。
また、並列計算の並列性を明示的に書くことができ最適化が行いやすく、そのため他の言語より高速である等の理由から、数値予報および気候モデル、構造力学における有限要素法、計算流体力学、計算物理学、計算機化学、計量経済学、動物と植物の品種改良などの大規模な計算を行う分野において、スーパーコンピュータで使われています。

ちょうどC言語に対するC++言語のように、Fortran 90/Fortran 95の言語仕様は、FORTRAN 77の頃と比べればかなり拡張され進歩したものとなっています。最新のソースコードは初期のものと比較すると、ほとんど別の言語のように見えません。
初期の頃は、変数名が大文字6文字までで、動的な記憶領域の確保ができないなど多くの制約がありましたが、それらの制限は無くなり、Fortran77から構造化プログラミングが、Fortran 90からモジュラープログラミング、配列演算とユーザー定義総称関数が、Fortran 95からHigh Performance Fortranが、Fortran 2003からオブジェクト指向が、Fortran 2008 からはコンカレント・コンピューティング(並行計算)が導入されました。
大文字でFORTRANと表記した場合、FORTRAN 77以前のFORTRANを指し、Fortranと表記した場合、Fortran 90以降を指すことがあります。

FORTRANの特徴

FORTRANの90/95の特徴
数値計算プログラムを簡単かつ簡潔に記述できる。
プログラムの誤りを犯しにくい言語である。
数値計算のための便利な道具があらかじめ用意されている。
作成したプログラムを大規模高速演算に使用できる。
無料のコンパイラが公開されている。
◆FORTRAN 77の特徴
数式を簡便に書ける。
ほぼ数学の数式通りに計算式を記述できる。もっともこの特徴は他に計算向きの高級言語がなかった時代の話であり、現代の水準では「プログラミング言語における標準数式表現の始祖」といった方が当たっている。出力が容易。
簡単に出力形式を定義できるFORMAT文や、実際の出力デバイスを意識しないで済む入出力文がある(C言語の標準入出力と似た概念である)。スタック指向/構造化指向の言語ではない。
COMMON文、BLOCK DATA文やSAVE文など、データを固定的に割り当てることを前提としている。固定形式の書式である。
記述方法がカラム位置で決まっている(一部の実装では拡張されている)

IBM 1401版FORTRAN

IBM 1401版は革新的な65パスのコンパイラで、わずか8k語の磁気コアメモリで動作します。
コアに記録されたプログラムが段階的に実行可能なコードへと変換されて上書きされます。変換されたコードは機械語ではなく、UCSD PascalのPコードが生まれるよりも20年も前から、中間コードを利用していました。

FORTRAN II

IBMのFORTRAN IIは1958年に開発されました。主な改良点は手続き型プログラミングのサポートであり、サブルーチンや関数を定義できるようになりました。その後、FORTRAN IIのデータ型には、DOUBLE PRECISION(倍精度型)とCOMPLEX(複素数型)が追加されました。

FORTRAN III

IBMは1958年にFORTRAN IIIを開発していました。いくつかの新機能に加えインラインアセンブラが可能でした。しかしながらこのバージョンは販売されませんでした。704 FORTRANやFORTRAN IIと同様に、FORTRAN IIIにも移植の妨げになるような機種依存の機能がありました。他のベンダーから販売されていたFORTRANも初期は同様の問題を抱えていました。

FORTRAN IV

IBMは1961年に顧客の要望を受けFORTRAN IVの開発を開始しました。READ INPUT TAPEのようなFORTRAN IIの機種依存部分を削除したほか、LOGICAL(論理型)、論理演算、算術IF文の代替となる論理IF文が加えられました。この時のターゲットマシンはワードマシンだったので、整数値は235の範囲で定義されていました。また、実数の精度は227、倍精度実数の精度は254まででした。FORTRAN IVは1962年にIBM 7030(通称ストレッチ)用がリリースされ、後にIBM 7090版とIBM 7094版がリリースされました。1965年には国家規格であるANSI X3.4.3 FORTRANに準拠しました。