「Fortran」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
imported>News4vip
(FORTRANFortranへ移動)
imported>News4vip
41行目: 41行目:
 
}
 
}
 
</source>
 
</source>
 +
 +
== 主な仕様 ==
 +
Fortranと一言でいっても時代とともに進化しており、文法なども変化している。
 +
* [[IBM 704 FORTRAN]]
 +
*: 1953年に開発された開発された最初のFORTRANは32の命令をもち[[IBM 704]]で動作した。輸送中に転ぶと殴られる[[パンチカード]]の時代である。
 +
* [[FORTRAN II]]
 +
*: 1958年に開発された安定バージョン。[[関数]]と[[サブルーチン]]が使えるようになった。
 +
* [[FORTRAN III]]
 +
*: 1958年に開発された実験バージョン。一般流通はしなかったという。IIとIIIの関係は[[FreeBSD]]のSTABLEとCURRENTのようなものである。
 +
* [[IBM 1401 FORTRAN]]
 +
*: 1959年、[[中間コード]]と[[JITコンパイラ]]という驚異的な技術が生み出された。もはや伝説である。
 +
* [[FORTRAN IV]]
 +
*: 1961年、[[算術IF文]]が[[Excel]]のIF文風であまりに[[C言語]]に似ていないため批判が殺到し、[[C言語]]風の[[論理IF文]]が取り入れられた。この批判は[[C言語]]も[[Excel]]もまだ考案されていないにもかかわらず起きている。
 +
* [[FORTRAN 66]]
 +
*: 1966年の魔改造である。
 +
* [[FORTRAN 77]]
 +
*: 1977年の魔改造である。
 +
* [[Fortran 90]]
 +
*: 1990年の魔改造である。1980年代から延々と議論された挙げ句に決定した最大の変更点は、名称表記が全部大文字の「FORTRAN」から「Fortran」になったことである。
 +
* [[Fortran 95]]
 +
*: 1995年の魔改造である。
 +
* [[Fortran 2003]]
 +
*: 2003年の魔改造である。
 +
* [[Fortran 2008]]
 +
*: 2008年の魔改造である。
 +
* [[Fortran 2015]]
 +
*: 2015年の魔改造である。
  
 
== 主な実装 ==
 
== 主な実装 ==

2013年10月11日 (金) 11:11時点における版

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が付いてる。

関連項目

参考文献