Fortran 90, Fortran 95 等は勉強したが、その後の Fortran 規格がどうなっているのか、差分情報だけを知りたいという人のために役に立ちそうな情報を紹介します。
前置き
Fortran の ANSI/ISO 規格は、FORTRAN 66 から存在します。これが世界最初の電子計算機言語の規格となります。その後、現在までに FORTRAN 77, Fortran 90, Fortran 95, Fortran 2003, Fortran 2008, Fortran 2018 の規格が存在します。また来年 Fortran 2023 規格が採決されることがほぼ確定となっており、さらにその先の Fortran 202X 規格に向けての話し合いが始まっています。
FORTRAN 77 から Fortran 90/95 へは文法的に大きな飛躍がありますが、和書の教科書も多く出版されているため知識のアップデートは難しくないと思われます。
Fortran 90/95 から Fortran 2003/08 へも文法的な飛躍が大きいのですが、こちらは余り和書も出ておらず、知識のアップデートが簡便に出来なくなっています。
Fortran 2003 のオブジェクト指向についての和書は、Qiita でもおなじみの implicit none さんの同人誌「Fortranによる実践オブジェクト指向プログラミング」があげられます。最近出た「みんなのFortran」(松本敏郎・野老山貴行著)は、Fortran 2008 対応で coarray にも触れられていますが、オブジェクト指向の記述は略されています。
以下では、英文献になりますが、Fortran 90 以降の各規格の差分情報を挙げます。
みっちりコース Fortran Explained シリーズ
Michhael Metcalf と John Reid (のちに Malcolm Cohen 参加)が各 Fortran 規格毎に出し続けている Fortran Explained 本は、おおよそ本の前半がこれまでの規格の内容、後半に新しい規格に関わる内容が書かれています。差分情報を知るには後半部分を読めばいいことになります。
- Fortran 90 Explained (差分無し)
- Fortran 90/95 Explained 1st edition (11章より 95 の差分)
- Fortran 90/95 Explained 2nd edition (12章より Techinical Report 拡張の差分)
- Fortran 95/2003 Explained(13章より 2003 の差分)
- Modern Fortran Explained(18章より 2008 の差分)
- Modern Fortran Explained Incorporating Fortran 2018(20章より 2018 の差分)
文法書に近い内容で、新しく入った関数なども網羅的に載せてありますが、通読するには退屈だと思います。しかし規格制定の中枢にいる人たちが書いているので、例題などは的確なものになっていて理解が深まります。
お手軽コース The New Features of Fortran シリーズ
Fortran Explained の著者の一人、John Reid が出している The New Features of Fortran XX は新規格の差分の目玉だけをまとめたもので、無料で手っ取り早く情報を得るのに適しています。ISO の Fortran Working Group のサイトにあります。
Working Group での話し合いの進展とともに内容が更新されるので、同じ表題の文書が複数存在していますが、最新のものだけを見ればよいと思います。
-
The New Features of Fortran 2003
https://wg5-fortran.org/N1601-N1650/N1648.pdf -
The New Features of Fortran 2008
https://wg5-fortran.org/N1851-N1900/N1891.pdf -
The New Features of Fortran 2018 (Reid - Replaces N2145)
https://isotc.iso.org/livelink/livelink?func=ll&objId=19867230&objAction=Open -
The new features of Fortran 202x(Fortran 2023 相当)
https://wg5-fortran.org/N2151-N2200/N2194.pdf
Fortran 95 版は見当たらないので SilverFrost のまとめページを貼っておきます。
- What's new in Fortran 95
https://www.silverfrost.com/ftn95-help/f95/contents.aspx
なお、英文を何ページも読むのはだるいという場合は、同趣旨の内容の発表スライドが代用になると思われます。
-
the latest Fortran Standard (Fortran 2003)
https://www-users.york.ac.uk/~mijp1/COL/fortran_2003.pdf -
The new features of Fortran 2003
https://fortran.bcs.org/2007/jubilee/newfeatures.pdf -
The new features of Fortran 2015
http://armnlib.uqam.ca/PDF/The_new_features_of_Fortran_2015_Reid.pdf -
Further interoperability features in Fortran 2015
https://fortran.bcs.org/2015/BCS15interop.pdf
まとめ
以上、Fortran 規格の知識のアップデートに役に立つと思われる差分情報をまとめてみました。
Modern Fortran Introduction 等で検索すると、世界各国のスパコンセンターの講座が引っかかりますが、初歩から始まる迂遠なものも多いので、すでに旧規格を知っている場合、差分情報だけの方が役に立つこともあろうかと思います。