FORTRANの勉強

ちょっとだけやってみた。でもすぐ飽きた。
FORTRAN77を使ってみたものの、超使えない。何アレ。再帰呼び出し出来ないじゃん。と思ったら、間にラッパ関数をかませれば可能と言うクソ仕様。
具体的に言うと、

        FUNCTION IFIB(I1)
          INTEGER TMP1, TMP2, IFIB
          IF (I1 .LE. 1) THEN
               IFIB = 1
          ELSE
               TMP1 = IFIB(I1 - 1)
               TMP2 = IFIB(I1 - 2)
               IFIB = TMP1 + TMP2
          ENDIF
          RETURN
          END

コンパイル通らないんだけれども、

        FUNCTION IFIB(I1)
          INTEGER TMP1, TMP2, IFIB
          IF (I1 .LE. 1) THEN
               IFIB = 1
          ELSE
               TMP1 = IFIB2(I1 - 1)
               TMP2 = IFIB2(I1 - 2)
               IFIB = TMP1 + TMP2
          ENDIF
          RETURN
          END

       INTEGER FUNCTION IFIB2(I3)
         IFIB2 = IFIB(I3)
         RETURN
         END

はきちんと動く。使えない・・・めちゃくちゃ使えない・・・
言語として欠陥があるとしか思えないのですが。なお、FORTRAN90では使えるそうですが。いや、そんなの当たり前だし。