Fortran/歴史
Fortranは、1957年にIBMのJohn Backusを中心としたチームによって作られました。当初、名前はすべて大文字で書かれていたが、現在の標準や実装では最初の文字だけを大文字にします。 Fortran という名前は、FORmula TRANslation の略です。当初は科学計算に特化していたため、文字列の扱いが非常に限定的であり汎用プログラミング言語として重要な他の機能が欠けていたが、成功裏にデビューした後の大規模な開発によって後に達成されることになる。Fortranは、C言語が普及するまでは、異なるコンピュータシステム間で適度な移植性を持つ数少ない高級言語の一つでした。いくつかのウェブサイトによると、Fortranの開発は1954年に開始され、1957年に商業的にリリースされたようです。小さなFORTRANプログラムのコンパイルに初めて成功したのは、1954年9月20日のことだと考えられています。
Fortranにはいくつかのバージョンがあります。FORTRAN I、II、III、IVは時代遅れとされており、マシンに依存する機能が多く含まれていました。FORTRAN 66は最初の標準化されたバージョンで、1966年にリリースされました。それ以降のすべてのFortranのバージョンは、標準規格がリリースされた年にちなんで番号が付けられています。最も一般的に使用されているFortranのバージョンは、FORTRAN 77、Fortran 90以降です。
- FORTRAN IIでは、
IF
文は次のような形式であった。IF (numeric_expression) label_if_negative、label_if_zero、label_if_positive
という形式でした。また、ホレリスリテラルと呼ばれる奇妙なタイプの文字列リテラルもありました(キーパンチの発明者とIBMにちなんで)。現在では「hello」とコード化されているところを、FORTRAN IIでは「5Hhello」としていた。しかし、文字列変数型はありませんでした。 - FORTRAN IVでは、
IF
/THEN
の概念、論理式の概念が追加され、演算子.AND.や.OR.、.EQ.、.NE.などが追加された。また、基本型として複素数が追加された。 - FORTRAN 77では、文字列を別の型として追加しました。
- Fortran 90 は、様々な種類のスレッドと直接配列処理を追加しました。
- Fortran 2003 では、オブジェクト指向機能、派生型、C 言語との相互運用性、データ操作、多くの I/O 機能が追加されました。
- Fortran 2008 では、コアレイ、並列処理、サブモジュールが追加されました。
- Fortran 2018 では、C 言語との相互運用性や並列処理機能がさらに強化されています。
Fortranは早くから標準化された言語でしたが、多くの企業が独自の拡張を行っていました。不思議なことに、IBMとDECはほとんど同じ拡張機能を持っていました。
バージョン間の相違点編集
- FORTRAN 66のコメントは1列目に
C
という文字で示されますが、FORTRAN 77のコメントは1列目に*
を使うこともできます。また、Fortran 90 では!
文字の使用も可能です。 - FORTRAN 77 のシンボル名は 6 文字に制限されていますが、Fortran 90 では 31 文字までの名前を使用できます。
- FORTRAN 77 のソースファイルは単語が始まる前に 6 つのスペースが必要ですが、Fortran 90 はそうではありません (自由形式のコードスタイルを採用しているため)。
大文字のFORTRAN編集
大文字のFORTRANは、FORTRAN66、FORTRAN77と呼ばれる1950年代から開発され使われてきたクラシックな数値計算言語です。新規にプログラムを開発するには、上記の小文字のFortranが推奨されます。 Fortran95になって、FORTRANのいくつかの機能が削除されました。
削除された機能の一例
- ホレリス型文字定数(H型定数)
606 FORMAT ( 9H1GOODBYE. )
- PAUSE文
PAUSE
- ASSIGN型GOTO文
100 . . . ASSIGN 100 TO H . . . GO TO H . . .
- 実数型制御変数のDO文
DO X = 1.1, 0.1, -0.1
- 実行文を記述できる範囲は73~80カラム。
- コメント行は1カラム目にCと記入する。
- 継続行は、6カラム目になんらかの文字を記入する。
- 小文字のFortranでは、自由欄形式が使えるようになりました。またコメントには '!' から行末まで。
- 英大文字での記述。
- ただし、Fortranでも英大文字と小文字は区別されません.