世界初の高水準言語「Fortran」が考案から約70年経ってもいまだに使用されている理由とは?
1954年に考案され、広く用いられた世界初の高水準言語が「Fortran」です。多種多様なプログラミング言語が存在するにもかかわらず、考案から約70年が経過した「Fortran」が依然としてプログラマーに愛用されている理由を、カリフォルニア工科大学のMartin D. Maas氏が解説しています。
5 Reasons Why Fortran is Still Used
https://www.matecdev.com/posts/why-fortran-still-used.html
Fortranは古いプログラミング言語ですが、高度な計算に特化しており、物理学科やスーパーコンピューターの研究機関、政府機関などで2022年時点でも用いられることがあります。Maas氏はFortranの歴史と強みを説明するとともに、Fortranが今後も維持されるのかについて5つの点から解説しています。
◆1:性能重視の文化の中で築かれたため
Fortranでは最適化が重視されていたため、コンパイラでコードを最適化できるようになっていましたが、それ故の制限が多く存在しました。この制限により、C言語などの他のプログラミング言語では可能な「遅いコードを自由に書くこと」といったことが、Fortranでは困難です。高性能ではあるものの融通の利かないFortranと、自由度が高いC言語という図式が長らく成り立っていたため、用途に応じてFortranは長らく求められてきたというわけ。しかし、理論と実践によりコンパイラが改善されてきたことで、近年ではFortran以外の言語でもコードの最適化などの生産性を向上させる機能が実装されるようになっています。
◆2:科学的な情報処理ではC言語やC++よりも使いやすい
Fortranと競合した「速い」言語はほとんどC言語やC++でした。C言語やC++は汎用(はんよう)的なプログラミングを行う際には非常に便利だとされている一方で、多次元配列や複素数を扱うような科学的な計算を行うのに不向きとされています。しかし、Fortranはほぼ初期からこれらの計算やいくつかの特殊関数をサポートしてきました。その後、C言語やC++も複素数に標準対応したり、C++23では多次元配列が一部標準対応したりと開発が進められていますが、Fortranにはいまだに追いついていないのが現状だそうです。
◆3:コードの長寿命化と後方互換性
科学技術での計算において、寿命が長く、何十年ものあいだ変わることなく動作確認が可能なコードはとても望ましいこととされています。Fortranは後方互換性を厳格にすることで、長期的なコードの寿命を保証しているため、多くのプログラマーに愛されているというわけ。
◆4:共配列による分散メモリ並列処理
Fortran 2008では、分散メモリシステム上の並列処理を言語の一部として追加する、「共配列」とよばれる機能が導入されました。最新版のFortranでは、既存のシングルスレッドまたはマルチスレッドのコードを分散メモリ並列コードに変換することが容易になっており、これらもFortranの強みのひとつとなっています。
◆5:Fortranは今も進化している
Fortranは考案から約70年が経過しているにもかかわらず、今でも活発に開発されています。また、Fortran標準委員会が定期的に言語の改訂を行っています。
しかし、Fortranには構築システムや最新のツール、活発なオープンソースのコミュニティー、標準ライブラリが不足しているとされており、Fortranをインターネット時代に適応させるためには、十分な数のFortran開発者がオープンソースの文化を採用する必要があるとされています。そのため、Maas氏は「今もFortranが使われ続けているのには正当な理由があります」と述べる一方で、「Fortranが使われ続けている理由の一部や全部が他の言語によって取って代わられる可能性があります」と指摘しています。
・関連記事
Pythonがプログラミング言語の人気ランキング「TIOBE Index」で20年の歴史上初めて1位を獲得 - GIGAZINE
Nature誌が選ぶ「科学を変革したコンピューター技術10選」 - GIGAZINE
ソフトウェア開発がもたらしてきた功績の歴史をひもとくムービー「The Art of Writing Software」 - GIGAZINE
・関連コンテンツ
in ソフトウェア, Posted by log1r_ut
You can read the machine translated English article What is the reason why the world's f….