予防線: 個人的な印象です.
Fortran とは
1950年代から主に数値計算関連で使用されている言語です.
実は, 2025年になっても未だに使われてます.
一部では古いとか強制的に使わせられるとかでヘイトを溜めていることもあるとかないとか...
なぜFortran は使われ続けているか
簡単, 単純に書けるから
C, C++ 言語よりも単純で, 四則演算程度なら困らないです.
数値計算なんて四則演算以外はしないです...たぶん...
速いから
すべてのプログラミング言語の中で一番速いです.
数値計算で他に一番速い言語は他にはC, C++ (数値計算以外ならRust).
Julia は近年, 数値計算関連で使われてきていますが, 頑張らなければ速くないはずです.1
また, CUDA Fortran もあり, Nvidia の GPU で並列計算もできます.
スパコンで動かせるから
スパコンで超並列に動くので, 大量の計算を日々しています.
他の言語は遅かったり, スパコンに無いです.
スパコンは使用時間の制限がかかっているはずなので(24時間制限や時間で課金されるなど), なるべく速いプログラムを書く必要性に駆られます.
遺産がたくさんあるから
数十年前のプログラムでも動く可能性が高いです.
遺産を活かせるかどうかは不明です.
書き換えるメリットが少ないから
既存のプログラムが動くなら, 書き換えたり言語移植したりするメリットが少ないです.
そんなことよりも研究をするモチベーションの方があるでしょう.
(最近では数値計算のライブラリなども業績になる場合がありますが, 書き換えや他言語移植はどうなんでしょうか...)
なぜFortran は古い言語と思われているのか
数値計算以外では使われないから
四則演算以上のことをする場合は, Fortran でイチから実装する必要があるかもしれません.
素直に別の言語を使いましょう.
数値計算以外ではメリットが少ないから
数値計算以外では書きやすさやコード変更の柔軟性などが必要になる上, コードの速さはそこまで重要ではないのでメリットがありません.
Fortran の倒し方
てきとーに考えると以下のような方法があるかもしれません.
- Julia がなんかめちゃくちゃ速くなる.
- Python がなんかめちゃくちゃ速くなる.
- AI がなんとかしてくれる.
- C, C++ が赤ちゃんにも書けるようになる.
などなど.
今からでもFortran を使おう
利点
- C, C++ よりも書きやすい.
- C, C++ は機能が過剰すぎるかも. 低レベルやポインタなど.
- 速い.
- スパコンで動く.
- 数十年前のプログラムも動く可能性.
欠点
- Fortran レベルの速さは必要ないかも.
- プログラム自体の速さよりも, プログラムを書く速さの方が求められているかも.
結論
結局, プログラミング言語の得手不得手を見極めて, 言語選択をすることが大事です.
古いというのは使わない理由にはなりません.
新しいというのは使う理由にはなりません.
目的に応じて使い分けましょう.
-
Julia の利点はプログラムの書き換えやすさがあるので, 棲み分けはできている気がします. ↩