プログラミング言語 FORTRANについて調べてみました。
FORTRAN(フォートラン)とは
Fortranは、プログラミング言語の一つであり、世界最初の高級言語です。
科学技術計算用のプログラミング言語とされ、Fortran 77やFortran 90などの言語仕様があります。
FORTRAN(フォートラン)は、1954年にIBMのジョン・バッカスによって考案された、コンピューターにおいて広く使われた世界最初の高級言語である。
1956年に最初のマニュアルが、1957年にIBM 704用の最初のコンパイラがリリースされた。名前「FORTRAN」は「formula translation」に由来し、FORTRAN 77やFortran 90などの末尾の数字は規格が制定された年を示している。
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の歴史
バージョン | 出来事 |
---|---|
誕生 | 1950年代 IBM(FORmula TRANslation) |
Fortran 66 | 世界で初めてのプログラミング言語標準 |
Fortran 77 | 固定形式、その後広く使われる |
Fortran 90 メジャーバージョンアップ |
自由形式、モジュールなど構造化言語へ |
Fortran 95 マイナーバージョンアップ |
Fortran 90 の不具合修正、FORALL, PURE, ELEMENTAL 手続など |
Fortran 2003 メジャーバージョンアップ |
オブジェクト指向、C 相互利用など |
Fortran 2008 モデレートバージョンアップ |
共配列のサポート、BLOCK 構文、数学関数の増強など |
Fortran 2018 モデレートバージョンアップ |
IEEE 算術への準拠、共配列の強化、C 相互利用の強化など |
Fortran は、細かい例外を除いては上位互換を保って進化しています。
従って、Fortran 77 の規格に沿って書かれたプログラムはそのまま Fortran 90/95 のプログラムとしてコンパイル可能です。
Fortran 2018 (Fortran 2015) とは?最新版は?
Fortran 2018は最新バージョンのFortranですが、現在開発中です。
以前は、Fortran 2015と呼ばれていたものです。
Fortran 2018 is the revision of the standard currently in development. Previously it was called Fortran 2015. (See N2144 for discussion of the name change.) Fortran 2008 is the current standard.
現在の安定版の最新はFortran 2008です。
Fortranの現在、需要はあるか?
Fortranは決して「どうしようもなく使えない過去の遺物」ということはありません。
並列計算ライブラリであるMPIやopenMPはCやfortranでの使用をデフォルトとしているし、理論シミュレーション業界ではfortranはCと並んでデファクトスタンダードです。
Fortranの歴史でまとめた通り、オブジェクト指向化など最新の技術も取り込み、いまだに仕様の最新化が行われています。
以下にまとめた通り、34位に使われている言語です。
Fortranの特徴
Fortranの中でも広く普及したFortran 77の特徴をまとめてみました。
最も大きな特徴として、数値計算に向いていることが挙げられるでしょう。
広く使われていたFORTRAN 77 の特徴は、以下のように要約される。
- 数式の計算が簡便に記述できる
ほぼ数学の数式通りに計算式を記述できる。もっともこの特徴は他に計算向きの高級言語がなかった時代の話であり、現代の水準では「プログラミング言語における標準数式表現の始祖」といった方が当たっている。- 入出力が容易
簡単に出力形式を定義できるFORMAT文や、実際の出力デバイスを意識しないで済む入出力文がある(C言語の標準入出力と似た概念である)。- スタック指向/構造化指向の言語ではない
COMMON文、BLOCK DATA文やSAVE文など、データを静的に割り当てることを前提としている。- プログラムの書式が固定形式である
プログラム記述の方法がカラム位置に依存している(一部の実装では拡張されている)
Fortranのコンパイラ
Fortranのコンパイラとしては、「NAG Fortran コンパイラ」が有名です。
Windows、Linux、Macで動作します。
NAG Fortran コンパイラ
プログラムの価値を高める堅固なコンパイラ
NAG Fortran コンパイラは、世界で初めて Fortran 90 コンパイラをリリースした NAG が提供する、Fortran 77,Fortran 90,Fortran 95,Fortran 2003,Fortran 2008 のコンパイラです。※ NAG Fortran コンパイラの現行最新バージョンは 6.2 です。
↓NAG Fortranコンパイラの公式サイトはコチラ
他にもGFortranというGNU Fortranもあります。
Fortran 言語の使い方、入門、文法
Fortran言語の使い方、入門、文法については以下に詳しく書かれています。
このドキュメントは Fortran 入門用テキストです。 Fortran 入門者(特に Fortran 90 入門者もしくは Fortran 95 入門者)を対象にしています。
Fortran 言語は50年以上もの歴史を持つ言語でありながら現在も進化を続ける言語であることから、古い規格や慣習との互換性を保ちながら進化しなければならない宿命があります。 このテキストでは、新しく Fortran を学ぶ入門者の方々が必要と思われる事にフォーカスを絞って、古い機能やあまり利用されない機能は説明されていません。
FortranとC言語の比較
Fortranは世界最初の高級言語であるため、その後、開発された多くのプログラミング言語に影響を与えました。
特にC言語は、Fortranの影響を強く受けています。
Fortranは科学技術計算用の言語なので、スーパーコンピュータでのプログラミング言語としてよく用いられる。実際、多くのスーパーコンピュータで提供されている言語は、C/C++およびFortranである。
C言語と比較すると、Fortranはスタック等を使わず、コンパイル時に静的に記憶領域を確保するのが基本である。そのため、自由度が高くあらゆる状況を想定しなければならないC言語と比べるとコンパイラはコードを最適化しやすいという利点がある。
コメント