Lightweight Language Lovers
As a writing document ~すばらしき平スクリプト達~
- 最近痛感したのは、スクリプトを書くという行為は同時にドキュメントも残していっていることでもあるということです。
EXCELだとほとんどマウス操作だけで出来る簡単なデータ加工でも、スクリプトだとそれなりにタイピングする必要があります。
しかし1年後、同じ加工を別の人に頼もうとしたらどうでしょう? メモなどの形で残しておかなくてはなりませんね。1年に1回の作業だと面倒だし、記述漏れの可能性もあります。- スクリプトなら、それ自体がドキュメントとなってくれます。しかも、記述漏れのない最大限に正確なドキュメントです。
- この目的には記号を嫌うPythonの良さが際立ちます。「$,%,@」等の記号は、知っていなければ何を表しているかまったく分からない暗号のようなものですが、Pythonはそのような記号をあまり使用しません。Pythonのことをまったく知らない人にも、ある程度、何をしているか位は把握してもらえそうです。
これは別にそのような文法を持つ言語をけなしているわけではありません。実際、「プログラミングPerl」にも、「この様な記号を忌み嫌う人がいるが、たくさんの利点があるのだ。文字列の中にそのまま埋め込め、一目見ただけでその変数の種類が分かるし・・・」と書かれていて、その通りかなとも思います。ただ、これの行き着くところは正規表現です。(前出の本の中に「回線ノイズと見誤って・・・」という記述があって思わず笑ってしまいます)計算機に対する表現力は非常に優れていますが、普通の人に対する表現力はほとんどゼロです。私は、Pythonが正規表現を使うほどでも無いケースでは使わずに済ませられるよう、豊富な文字列操作メソッドが用意されているのは、とても優れた設計だと思います。
「平スクリプト」という名前は、関数、クラスや、いわゆる
「この部分はこの命令を使えばこんなに簡潔に書けます」
的な"高級な"機能を使っていない、上から下に見ていける平易なスクリプトという意味で名付けてみました。
- たくさんの機能を盛り込んだ汎用的な殿様スクリプトを一つ作っておくよりも、このような平スクリプト達を手持ちの駒としてたくさん持っておいたほうが、いざという時にありがたさが身に染みることでしょう。
- かつて私もこのこと(スクリプトのドキュメント性)に気が付いていなかった頃、同じ記述の繰り返しをできるだけ無くそうと、CSVファイルを処理するのに、xml.sax を真似て大げさなハンドラーを書いたりしていましたが、今見るとほとんど理解できません。 (他のファイルを開かずに)「一画面で見渡せる」、というのは非常に大きなメリットです。この程度のスクリプトなら手順書を書いていると考え、平易に書いたほうが良いと思います。