グローバル変数
これを安易に使うと自分もみんなも
プログラム
も爆散して死ぬ
名前空間
が広すぎる
どこで変更が加えられたかわからない
デバッグ
がしにくい
使うときは本当に必要かよーく考えよう!
関数
に渡して引き回せないか
クラス
のメンバで十分ではないか
Haskell
はそもそもグローバル変数が無理なので ReaderT モナドとかでがんばろう
各言語それぞれパターンとしてグローバル変数を回避する物があるのでそれを知ろう
組み込み
の場合は使うのもやむなし
1プロセスを小さくせよ