書き捨て上等、awk そして VBA

こんな記事を見かけて思ったことhttp://gihyo.jp/dev/column/01/prog/2009/051501。記事の中で触れられている雑誌の記事は読んでいないけれど。

私は awk が好きだ。何かテキスト処理をしなければならないとき、たとえば、ログを解析するとき、まず使うのは awk。ちょっと機能が足りないかな、と思って、それでも頑張って、どうにもならなくなってからしぶしぶ perl に切り替える。

で、awk を使うとき、基本的にその場その場で必要に応じてスクリプトを書き捨てる。データに強く依存したスクリプトを、その場で作って、そして一緒に (同じディレクトリに) 置いておく。再利用なんて考えない。もちろん、同じ形式のデータをいじることがあれば、同じディレクトリで作業するので、同じスクリプトが使われる。そういう意味での再利用はするが、スクリプトの構造なりサブルーチンなりを再利用しようなどとは思わない。再利用すべきものは、すべて awk 本体が持っていると考えるべきである。

で、見た目も系統も awk とはまったく違う VBA においても、まったく同じように考えることができる。再利用なんて考えてはいけない。書き捨てるべき。データと強く結びついたプログラム。VBA の場合は実際にファイルとしてデータとプログラムが一体化している。

VBA で DRY ってゆーのは、必要なデータはそのアプリケーションの標準的な形式のまま (Excel ならシート)、プログラムから利用して別のデータにする、ってことなんだろうな。