fortran66のブログ

fortran について書きます。

令和時代の Fortran 振興

長寿の秘訣は疎結合

Fortran は歴史的に開発環境と疎結合になってきました。かつては、この特定の環境と疎な性質のため、I/O 装置が激変してゆく中でも時代を乗り越え易かったと思われます。

C 言語をはじめとする多くの言語では 1 byte = 8 bit な Unix 環境とは切り離しがたいものがあると思いますが、Fortran では語長が異なる機械が混在してもプログラムの可搬性が(結構)ありました。

(1990年代 中葉まで NEC の 6bit 単位系、語長 36bit の ACOS メインフレームの後ろに 8bit 単位系、語長 32bit の SX スーパーコンピュータがくっついて運用されていました。)

一方、環境との結びつきが疎なため、統合開発環境GUI、ライブラリ導入機能、プログラム文書化機能等が未発達になっています。

特にツール群が緊密に連携した GUI 的な統合環境のようなものに消極的であるため、これが新規参入者を阻むようになっているようです。

GUI は古くは、弱虫・意気地なしの意味の WIMP (Windows Icons Mouse Pull-down-menus) と呼ばれていましたが、未だ GUI 的な統合開発環境を不用視する気風が残っているのかもしれません。

開発環境開発

先日、Fortran REPL の試みを紹介しましたが、作者の Why we created LFortran を読むと、その動機が Fortran開発プロセスに対話性をいれて GUI 的なプロトタイピングを導入して、最近の人気言語の動向に追従しようという所にあるようです。

(Binder で試すとまだ整数の四則演算しかできないようですが・・・)

fortran66.hatenablog.com
lfortran.org

Damian Rouson による現代的開発ツール群利用の啓蒙活動も同じ方向を向いていると思います。
fortran66.hatenablog.com
www.eventbrite.com

(Rouson サイトからは、coarray fortran を試せる binder が起動できます。)

英計算機協会でもまた同方向の動きがみられます。
fortran66.hatenablog.com
fortran.bcs.org

本邦での試み

その様な中、本邦でも新しい運動が盛況のうちに行われたようです。メニューやまとめを見ると forpy や FORD のようなものも扱われたようで、とても興味深く思われます。

modern-fortran-local-user-group.connpass.com
qiita.com
note.mu

主催者の暗黙の型宣言さんの問題意識もまた上記の人達と同様に、言語文法のみならずツール利用やコミュニティー活動を含む現代的な開発環境形成にあるようで、行動力を見ても非常に心強く思われます。

先年末に主催された Fortran の Advent Calendar も盛りだくさんの内容です。
qiita.com

結論

令和時代にあっては、現代的便利ツール群の利用など、また新たなるアプローチで Fortran 振興がなされ、その恩恵に皆が授かれることを願うものであります。

Scientific Software Design: The Object-Oriented Way (English Edition)

Scientific Software Design: The Object-Oriented Way (English Edition)

Modern Fortran: Tricks of the Software Engineering Trade (Chapman & Hall/CRC Computational Science)

Modern Fortran: Tricks of the Software Engineering Trade (Chapman & Hall/CRC Computational Science)

Modern Fortran:: Software Engineering for Scientists (Chapman & Hall/CRC Computational Science)

Modern Fortran:: Software Engineering for Scientists (Chapman & Hall/CRC Computational Science)