私は、航空宇宙工学の分野に興味のある機械工学の学生で、Fortranがまだ一般的に使用されていると言われています。
どのバージョンのFortranを学習するために時間を費やすべきですか?
私は、航空宇宙工学の分野に興味のある機械工学の学生で、Fortranがまだ一般的に使用されていると言われています。
どのバージョンのFortranを学習するために時間を費やすべきですか?
回答:
知っておくべきFortranの「バージョン」があるというのは、一般的な誤称です。まれな例外を除き、最新のFortran標準(およびコンパイラー)は、古い標準との優れた後方互換性を保持しています。これには十分な理由があります。現在使用されている大量のレガシーコードがなければ、Fortranを今日使用する人はあまりいません。つまり、標準に準拠したFortran77コードは、ほとんど常に最新のコンパイラーで動作します。
使用可能な言語の最新バージョンを使用することを学ぶ必要があります。F2008は初心者にとって恐ろしい有用なものを何も追加しなかったかもしれませんが、F2003のオブジェクト指向の概念の導入は間違いなく大したことです。「Modern Fortran Explained」は開始するのにふさわしい場所であり、「科学的ソフトウェア設計:オブジェクト指向の方法」は実際にそれを実践することを学ぶのにかなり良いです。
実際には、レガシーコード(たとえばF77以前)で作業する場合、ある時点でF90 +機能が不足しているためにそれらが行ったことのいくつかを学ぶ必要があります。たとえば、何かのためにFortranコードを書いている場合、「COMMONブロック」と呼ばれるものは決して使用すべきではありませんが、使用する必要のあるF77コードでそれらが必ず表示されます。
少なくともF90 / 95の機能セットがなければ、Fortranで作業を始めることはお勧めしません。
ただし、他の言語でのプログラミングに精通していない場合は、航空宇宙を追いかけても、Fortranは最初に学ぶのに最適な言語ではないというコンセンサスを見つけるでしょう。(そして、Fortranを定期的に使用し、それを私の第一言語として使用した航空宇宙の誰かとして)
私はあなたの両方に同意しません。C ++とPythonは、まだFORTRANほど最適化されていません。FORTRAN 90/95が最小であることに間違いなく同意します。ただし、他のより新しいバージョンを使用することは常に役立ちます。FORTRANの課題は、オブジェクト指向言語を学習する前に学習すれば理解しやすいことです。オブジェクトについて考えることに慣れているかどうかを学ぶことははるかに困難です。ここでスーパーコンピューティングクラスを教え、学生にFORTRANの使用を強制します。プログラミングで異なる種類のロジックを使用するように強制します。PythonやC ++のように「考えていない」ので、彼らはそれを好まない。それはすべて、本当にあなたが何をしようとしているのか、そしてどの程度の視差とパフォーマンスが重要なのかということです。