日曜プログラミング

休日趣味でやってるプログラミング関連記事をダラダラと

変数をいつ破棄するか

Clojure と言うよりプログラム一般の話で Lisp やろうがやるまいが今更な話な気もするけど。

lisp 界隈では変数は基本関数内に収まってて関数内で一時変数使いたい時なんかも let や
そこから派生する with- 系マクロを使うのが普通みたい。

これってプログラミングで良い慣習とされるファイルオープンとかで開いて必要なくなったら
明示的にクローズしろ、ってをカプセル化してるんだなあとプログラミング Clojure を読んでてふと思った。

確かにほったらかしてマズいものだったら使う範囲明確にしろよ、ってのは自然な考えなのかも。
他言語でもブロックとかで指定できる事もあるが、lisp のは最初から決めておけ、ってのが
カッチリしてるとも言えるし範囲指定できる分柔軟であるとも言えるのかな。

とりとめのない話でした。