ITSCJ Information Technology Standards Commission of Japan
English
ITSCJトップ 情報処理学会ホームページ ISO/IEC JTC1 サイトマップ
最終更新日 2009-12-25
Fortran標準化活動雑感

田中 稔(富士通(株))


 私がFortranの標準化活動に足を踏み入れてから間もなく20年の歳月が過ぎようとしている.会社の先輩から半ば強制的に引き継がされることになり,“すぐに後輩に押し付けてしまえば良いか”などと内心では良からぬことを考えていたはずなのに,気がつけばなんと20年,正直自分でも驚きである.良し悪しはあるが,そのおかげでFortranに関するいくつかの歴史的事件に遭遇することもでき,貴重な体験をさせてもらった.

 自分にとって最も大きな事件は,それまでFORTRANと書いていたものをFortranと書くように改められたことだ.Fortranの標準化活動に最初に足を踏み入れた1990年初頭は,ちょうどFORTRAN 77からFortran 90へとFortran国際規格の改正が行われた時期であった.それまでのFortran国際規格である,FORTRAN 77(1980年制定)は,既存の多くの処理系が提供していた拡張仕様を単に標準化したものと言われていた.一方,Fortran 90では,言語の近代化を狙ってAdaなど他の言語の仕様を積極的に取り入れ,いわゆる新言語の設計が行われた.Fortranにとっては極めて画期的な出来事だったに違いない.これを機に,一般名としての表記は,FORTRANからFortranに変更されることになったのである.これに倣って委員会の名称をSC 22/FORTRAN WGからSC 22/Fortran WGに改めたことが懐かしく思い出される.

 Fortran 90の制定後,改正作業に10年以上もの年月を費やした反省から,スケジュール重視の“train model”方式の採用も印象深い.各改正作業を5年ごと期日どおりに発車する列車に見たて,規格化に向けて随時蓄積している要求仕様の一覧から,そのときに設計が完了している言語仕様を“乗り込ませる”ことを考えたのである.その方式は,非常に合理的だった.実際,続くFortran 95は,その方式に基づいて改正作業を進め,1997年には思惑どおりのスケジュール重視で制定できたのである.さらに続くFortran 2003(2004年制定)も何とか思惑どおりのスケジュール重視で制定できたのであるが,一方で思わぬ弊害をもたらしてしまった.この最新規格であるFortran 2003では,流行のオブジェクト指向を取り入れるなどさらなる近代化が進められた.設計が完了していることを良いことに,過度に多くの言語仕様を詰め込んでしまったのだろう.実際,ほとんどの処理系が,この言語仕様を未だ完全には実装できていない.そんな中,2012年の制定に向け早くも次の改正作業(Fortran 2008)が進んでいる.ひょっとしたら,その方式による弊害なのか,列車が暴走を始めたのかと一抹の不安がよぎる.

 そんな不安とあいまって,Fortran 2008では,また新たな事件が起きようとしている.これまで一度書いたアプリケーションプログラムは,プログラムを書き換えることなく高性能な計算機に乗り換えれば,それだけで計算機の高性能化の恩恵を受けることができた.しかし,単一プロセッサだけでの計算機の高性能化に陰りが見え始め,演算性能が求められる分野では,複数のプロセッサによる並列処理が必要になってきた.一つのプロセッサパッケージ内に複数のプロセッサコアを搭載するいわゆるマルチコアプロセッサの登場も同様である.より高性能実行を求めるため,いよいよアプリケーションプログラムの書き換えが必要になってきたのである.Fortran 2008では,並列アーキテクチャを意識した仕様が盛り込まれようとしている.私の知る限り,これまでのFortran規格の言語仕様には,ここまで計算機のアーキテクチャに依存する仕様はなかったはず.Fortranにとって,吉と出るか凶と出るか,いずれにしても新たな時代の幕開けとなりそうである.

 このようにFortran規格の歴史をちょっと振り返るだけでも,その時代の事情が見え隠れして実に面白い.


BackPage Top

社団法人 情報処理学会 情報規格調査会
Copyright(C) 2000 Information Processing Society of Japan All Rights Reserved
スタッフへのメールはこちらへ