stanford-oval/wikipedia huggingface dataset:
新得駅
利用状況

乗車人員の推移は以下のとおり。年間の値のみ判明している年については、当該年度の日数で除した値を括弧書きで1日平均欄に示す。乗降人員のみが判明している場合は、1/2した値を括弧書きで記した。
また、「JR調査」については、当該の年度を最終年とする過去5年間の各調査日における平均であるが、当駅については災害により調査ができていない年度があるため、当該年度は省いた4年平均となっている箇所がある。また、当年単体の数値についても判明分を示す。
| 年度> 年度.年度 | 乗車人員（人）> 年間.年間 | 乗車人員（人）> 1日平均.1日平均 | 乗車人員（人）> JR調査.5年平均 | 乗車人員（人）> JR調査.単年 | 出典> 出典.出典 | 備考> 備考.備考 |
| --- | --- | --- | --- | --- | --- | --- |
| 1988年（昭和63年） |  | 367 |  |  |  |  |
| 1989年（平成元年） |  | 385 |  |  |  |  |
| 1990年（平成02年） |  | 380 |  |  |  |  |
| 1991年（平成03年） |  | 400 |  |  |  |  |
| 1992年（平成04年） |  | 387 |  |  |  |  |
| 1993年（平成05年） |  | 385 |  |  |  |  |
| 1994年（平成06年） |  | 374 |  |  |  |  |
| 1995年（平成07年） |  | 365 |  |  |  |  |
| 1996年（平成08年） |  | 355 |  |  |  |  |
| 1997年（平成09年） |  | 352 |  |  |  |  |
| 1998年（平成10年） |  | 352 |  |  |  |  |
| 1999年（平成11年） |  | 362 |  |  |  |  |
| 2000年（平成12年） |  | 348 |  |  |  |  |
| 2001年（平成13年） |  | 361 |  |  |  |  |
| 2002年（平成14年） |  | 360 |  |  |  |  |
| 2003年（平成15年） |  | 350 |  |  |  |  |
| 2004年（平成16年） |  | 330 |  |  |  |  |
| 2005年（平成17年） |  | 310 |  |  |  |  |
| 2006年（平成18年） |  | 300 |  |  |  |  |
| 2007年（平成19年） |  | 366 |  |  |  |  |
| 2008年（平成20年） |  | 310 |  |  |  |  |
| 2009年（平成21年） |  | 307 |  |  |  |  |
| 2010年（平成22年） |  | 304 |  |  |  |  |
| 2011年（平成23年） |  | 290 |  |  |  |  |
| 2012年（平成24年） |  | 268 |  | (256) |  |  |
| 2013年（平成25年） |  | 243 |  | (247) |  |  |
| 2014年（平成26年） |  | 237 |  | （202) |  |  |
| 2015年（平成27年） |  | 251 |  | (245) |  |  |
| 2016年（平成28年） |  | 209 | 237.5 | (-) |  | 同年度より東鹿越 - 新得間被災によりバス代行 |
| 2017年（平成29年） |  | 251 | 225.0 | (206) |  |  |
| 2018年（平成30年） |  | 243 | 227.0 | (255) |  |  |
| 2019年（令和元年） |  | 221 | 225.5 | (196) |  |  |
| 2020年（令和02年） |  |  | 207.3 | (172) |  |  |
| 2021年（令和03年） |  |  | 195.2 | (147) |  |  |
| 2022年（令和04年） |  |  | 187.4 | （167) |  |  |
| 2023年（令和05年） |  |  | 165.2 | (144) |  |  |
駅周辺

新得町商工会（駅舎に入居）
町営浴場（駅南側に立地）
新得郵便局
新得町役場
新得町農業協同組合（JA新得町）
新得警察署
帯広信用金庫新得支店
国道38号
北海道道1075号新得停車場線
北海道拓殖バス、新得町コミュニティバス「新得駅前」停留所
旭川空港経由旭川行ノースライナー「新得駅前」停留所
フクハラ新得店（福原）
十勝・新得地鶏本舗
北海道新得高等学校（※2019年3月31日をもって閉校）
その他 > 特急料金不要の特例

石勝線新夕張 - 当駅間は特急列車のみの運行であり、普通列車の設定がない。そのため、同区間内相互乗車で、特急の普通車指定席の空席に乗車する場合に限り、特急料金が不要になる特例がある。
その他 > テレビドラマ舞台

テレビドラマ「北の国から '95秘密」に登場した。黒板五郎の長女・蛍が富良野に住む五郎の長男（蛍の兄）・純のもとへ金を借りに来た後、釧路行きの夜行列車「おおぞら」号に乗るために純に車で送ってもらったのが夜半の当駅だった。
その他 > ライブカメラ

駅舎と並んで建っている新得町商工会がライブカメラを設置しており、駅前・広場・駐車場の3方向のいずれかを選んで確認することができる。（※外部リンク欄#新得駅サイトを参照(ページ内リンク)）
バス路線

各路線とも駅前ロータリーから発着する
53系統　屈足・鹿追・音更経由　帯広駅バスターミナル
53-2系統　屈足経由　鹿追営業所
71系統　幸町4丁目（屈足）
72系統　くったり温泉・岩松・トムラウシ小中学校経由　トムラウシ温泉（東大雪荘）※期間限定
新得小学校・上佐幌20号
※53系統の一部便は途中の鹿追営業所にて然別湖方面の便と接続を取り運行。運賃についても乗継運賃を設定。
落合・道の駅南ふらの(幾寅)・富良野・美瑛・旭川空港経由　旭川駅(狩勝峠経由)
新得市街地線（西地区）（東地区）
屈足地区線
隣の駅

→特急「おおぞら」「とかち」の停車駅については「おおぞら (列車)」を参照
隣の駅 > かつて存在した路線

1977年の新得駅と周囲約1km×1.5km範囲。下が釧路方面。駅裏にかつての狩勝峠越え補機用蒸気機関車用の転車台と扇形車庫が残る。上端にはトンネルへ入る新線横に、迂回してそのまま狩勝峠へ北上する旧線跡が見える。駅舎横帯広方面に三角状の貨物ホームを持つが、その本線側には細く短いホームが見える。このホームの駅表側（貨物ホーム側）に、かつて北海道拓殖鉄道が乗り入れており、本線と並行して南に下る軌道跡が見えるが、写真下端にあった同線の南新得駅を経て東へ向かっていた。この駅は小さいながらも転車台を持つ機関庫を持っていて、周囲には職員住宅も有り、拓殖鉄道の中核駅であった。現在、南新得駅跡は拓鉄公園として整備されている。

この後、千鳥状に駅北側にずれた1番線ホームは、貨物ホーム撤去後に北側が削られて南側に伸ばされ、同位置の相対式ホームとなった。国土交通省 国土地理院 地図・空中写真閲覧サービスの空中写真を基に作成
Fortran

| --- | --- |
 
パラダイム:  構造化プログラミング、オブジェクト指向プログラミング、手続き型プログラミング、ジェネリックプログラミング、命令型プログラミング、配列プログラミング 
登場時期:  1957年 
開発者:  IBM、ジョン・バッカス 
最新リリース:  Fortran 2023 / 2023年11月17日
型付け:  強い静的型付け
主な処理系:  Absoft, Cray, CUDA, Fortran Builder, GFortran, G95, Intel, Lahey/Fujitsu, Open Watcom, Pathscale, PGI, Silverfrost, Sun, XL Fortran, Visual Fortran ほか
影響を受けた言語:  Speedcoding 
影響を与えた言語:  ALGOL 58, BASIC, PL/I, C
プラットフォーム:  z/OS, z/VM, z/VSE, MCP, VOS3, ACOS, GCOS, VMS, OS/400, UNIX, Linux, Windows, Mac OS, CP/M, MS-DOS ほか
ライセンス:  MIT License 
ウェブサイト:  https://fortran-lang.org 
拡張子:  f、for、f90 
テンプレートを表示
他のプログラミング言語
■カテゴリ / ■テンプレート
1956年に発行された最初のFortran解説書『The Fortran Automatic Coding System for the IBM 704』
Fortran（フォートラン）は科学技術計算に向いた手続き型プログラミング言語。1954年にIBMのジョン・バッカスが考案したコンピュータ用で世界最初の高水準言語であり、その後も改訂されて使用されている。
概要

1956年に最初のマニュアルがリリースされ、1957年にIBM 704用の最初のコンパイラがリリースされた。名前 Fortran は formula translation（数式の変換）に由来し、FORTRAN 77 や Fortran 90 などの末尾の数字は規格が制定された年を示している。
Fortran は科学技術計算に向いた手続き型プログラミング言語であり、その長い歴史の間に開発された非常に多くの数学関数やサブルーチンを数値解析ソフトウェアとしてもっている。また、並列計算の並列性を明示的に書くことができるので最適化が行いやすく、したがって他の言語より高速であるなどの理由から、数値予報および気候モデル、構造力学における有限要素法、計算流体力学、計算物理学、計算機化学、計量経済学、動物と植物の品種改良などの大規模な計算を行う分野において、スーパーコンピュータで使われている。
ちょうどC言語に対するC++言語のように、Fortran 90/Fortran 95 の言語仕様は、FORTRAN 77 の頃と比べればかなり拡張され進歩したものとなっている。最新のソースコードは、初期のものと比較するとほとんど別の言語のように見える。初期の頃は、変数名が大文字で6文字までであり、動的な記憶領域の確保ができないなど多くの制約があったが、それらの制限はなくなり、Fortran 77 から構造化プログラミングが導入され、Fortran 90 からモジュラープログラミング、配列演算とユーザー定義総称関数が、Fortran 95 からHigh Performance Fortranが、Fortran 2003 からオブジェクト指向が、Fortran 2008 からはコンカレント・コンピューティング（並行計算）が導入された。
言語名は大文字 FORTRAN でなく Fortran とつづることが、1990年にISOの会議で合意されている。
なお、大文字で FORTRAN と表記した場合は FORTRAN 77 以前の FORTRAN を指し、Fortranと表記した場合は Fortran 90 以降を指すことがある。
Fortranの特徴 > Fortran 90/95の特徴

Fortran 90/95の特徴は、次のとおりに要約される。
数値計算プログラムを簡単かつ簡潔に記述できる。
プログラムの誤りを犯しにくい言語である。
数値計算のための便利な道具があらかじめ用意されている。
作成したプログラムを大規模高速演算に使用できる。
無料のコンパイラが公開されている。
Fortranの特徴 > FORTRAN 77の特徴

広く使われていたFORTRAN 77 の特徴は、以下のように要約される。
Fortranの歴史

ジョン・バッカスは1953年末、メインフレームコンピュータIBM 704のプログラムを開発するにあたり、アセンブリ言語に代わるものを開発することをIBMの上司に提案した。歴史的なFORTRAN開発チームはRichard Goldberg、Sheldon F. Best、Harlan Herrick、Peter Sheridan、Roy Nutt、 Robert Nelson、Irving Ziller、Lois Haibt、David Sayreというメンバーで構成された。
The IBM Mathematical Formula Translating System のドラフト仕様は1954年中旬に作成された。1956年10月にFortranの最初のマニュアルが作成され、コンパイラは1957年4月に完成した。顧客はアセンブリ言語で記述されたコードに匹敵するパフォーマンスが得られない限り高級言語を採用しないので、最初から最適化コンパイラが開発された。
この新しい方法がハンドアセンブルより高速に動作するかどうかには疑いの目があったが、プログラム中の命令数を1/20に削減できるので急速に受け入れられていった。IBMの社内誌であるThinkに掲載された1979年のインタビューでバッカスは「私がこの仕事をしたのは面倒くさがりだったからです。私はプログラムを書くことが好きではなかったので、IBM 701でミサイルの軌道計算プログラムを開発したときに、プログラムの開発を簡単にするためにプログラミングシステムを作り始めました。」と語っている。
Fortranは科学者の間で数学を応用したプログラムの記述に広く用いられたことから、より高速で効率的なコードを出力しようとする原動力となった。また、ライブラリでなく言語として複素数型をサポートしたことは、電気電子工学における動的特性の計算などに代表される科学や工学分野のプログラムを書きやすくした。
1960年までに様々なバージョンのFORTRANがIBM 709、IBM 650、IBM 1620、IBM 7090で動作していた。FORTRANのユーザー数は急増し、コンピューターメーカーがFORTRANコンパイラをこぞって提供したので、1963年までには40を超えるFORTRANコンパイラが存在していた。こうしたことから、FORTRANはアーキテクチャの異なる様々なコンピュータで広くサポートされた最初の言語と言える。
Fortran開発の歴史は、初期のコンパイラ技術の歴史そのものといえる。Fortranで効率的なコードを出力したいという強い要求からコンパイラによる最適化技術が大きく進歩した。
Fortranの歴史 > FORTRAN

IBM 704用に開発された最初のFORTRANは32の命令をもっていた。
Fortranの歴史 > IBM 1401版FORTRAN

IBM 1401版は革新的な63 phasesのコンパイラであり、わずか8k語の磁気コアメモリで動作する。コアに記録されたプログラムが段階的に実行可能なコードへと変換されて上書きされる。変換されたコードは機械語ではなく、UCSD PascalのPコードが生まれるよりも20年も前ながら、中間コードを利用していた。
Fortranの歴史 > FORTRAN II

IBMのFORTRAN IIは1958年に開発された。主な改良点は手続き型プログラミングのサポートであり、サブルーチンや関数を定義できるようになった。
その後、FORTRAN IIのデータ型として、DOUBLE PRECISION（倍精度型）とCOMPLEX（複素数型）が追加された。
Fortranの歴史 > FORTRAN III

IBMは1958年にFORTRAN IIIを開発していた。いくつかの新機能に加えインラインアセンブラが可能であった。しかしながらこのバージョンは販売されなかった。704 FORTRANやFORTRAN IIと同様に、FORTRAN IIIにも移植の妨げになるような機種依存の機能があった。他のベンダーから販売されていたFORTRANも初期は同様の問題を抱えていた。
Fortranの歴史 > FORTRAN IV

IBMは1961年に顧客の要望を受けFORTRAN IVの開発を開始した。READ INPUT TAPEのようなFORTRAN IIの機種依存部分を削除したほか、LOGICAL（論理型）、論理演算、算術IF文の代替となる論理IF文が加えられた。この時のターゲットマシンは36ビットのワードマシンだったので、整数値は235の大きさの範囲で定義されていた。また、実数の精度は227、倍精度実数の精度は254までだった。FORTRAN IVは1962年にIBM 7030（通称ストレッチ）用がリリースされ、後にIBM 7090版とIBM 7094版がリリースされた。
1965年には国家規格であるANSI X3.4.3 FORTRANに準拠した。
Fortranの歴史 > FORTRAN 66

American Standards Association（現ANSI）がFortranの米国規格を委員会で制定するようになったことはFortranの歴史の要である。1966年に2つの異なる言語が制定された。一つは当時既にデファクトスタンダードであったFORTRAN IVを基にしたFORTRANであり、もう一つはFORTRAN IIを基にして機種依存部分を取り除いたBasic FORTRANである。最初に制定されたFORTRANの規格は後にFORTRAN 66と呼ばれた。
Fortranの歴史 > FORTRAN 77

FORTRAN 66 規格のリリース後、コンパイラ・ベンダーは多くの拡張を"標準Fortran"に導入し、1966の規格の改訂を始めるようにANSIを促した。この改訂は1977年に制定され、最終的な改訂案は1978年4月に新しいFORTRAN標準として承認された。この新しい標準はFORTRAN 77として知られ、FORTRAN 66後の多くの変更を追加し、多くの重要な機能を加えた:
ブロック IFとEND IF ステートメント、オプショナルなELSEとELSE IF ステートメント。改善された言語サポートのための構造化プログラミング。
DOループ機能拡張、パラメータ記述を含む、負の増分とゼロのトリップ・カウント（これ以前のFORTRANではDOループは繰り返しを必ず1回は行うことになっていたのを廃止した）。
改良されたI/OのためのOPEN, CLOSE, と INQUIRE文。
ダイレクト-アクセス ファイル I/O。
IMPLICIT 文。
CHARACTER 型。文字の入出力と処理のための大幅な増補。（以前は、文字のデータを整数や実数などの変数や配列に格納して処理をしていた）。
PARAMETER 文。定数を指定するためのステートメント。
SAVE 文。明示的にローカル変数を永続的に指定する。
内部関数のための総称関数。
ASCII コードの文字順序に基づいた、文字列比較のための内部命令セット(LGE, LGT, LLE, LLT)。
この規格の改訂において、多くの機能は除去されるか変えられて、以前の標準に合致していたプログラムの多くはおそらく無効になった。この時点で除去はX3J3の代替だけが許容された。だからコンセプト "不賛成"はANSI標準においては利用できなかった。しかし、コンフリクトリストの24アイテム（Appendix A2 of X3.9-1978を見よ）ループホールスとパスロジカルケースは以前の標準規格から許容されたが、しかし滅多に使用されない。少数の機能は慎重に除去された。
文字列定数をプログラム中で記述するためのホレリス記法、すなわち：
FORMAT 記述子におけるH編集（ホレリス・フィールド）の読み込み（以前はH編集子で確保された文字列データの領域には入力文で文字列を読み込めた（データが上書きされる）そのFORMAT文を使って出力すると，書き換えられたデータが使われて出力される）。
配列の定義時の添字の範囲を超えたアクセス。
DOループの途中でいったん外に飛び出して後で戻る（"エクステンデット・レンジ"（DOループの拡張範囲）として知られる）。
以前の規格では文字型(CHARACTER型)がなかったので、文字データや文字列データを整数や実数の変数や配列に格納することが行われていたが、Fortran77ではそれを廃止した。
Fortranの歴史 > Fortran 90

一般にFortran 90 として知られている規格は、大幅に発表が遅れたもののFORTRAN 77の正当な継承者であり、最終的に1991年にISO規格、1992年にANSI規格としてリリースされた。この抜本的な改訂では1978年のFORTRAN 77規格制定からのプログラミング技術における大幅な変化を反映するために、以下の多くの新しい機能が加えられた
フリーフォームソース入力と小文字のFortranキーワード。プログラム本文を7桁目から書かなくても良く、80桁の制限も無い。
if (x<0) then
x=0
end if
最長31文字までの識別子。
abcdefghijklmnopqrstuvwxyz12345=0.0e0
インラインコメント。
! これは"!"を用いたコメントです
配列演算（あるいは部分配列演算）。これは数学とエンジニアリングの計算を大幅に簡素化する。
全部または部分マスクされた、配列の指定と配列の表現、例えば、
x(1:n)=r(1:n)*cos(a(1:n))
選択的配列のアサインのためのwhere文。
integer :: a(10)
real(8) :: b(10)
a = f(x)
where (a > 0)
  b = -1.0
elsewhere
  b = 1.0
end where
配列の定数と式による初期化。
ユーザ定義の配列を返す関数と配列コンストラクタ。
function sample(x) result(y) !配列yを返す
  integer, parameter :: nn = 4
  real :: y(nn) = (/ 1, 2, 3, 4 /) !配列のコンストラクタと定数による初期化
  !...
end function sample
再帰手続き。
モジュラープログラム、すなわち関係するサブルーチンとデータのグループ化と、他のプログラムユニットで使用、モジュールの内の指定した部分だけの使用を含む。
interface文を使用してコンパイル時に型がチェックされる大幅に改善された引数渡しメカニズム。
module my_lib !モジュール
interface
  function sample(x)
    real, intent(in) :: x(:) !コンパイル時に変数の型の整合性とデータの入出力方向がチェックされる。
    !...
  end function sample
end interface
end module
ユーザー定義総称関数(同じ関数名で、引数の数とタイプを自動的に識別して異なる内部関数を呼び出す)のインターフェース。
演算子('+'、'-'、など)のオーバーローディング（多重定義）。
派生型データタイプ。
変数のデータタイプと他の属性を指定するための新たなデータタイプの宣言シンタックス、
allocatable属性と allocateとdeallocate文を用いたダイナミックメモリアロケーション。
real, allocatable :: temp(:)
allocate(temp(nn))
deallocate(temp)
ポインター属性とポインターアサイン、nullify文によるダイナミックデータ構造の扱い。
do 文の end do による終端。
do while 文
exit文によるdo文からの脱出と、cycle文によるdo文の次の繰り返しへの移行。
do i = 1, nn
  if (b(i) /= 0) then
    a(i) = 1.0 / b(i)
  else
    exit
  end if
end do
select文。
select case (sw)
case ('++')
  a = a + 1
case ('--')
  a = a - 1
case default
  a = 0
end select
ユーザがコントロールできる数値精度の移植性の良い指定方法。
a = 1.0e0_kind(1.0d0)
新しく導入された内部関数。それに伴い従来の文関数(statement function)は廃止予定に。
Fortranの歴史 > Fortran 90 > 削除または時代遅れとされた機能の一覧

以前のバージョンとは異なり、Fortran 90は、何の機能も削除しなかった。（Appendix B.1には、「この規格の、削除した機能のリストは空である。」と記載されている）つまり、FORTRAN 77に準拠したプログラムは、Fortran 90にもまた準拠している。そして、両方の規格で、その動作が定義づけられた項目は使用可能でなければならない。一部の機能はFortran 95で「削除」され、また機能の小さな部分は「時代遅れ」と認定されて将来の規格で除去されることが予定された。
| 時代遅れの機能 | 例 | 状態 / Fortran 95での予定 |
| --- | --- | --- |
| 算術 IF 文 |       IF (X) 10, 20, 30  |  |
| 非-整数型の DO パラメータ あるいは制御変数 |       DO 9 X= 1.7, 1.6, -0.1  | 削除 |
| DOループの末端の共有 もしくは END DO あるいはCONTINUE以外の末端    |       DO 9 J= 1, 10          DO 9 K= 1, 10 9           L= J + K  |  |
| ブロック外部からの   END IFへのブランチ | 66    GO TO 77 ; . . .        IF (E) THEN ;      . . .  77    END IF  | 削除 |
| Alternate return |       CALL SUBR( X, Y *100, *200 )  |  |
| PAUSE文 |       PAUSE 600  | 削除 |
| ASSIGN statement     と assigned GO TO statement | 100   . . .       ASSIGN 100 TO H       . . .       GO TO H . . .  | 削除 |
| Assigned FORMAT specifiers |       ASSIGN F TO 606  | 削除 |
| H 編集子 | 606   FORMAT ( 9H1GOODBYE. )  | 削除 |
| 計算 GO TO 文 |       GO TO (10, 20, 30, 40), index  | (時代遅れ) |
| 文関数 |       FOIL( X, Y )= X**2 + 2*X*Y + Y**2  | (時代遅れ) |
| DATA 文     among executable statements |       X= 27.3        DATA A, B, C / 5.0, 12.0. 13.0 /. . .  | (時代遅れ) |
| CHARACTER* の形式による文字型宣言 |       CHARACTER*8 STRING  ! Use CHARACTER(8)  | (時代遅れ) |
| Assumed character length functions |       CHARACTER*(*) STRING  |  |
| 固定長形式のソースコード | * 第1カラムが * あるいは ! あるいは C である行は注釈行.  C        第6カラムが空白でなければ継続行.文番号は先頭から5桁目までに書く。 |  |
Fortranの歴史 > Fortran 90 > "Hello world"の例

program helloworld
  print *, "Hello, world."
end program helloworld
Fortranの歴史 > Fortran 95

Fortran 95は、マイナーな改訂版である。ほとんどは、Fortran 90規格の、いくつかの大きな問題を解決するためのものである。それにもかかわらず、Fortran 95にもまた年号が付加されている。そのことは、Fortranの拡張として定義される並列言語、HPF（High Performance Fortran：ハイ・パフォーマンスFortran）の機能の一部導入によることは明白である。なお、本格的なHPFは、地球シミュレータ等で使用されている。
ベクトル化のために forallと階層化されたwhereが追加された。
ユーザ定義の pure と elemental 手続きが追加された。
派生型コンポーネントのデフォルト初期化、これにはポインターの初期化が含まれる、が追加された。
データオブジェクトの初期化表記を使うための拡張が追加された。
allocatable 配列はその有効域から出る時には自動的にdeallocateされるということの明確な定義が追加された。
多くの内部手続は拡張された。たとえばmaxloc 内部手続にdim引数が追加された
Fortran 90では時代遅れとされた機能のいくつかについては、Fortran 95では削除された。
REALとDOUBLE PRECISION変数を使用したDO 文は削除された。
END IF文へのブロック外部からの飛び込みは削除された。
PAUSE 文は削除された。
ASSIGNとASSIGN型GOTO 文、ASSIGN書式指定は削除された。
H 編集子（いわゆるホレリス定数（en:Hollerith constant））は削除された。
Fortran 95への重要な追加は、一般にはAllocatable TRとして知られる、ISO technical report、TR-15581: Enhanced Data Type Facilitiesである。この仕様は、Fortran 2003準拠のFortran コンパイラより前に、ALLOCATABLE 配列の強化した用法を定義した。そのような用法は、手続のダミー引数リストとしての派生型コンポーネントALLOCATABLE配列と、関数の返却値を含む。ALLOCATABLE配列は、POINTER-ベース・配列よりも好ましいものである。なぜならば、ALLOCATABLE 配列では、有効域から出るときに、Fortran 95システムによる自動的なdeallocateを保証しているので、メモリリークを起こす心配がないからである。
エイリアシングは配列の参照において最適化の障害にならず、Fortranコンパイラがポインタ-ベース・配列よりも高速なコードを生成することを可能にする。
他の重要なFortran 95への追加は、ISO technical report TR-15580: 浮動小数点例外処理である。一般にはIEEE TRとして知られており、この仕様はIEEE 浮動小数点演算と例外処理を定義する。
Fortranの歴史 > Fortran 95 > 条件付コンパイルと可変長文字列

必須のベース言語（ISO/IEC 1539-1:1997に定義）以外に、Fortran 95言語も以下の2つのオプショナルなモジュールを含む。
可変文字列（ISO/IEC 1539-2 : 2000）
条件付コンパイル（ISO/IEC 1539-3 : 1998）
両者は、マルチパート国際標準を構成する（ISO/IEC 1539）。規格の開発者は、「オプショナル・パートは必要なものを完備した機能を記述している、それは多くのコンパイラの実装者と利用者から要求されてきたものである。しかし、それらは、全てのFortran標準に合致するコンパイラは十分な一般性を持たないと考えられていた。それにもかかわらず、もし標準に合致したFortranがそのようなオプションを提供するならば、『それらの機能は、標準規格の適切なパートに記述に従って提供されなければならない。』」と述べている。
Fortranの歴史 > Fortran 2003

Fortran 2003はメジャーな改訂であり、たくさんの新しい機能を導入した。 Fortran2003における新しい機能の包括的なサマリーは、Fortran Working Group (WG5)のオフィシャルWebサイトから得ることができる。
この記事によれば、このバージョンが含む大幅な強化は以下の通りである。
派生タイプの強化：使用法が進歩したコントロール、パラメータ化された派生型、改善された構造化コンストラクタとファイナライザー。
オブジェクト指向プログラミングのサポート：オブジェクト指向のタイプの拡張とインヘリタンス、ポリモーフィズム、ダイナミック・タイプアロケーション、タイプ-バウンド・プロセジャー。
データマニピュレーション・エンハンスメント：allocatable コンポーネント (TR 15581の組み入れ)、遅延タイプパラメータ、ボラタイル・アトリビュート、ポインタ-の強化、初期化拡張、内蔵関数の強化。
入出力の強化：非同期転送、ストリーム・アクセス、派生タイプのためのユーザ定義転送オペレーション、ユーザ指定のフォーマット変換時の丸めの制御、接続前のユニットの名前付定数、FLUSH ステートメント、キーワードの規則化、エラーメッセージへのアクセス。
プロセジャーのポインター。
IEEE 浮動小数点と浮動小数点例外処理のサポート(TR 15580の組み入れ)。
C言語との相互運用。
国際的な慣習のサポート：ISO 10646（国際文字セット）の4バイト文字の利用、数値形式の入出力でのデシマル(.)とコンマ(,)の選択。
ホスト・オペレーティングシステムとの一体化の強化。コマンドライン引数、環境変数とプロセッサーエラーメッセージ。
Fortran 2003 への重要な追加は、ISO technical report TR-19767である。
Fortranにおけるモジュール機能の強化。このレポートは、submodulesを提供する。これは、FortranのモジュールをよりModula-2言語のモジュールに近づける。これらは、Ada言語のプライベート・チャイルド・サブユニットに似ている。これは分離したプログラムユニットとして表現すべきモジュールの仕様と実装を可能にし、大規模なライブラリのパッケージ化を改善し、インターフェース定義を公開しても企業秘密を保持することを可能にし、コンパイレーション・カスケードを防ぐ。
Fortranの歴史 > Fortran 2008

最新の規格であり一般にはFortran 2008として知られているISO/IEC 1539-1:2010は2010年9月に承認された。Fortran 95と同様に、これはマイナー・アップグレードである。Fortran 2003の明確化と訂正と共に、新しい特長も導入された。新しい特長は、以下を含む
モジュール構造の追加、ISO/IEC TR 19767:2005にとってかわるサブモジュール。
Co-array Fortran―並列計算モデル。
do concurrent―相互依存のないループを並列に実行するDOループ。
メモリ上のレイアウトを指定するためのCONTIGUOUS（隣接）属性。
コンストラクト・スコープ付のオブジェクトの宣言を含むブロック・コンストラクト。
派生タイプにおける再帰的ポインターの代替としての再帰的アロケータブル・コンポーネント。
ファイナル・ドラフト・スタンダード（FDIS）は、ドキュメントN1830として利用できる。
Fortran 2008における重要な追加は、ISOテクニカルスペシフィケーション(TS) 29113のFortranにおけるC言語とのより高いインターオペラビリティであり、2012年5月のISOの承認に向けてまとめられた。C言語の配列へのFortranアクセスに関してタイプとランクを無視する仕様が加えられた。
Fortranの歴史 > Fortran 2018

Fortran 2018の最新版は、以前はFortran 2015と呼ばれていた。大きな改訂が行われ、2018年11月28日にリリースされた。
Fortran 2018には、それ以前に公開された以下の2つの技術仕様が含まれている。
ISO/IEC TS 29113:2012 Further Interoperability with C
ISO/IEC TS 18508:2015 Additional Parallel Features in Fortran
追加の変更と新機能には、ISO/IEC/IEEE 60559:2011（2019年時点のIEEE浮動小数点数仕様の最新版）のサポート、16進の入出力、IMPLICIT NONEの拡張など、様々な変更が含まれている。
Fortranの歴史 > Fortran 2023

Fortran 2023 (ISO/IEC 1539-1:2023) は、2023年11月に発行された。対応するJIS規格は現在のところ発行されていない。Fortran 2023はFortran 2018のマイナーな拡張であり、Fortran 2018の誤りまたは欠落の修正と、いくつかの小さな機能の追加に重点が置かれている。非公式な説明が、Metcalfら (2023) の書籍にある。
Fortranの歴史 > 次のFortran規格

Fortran 202Y と仮称されている次の Fortran 規格は、2028年ごろに発行される見通しであり、ISO/IEC JTC 1/SC 22/WG 5 で具体案の検討が進められている。日本では、情報処理学会 情報規格調査会 SC 22/Fortran WG小委員会を中心に、WG 5 に進言するためのオープンな議論が行われている。
科学分野と工学分野での利用

1968年にBASICの作者等によって書かれた専門雑誌の記事でもすでに「旧式の（old-fashioned）プログラミング言語」と記述されていたが、Fortranは現在でも数十年に渡って使用されており、特に科学や工学のコミュニティでは、Fortranで書かれたソフトウェアが日常的に幅広く利用されている。ジェイ・パサコフ（英語版）は1984年に「物理学と気象学の学生はFORTRANを必ず学ぶ必要がある。大部分の成果がFORTRANで書かれており、科学者たちがPascalやModula-2などの他の言語に移行する可能性は極めて低い。」と書いている。1993年、Cecil E. Leithは、FORTRANを「科学計算の母語」であると評し、他の言語によって置き換えられる可能性は「永遠の希望であり続けるだろう」と述べている。
言語仕様の変遷

FORTRAN 66以降、ISO、ANSI、JISで仕様が制定されている。Fortranの言語仕様は、年代によってかなり変化して来ている。他のプログラミング言語で実装された構造化プログラミングの機能などがどんどん取り入れられて来ているからである。
FORTRAN 66とFORTRAN 77の言語仕様の詳細は、FORTRAN 77の言語仕様を参照のこと。
Fortran 90以降の言語仕様の詳細は、Fortranの言語仕様を参照のこと。
言語仕様の変遷 > 初期 (FORTRAN 66)

1966年にANSI X3.9-1966が制定され、JISとしては1967年に制定された。この時は、以下の3つの水準ごとに独立したJISが制定された。共通したタイトルは「電子計算機プログラム用言語 FORTRAN」だった。以下に水準間のおおよその違いを記す。
JIS C 6201（水準7000）
複素数型と倍精度実数型がある
DATA文と初期値設定副プログラム（BLOCK DATA文）がある
FORMAT文中の欄記述子にD,G,Aが定義できる
変数、配列手続き名は最大6文字
JIS C 6202（水準5000）
変数、配列手続き名は最大6文字
JIS C 6203（水準3000）
変数、配列、手続き名は最大5文字
論理型のデータ、論理式、関係式、論理IF文は使えない。
型宣言文がない。
EXTERNAL文がない。
3次元の配列がない。
名前付きCOMMON文がない。
文番号は4桁
COMMON文に配列宣言が使えない。
整合配列がない。
なお、1971、1976年に若干の改訂がなされている。
言語仕様の変遷 > FORTRAN 77時代

国際標準化機構（ISO）は、米国規格協会（ANSI）の X3J3 が作成した FORTRAN の規格 X3.9-1978 を ISO 1539-1980 として定めた。基本水準（subset language）と上位水準（full language）の2種類の水準からなっていた。これを基にして、同じく2水準の JIS C 6201-1982 が制定された。なお、1987年に、JISの分類が変更になり、この規格は JIS X 3001-1982 となった。内容には変更はない。
言語仕様の変遷 > Fortran 90時代

FORTRAN 77を基に他の言語の特徴を組み込み、言語仕様を近代化しようとしたが、そのため仕様がなかなか決まらず、1991年に ISO/IEC 1539:1991として制定された。JISではそれを受け、JIS X 3001:1994が制定された。
Fortran 90 から規格上の言語の呼称が頭文字のみを大文字とした“Fortan”に変更された。
言語仕様の変遷 > Fortran 95時代

JIS X 3001:1998は，Fortran 95と通称される規格を技術的内容および構成を記述言語以外は変更することなく作成された。該規格は一部例外を除きJIS X 3001 1-1994の上位互換拡張である。
言語仕様の変遷 > Fortran 2003時代

JIS X 3001:2009は，Fortran 2003と通称される規格を技術的内容および構成を記述言語以外は変更することなく作成された。当該規格は一部の例外を除いてJIS X 3001-1:1998の上位互換拡張である。
言語仕様の変遷 > Fortran 2008時代

対応するJISは制定されなかった。
言語仕様の変遷 > Fortran 2018時代

JIS X 3001-1:2023（2023年現在の最新改正版）は，Fortran 2018と通称される規格を技術的内容および構成を記述言語以外は変更することなく作成された。
Fortran と教育 > 教育向けコンパイラ

Fortranは、情報処理分野で広く使われていたため、学校や会社の教育（情報処理技術者向け教育）で利用された。教育向けには、より詳細なエラー情報を出すための拡張がWaterloo大学でWATFOR（後にWATFIV）コンパイラとして実装された。この実装は日本の大学でも使われた。
Fortranとスーパーコンピュータ

Fortranは科学技術計算用の言語なので、スーパーコンピュータでのプログラミング言語としてよく用いられる。実際、多くのスーパーコンピュータでベンダーが主に注力して提供されている言語は、C/C++およびFortranである。
C言語と比較すると、Fortranはスタック等を使わずに、コンパイル時に静的に記憶領域を確保するのが基本であった。そのため、自由度が高くあらゆる状況を想定しなければならないC言語と比べるとコンパイラはコードを最適化しやすいという利点がある。
Fortranの主な用途である科学と技術用の計算では配列を用いた演算が基本であり、ベクトル型スーパーコンピュータは、Fortranを使ったプログラムで使用することが多い。そこで、スーパーコンピュータの高速演算機能を有効に使うための工夫がなされた。その1つの例としては、自動ベクトル化機能である。ベクトル型のスーパーコンピュータは、多くの演算を同時に行うベクトル演算機能がハードウェアで提供されている。この機能を有効に使うために、FortranのDOループをベクトル演算装置で演算させるために、自動的にベクトル命令にする機能が提供された。また、DOループ内のベクトル演算に適さないものをDOループ外に追い出す機能などもある。たとえば、
DO I = 1, N
  A(I) = B(I) * C(I)
END DO
のようなDO構文は、ほとんどの場合、1から数個のベクトル演算命令にコンパイルされる。そのほかにもDOループの中にIF文を含むような例、たとえば、
DO I = 1, N
  IF (A(I) <= LIMIT) THEN
    B(I) = A(I) * Z
  END IF
END DO
のようなものもベクトル化できる場合がある。これは、いったんAの各要素がLIMIT以下かどうかを示すマスクベクトルを作成して、Aという配列（=ベクトル）に、変数Zの値を乗じるとき、マスクベクトルを参照するベクトル演算を行うことで、DOループをベクトル化する。
このような作業は、すべてコンパイラが行い、利用者にできるだけ負担をかけないようにしている。しかし、より高度なベクトル化を行うために、最適化を行う支援ツールが用意されている場合もある。
Fortranと日本語

コンピュータ上で日本語の文字を扱えるようになると、FORTRANでも日本語を扱う需要が出てきた。そのため、各社（メインフレームを作成していたメーカ）では、独自に言語仕様に日本語の文字を扱えるように拡張した。そのため、各社で日本語の扱い方が異なる事態になった。そこで、JEIDAでは1985年に、JEIDA-42で日本語FORTRANを策定した。
FORTRANで日本語の文字を扱う場合、識別子である変数名､仮引数名、プログラム名、関数名、サブルーチン名、共通ブロック名等には日本語の文字は使えず、データとしての日本語の文字列を扱うための専用の型（日本語型）、日本語の文字列を入出力するためのFORMAT文の編集子の拡張が行われた。
Fortranベースの言語

FORTRAN 77が登場する前にいろいろと作られたプリプロセッサはFortranをベースとしてよりプログラムが読みやすく書きやすい言語の形式を提供するために広く使われた。プリプロセッサで処理されたコードは、標準のFORTRANコンパイラを備えた任意のマシンに対してコンパイルすることができる利点を持つ。これらのプリプロセッサは通常、構造化プログラミング、6文字よりも長い変数名、追加のデータ型、条件付きコンパイル、さらにはマクロ機能などをサポートしていた。
ポピュラーなプリプロセッサとしてFLECSとiftran、MORTRAN、SFtran、S-Fortran、Ratfor、Ratfivがあった。例えば、RatforとRatfivはCライクな言語を実装して、標準的なFORTRAN 66コードを出力した。
LRLTRANは、ローレンス放射線研究所で、ベクトル演算および動的な記憶、システムのプログラミングをサポートする他の拡張機能を提供するために開発され、ディストリビューションにはLTSSオペレーティングシステムが含まれていた。Fortran 95規格は、任意の条件付きコンパイルの機能を定義するオプションパート3を備えている。この機能は、しばしば 『CoCo』と呼ばれている。
SIMSCRIPTは、大規模な離散システムのモデリングとシミュレーションのためのアプリケーションに特化したFortranのプリプロセッサである。
また多くのFORTRANコンパイラは、Cプリプロセッサのサブセットを取り込んだ。
Fortran言語の進歩にもかかわらず、プリプロセッサは条件付きコンパイルとマクロ置換のために使用され続けている。
プログラミング言語Fは、FortranのEQUIVALENCE文などの、冗長、非構造化、非推奨な機能を削除したFortran 95のクリーンなサブセットとして設計された。言語FはFortran 90で追加された配列演算の機能を使い、FORTRAN 77とFortran 90で追加された制御文を用い、構造化プログラミングのために廃止された制御文を削除した。設計者は言語Fを 『特に教育や科学技術計算に適した、構造化された配列プログラミング言語である。』 と述べている。しかしサブセット言語であるから，旧来のあるいはFで除かれた機能を含むFortranのソースコードは受け付けないため、実務用には普及しなかった。
HPF（High Performance Fortran)というFortran拡張系の言語もあるが、これもほぼ廃れた。
コンパイラディレクティブをFortran言語のソースコードに付加することでスレッド並列化をコンパイラに対して明示的に指示する、OpenMPやOpenACCなどの一種の言語拡張が近年盛んである。
CUDA FortranもNvidia社のGPUに特化してFortran言語の仕様をベースにして独自拡張されたものである。
主な処理系 > Windows

GFortran - Fortran95/77処理系、GCCのバージョン4.0.0以降より標準
G95 - GNUのFortran95処理系
FTN95 Silverfrost FTN95: Fortran for Windows
Open Watcom Open Watcom
Absoft Pro Fortran
Intel Visual Fortran
NAG Fortran
Lahey Fortran
主な処理系 > Linux

GNU Fortran (GFortran）- 自由なソフトウェア(Free Software)のGNU コンパイラ・コレクションの1つ。現在　Fortran 95 に2003や2008の仕様の一部を追加。
G95
Open Watcom Open Watcom
AMD の AOCC compiler (C/C++/Fortran) - Zen アーキテクチャ－以降のみ対応。
Intel Fortran Composer XE 2011 for Linux - 非商用利用に限り無償で使用可　(ifort) . Intel oneAPI に含まれる LLVM ベースのコンパイラ ifx への移行により廃止予定。
Intel oneAPI に含まれているIntel Fortran コンパイラ ifx (LLVM ベース）。
Oracle developer studio - 開発向けに無期限の無償ライセンス
NVIDIA HPC SDK - ライセンス契約への同意が必要  ※ nvfortran, CUDA Fortran を含む
Absoft Pro Fortran
Intel Visual Fortran
NAG Fortran
Open64
PGI Fortran ※ NVIDIA HPC SDKへの移行により販売終了。
un Studio
主な処理系 > その他

f2c - ベル研究所のFortran77をC言語に変換するトランスレータ
パンチカードに記されたFORTRANのコード。カラム1～5、6、73～80が制御用に確保されている。
IBM 704 メインフレーム
地球シミュレータスーパーコンピュータ
DOG HAIR DRESSERS

| DOG HAIR DRESSERS |
| --- | --- |
出身地:   日本 愛媛県
ジャンル:  J-POP ロック
活動期間:  1995年 - 2001年
レーベル:  SO What? Records （1999年 - 2001年）
共同作業者:  根岸孝旨、清水ひろたか

メンバー:  太田朝子（ボーカル・ギター 太田成義（ベース） 満田香理（ドラムス）
DOG HAIR DRESSERS（ドッグ・ヘアー・ドレッサーズ）は、日本のバンド。
概要

太田朝子と太田成義の姉弟を中心とするバンドである。
1995年に結成。
1999年7月、シングル『コッペル』にてSO What? Records（エピックレコードジャパン内のレーベル）よりデビュー。根岸孝旨、清水ひろたかのプロデュースによる2枚のアルバムを完成させるも、2001年12月31日解散。
2002年、太田成義は宮本賢士（ex.LOOP THE LOOP）とTEMPLE TAILを結成。
2018年11月29日、太田成義が死去。
太田朝子はaskfy名義で2022年にソロプロジェクトを始動。根岸孝旨と再タッグによる1st EPカセットテープをリリース。
メンバー

太田朝子：ギター、ボーカル
太田成義：ベース
満田香理：ドラム
ディスコグラフィ > シングル

|   | 発売日 | タイトル | 規格品番 | 収録曲 | 備考 |
| --- | --- | --- | --- | --- | --- |
| 1st | 1999年07月01日 | コッペル | ESCB-1993 |  コッペル  二人の間にあるもの  遠い空 |  |
| 2nd | 1999年10月21日 | オレンジジュース | ESCB-2017 |  オレンジジュース  ノイズギター  SUN’S SON |  |
| 3rd | 2000年05月03日 | BOARD GAME | ESCB-2129 |  BOARD GAME  GOOD ANOTHER DAY |  |
| 4th | 2000年10月18日 | ハードロック II | ESCB-2141 |  ハードロック II  インサイダー  PONK |  |
ディスコグラフィ > アルバム

|   | 発売日 | タイトル | 規格品番 | 収録曲 | 備考 |
| --- | --- | --- | --- | --- | --- |
| 1st | 1999年11月20日 | ギャザーシューズ | ESCB-2000 |  コッペル  オレンジジュース  ラージ・マウス  SWIMMER  4.8  遠い空(asanegi-mix)  どうして君の顔はかわいいのか?  トランポリン  ノイズギター  Girl  いつでも楽しく |  |
| 2nd | 2000年10月18日 | LOW-NIN | ESCB-2182 |  名もない声  ハードロック II  ボタン  PLANTER  ニュートリアル  雨  アンチサーファーガール  FADER  BOARD GAME  足りない  カーテン  マロンの森  夜明け  アリゲーター |  |
タイアップ一覧

| 使用年 | 曲名 | タイアップ |
| --- | --- | --- |
| 1999年 | コッペル | テレビ東京系『JAPAN COUNTDOWN』1999年7月度エンディングテーマ |
| 1999年 | オレンジジュース | TBS系『COUNT DOWN TV』1999年10月度エンディングテーマ |
| 1999年 | オレンジジュース | DDIセルラー「cdmaOne」CMソング |
| 1999年 | SUN'S SON | NHK総合（四国）『てれごじ。』オープニングテーマ |
| 2000年 | BOARD GAME | NHK-BS2『新・真夜中の王国』4〜6月度エンディングテーマ |
主なライブ

1999年08月02日 - ロックロックこんにちは! Ver.3.0
2000年08月23日 - ロックロックこんにちは! in 仙台
2000年10月21日 - MINAMI WHEEL 2000