得意なことだけやらせよう

windowsで動作するツールをつくる時に、バイナリですべてつくるって方法もあるけれども、普通はスクリプトを作って、バイナリを利用するって形になる。
たとえば、簡単なツールの一例として、データベースから値を取ってくるバイナリなアプリを、スクリプトから実行させて、とってきた値をバイナリなアプリに渡すようなものは非常によく作られる。データベースからIPアドレスリストを取得して、取得したIPアドレスpingするなんてツールはよく作られているだろう。
んでもって、よく見かけるのは、そのスクリプトが苦手としている処理を無理やり作っちゃうパターンだ。
windowsで作るツールといえば、まず最古参なのがバッチだ。んでもって、バッチはその性質上、ファイルに記載された情報を使うのが苦手だ。また、コードの再利用を構造的に行うことも苦手だ。
windowsスクリプトや、powershellなら簡単に作れるのに、バッチで苦労して実装しているのを見ると、無駄なことやってんなーと思う。テキスト読んだり書いたりexcel操作するならvbsだし、まともな制御したいならpowershellだし、guiつかいたいならhtaもある。
バッチが苦手とする分野はバッチにやらせるべきじゃない。そこにこだわっちゃうと、作れるツールの上限が著しく下がっちゃうよ、と思うのであった。
まあ、結論としてはbashサイコーということだ。