「Fortran」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>News4vip
imported>News4vip
148行目: 148行目:
 
| [[IBM]]製の元祖Fortranの[[スーパーコンピューター]]版である。最近では[[Eclipse]]ベースの[[IDE]]が付いてる。
 
| [[IBM]]製の元祖Fortranの[[スーパーコンピューター]]版である。最近では[[Eclipse]]ベースの[[IDE]]が付いてる。
 
|}
 
|}
 +
 +
== 文法 ==
 +
* [[Fortran/PROGRAM|PROGRAM]]
 +
* [[Fortran/SUBROUTINE|SUBROUTINE]]
 +
* [[Fortran/FUNCTION|FUNCTION]]
 +
* [[Fortran/MODULE|MODULE]]
 +
* [[Fortran/CONTAINS|CONTAINS]]
 +
* [[Fortran/INTERFACE|INTERFACE]]
 +
* [[Fortran/USE|USE]]
  
 
== 関連項目 ==
 
== 関連項目 ==

2013年10月17日 (木) 02:30時点における版

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];
}

主な仕様

Fortranと一言でいっても時代とともに進化しており、文法なども変化している。

主な実装

ざっくり

製品名 対応OS ライセンス 概要
Oracle Solaris Studio Solaris, Linux フリーソフト NetBeansをベースにC言語C++FORTRANコンパイラデバッガーパフォーマンスアナライザーを搭載したもの。
PGFORTRAN Windows, Linux プロプライエタリ Visual Studioアドオンも付いてくる。
PathScale Compiler Suite Linux プロプライエタリ
Absoft Pro Fortran Windows, POSIX プロプライエタリ
G95 Windows, POSIX GPL
GFortran Windows, POSIX GPL v3
Intel Fortran Compiler Windows, Linux, Mac OS X プロプライエタリ Visual StudioやEclipseXCodeアドオンあり
Lahey Fortran Linux プロプライエタリ
Open64 Windows, POSIX GPL
FNT95 Windows プロプライエタリ
NAG Fortran Windows, POSIX プロプライエタリ
VS Fortran z/OS, z/VM プロプライエタリ IBM製の元祖Fortranのメインフレーム版である。最近ではEclipseベースのIDEが付いてる。
Force Windows フリーソフト プログラミング言語Forthと名前が似てるので注意。
XL Fortran Linux (POWERCell限定), AIX, BlueGene プロプライエタリ IBM製の元祖Fortranのスーパーコンピューター版である。最近ではEclipseベースのIDEが付いてる。

文法

関連項目

参考文献