Fortran

succeed氏が FORTRANの勉強で、Fortran再帰ができないことをぶつくさ。

FORTRAN77を使ってみたものの、超使えない。何アレ。再帰呼び出し出来ないじゃん。と思ったら、間にラッパ関数をかませれば可能と言うクソ仕様。

C言語なんてナウい言語に慣れているからあれだけれども、実は Fortran77 にはスタック領域という概念がなくて、メモリをべったりと使っていたらしい。つまり、すべて static 変数。
さらに返り値が関数名だから、もともとは末尾再帰はできないが、相互末尾再帰ならば可能という謎仕様。

現在のコンパイラは賢くなっていて、ちゃんと関数呼び出しをスタック領域でやるらしいです(顔。そして、recursive というオプションをつければ再帰呼び出しできるらしい。

まあ、ようするにだ。C言語C++言語なんて、情報科学科の米澤先生のお言葉を借りれば、

C、C++...
止むを得ない場合に、ためらいつつ使う
・例1:すでに C で書かれたプログラムを元にして何かするとき
・例2:プログラマが C 以外知らないとき

言語なのでありますが、スタックといった観点から見ればやはり富豪な言語なのでありますなあ。