なぜFORTRAN77を教えるべきでないか
最終更新日(書きかけ): 2001-05-10 / 作成開始: 2001-05-06
もう1980年生まれの学生が入学しているというのに、
大学のコンピュータ教育といえば
千年一日の如くにFORTRAN77だけを教えているところがある。
そんなにFORTRAN77はすばらしいのか? いや、断じてそんなことはない。
- 変数名が6文字までしか認識されないので、
意味のある名前をつけるのが難しい。
- 宣言していない変数を使っても
エラーにならないし、警告さえ出ない。
そのため、打ち間違いがあっても発覚しにくい。
- 大文字と小文字を勝手に同一視する(というか、
小文字というものが世の中にあるとは思っていないようだ)。
- 構造化プログラミングがしにくい。
たとえば WHILE-BREAK構文を
行番号なしで書くことができない。
- 行番号を使わずにループを作ることができない。
もっとも、今では
たいていのコンパイラが DO-ENDDO構文を
サポートしているが、
これはFORTRAN77の正式な規格ではない。
- メモリの実行時割当ができない。
このことは、配列寸法がコンパイル時に固定されてしまうことを意味し、
汎用性のあるプログラムを書くのに妨げとなる。
- 書式指定が非常にやっかいだ。
FORTRAN77以外の言語を教えるのに反対する先生がたは、
いちど書店のコンピュータ関連書のコーナーに行ってみると良い。
FORTRAN77の本と他の言語(C言語など)の本の分量では
全く比較にならないことが分かるはすだ。
それでも、あえてFORTRAN77にこだわる理由は何か?
私には次の3つしか考えられない:
- 知的怠慢。
遠い昔にFORTRAN66を習ってからこのかた、何も勉強していないので、
FORTAN77が最新のすばらしい言語だと信じて疑わない。
- 学生をプロの数値計算屋に仕立て上げ、
FORTRANで蓄積された数値計算ライブラリを継承させようと
本気で考えている。
- 私などには想像もつかないような深い理由がある。
どういう理由にせよ、FORTRAN一本槍の教育によって将来困るのは学生である。
もちろん、第2言語としてFORTRANを学ぶのは悪いことではないし、
多次元配列や複素数が標準機能として備わっている点は
FORTRAN系の言語の大きな利点には違いないが、それでさえ、
FORTRAN77以外のコンピュータ言語に対する絶対的な利点だとは
到底言えないはずだ。
不幸にして、FORTRAN77以外の言語を
教えようとしない大学に入ってしまった学生には、
授業などあてにせず、
自分でC言語またはFORTRAN90を勉強することを私は勧めたい。
リンク
[FORTRAN77]
[ホームページへ]