学部生はFortranを学ぶべき?(スラッシュドットジャパン)より。Fortranを書く時に、念頭に置いて書けば幸せになれるかもしれないと思って引用。オブジェクト指向で書く辺りが実践しようにも実力不足なところかのぅ。implicit noneは結構なんだが、ユーザ関数の使用とかまで型宣言が必要とかメンドイ。どうにかならんものか。
Fortranについて思いついたことを箇条書きにしてみます。 * implicit none は使えよ * module は common の代わりに使うな * いいかげん大域変数(的なもの)を使うのはやめろ * 自由形式 (free form) で書け * 構造体 (type) を使え * 配列の範囲が自由 a(1:N), a(0:N-1), a(-N+1:N), a(3,0:N-1,0:N-1) とか * 配列の演算が楽 * module, interface を使えばsubroutoneの引数の不整合によるバグが避けられる * オブジェクト指向プログラミングしろ。Frotran2003ではもっと機能が強化される * 複素数がはじめから使える * 数学関数が豊富。C99と同じ数はあると思う * 拡張子を .F にしておけばCプリプロセッサが使える * make(1)にはFCとかFCFLAGSとかFortran用の機能もあるんだよ * autotoolsにも * LAPACKとかFFTWとかライブラリが豊富 * ポインタも使えるけど、そんなに必要ない。リスト構造を作るときぐらいかな * 基本、参照渡しだから * 動的にallocateした配列は基本的にはsubroutineの最後で解放される * 関数が配列を返せる [slashdot.jp] * read/write/他 でテキスト処理も実はまあまあできる * OpenMPで並列化できる * command_argument_countとget_command_argumentとでコマンドライン引数も扱えるようになった * FORTRANとFortranは使い分けてくれ * スパコンで使える。Cも使えるけど * いろいろな言語に挑戦してみてはどうか
Comment