Fortran

提供: MonoBook
2013年10月11日 (金) 07:45時点におけるimported>News4vipによる版 (→‎並列処理)
ナビゲーションに移動 検索に移動

FORTRAN(読み:ふぉーとらん)とは、ジョン・バッカスIBMの愉快な仲間たちが開発したプログラミング言語である。

概要

IBMとFORTRANには何も面白いところはない。青いネクタイを装着せずにFORTRANを書くのはシンタックスエラーとなる。

並列処理

FORTRANは基本的な演算や条件分岐などは何の特徴もない平凡なプログラミング言語であるが、配列の演算は以下のように範囲指定で一気に計算が行えるという特徴がある。この記述だけで自動的に賢いコンパイラ並列処理としてくれる。このためCPUのコア数だのスレッド数だのと言った細かいことを意識しなくてもよいので、もう規模が大きすぎて人力では把握しきれないスーパーコンピューターなどの世界では人気が高いという。

program array
    ! 配列を宣言する。
    integer a(10), b(20), c(30)

    ! 並列処理
    ! 配列を初期化する。
    ! 添字なしで配列に代入すると全部に入る。
    a = 0    ! 配列全部に0を代入する。
    b = 1    ! 配列全部に1を代入する。
    c = 2    ! 配列全部に2を代入する。

    ! 並列処理
    ! 配列bの添字11から20までと、配列cの21から30までを足して、配列aの1から10に格納する。
    ! fortranの添字は1から始まる。C言語から来た人は注意。
    a(1 : 10) = b(11 : 20) + c(21 : 30)

    ! 配列の中身を表示する。
    print *, a

end program array

上記の演算部分をC#で書くと以下のような感じである。

Parallel.For( 0, 10, i => a[i] = b[i + 10] + c[i + 20] );

C言語Java並列処理を考慮せず書くと以下のような感じである。

for (i = 0; i < 10; i++)
{
    a[i] = b[i + 10] + c[i + 20];
}

関連項目

参考文献