大域変数を使うなとか、GOTO文を使うなとか言うのは、ワンフレーズプロパガンダだから話半分でいい。
ただ、なんで駄目なのかピンとこないうちは使わないほうが良く、ヤバさを感じ取れるなら使っておk


77までのFORTRANで引数にしないで大域変数にしがちだったのは、構造体がなかったためでもある。

構造体が無いと、深いルーチンでしか使わないパラメータの束を、引き渡すためだけに、
それを使用しない親ルーチンの引数としてだらだら並べないといけなくなって見苦しく面倒になる。
そこで構造体がわりに名前付きCOMMONに固めて渡したりした。

何を引数で渡して、何をCOMMONで渡すかはセンスの問題なので、一定の方針を決めた上で好きにすればいい。