神様を捨てろ

 人は最初にシンプルな機能を持つクラスを作る。そして、ある時、そのある種の機能が必要になったとき、そこに安直にメソッド(機能)を付け加えてしまう。
 これは最初はただの一機能であったものが最終的には「何でもできる神様」になってしまう始まりを意味している。
 一度それをしてしまうと、それ以降も既存のクラスにメソッドを付け加えていくことはたやすいことで、しかもそれを同時期に多数行うのではなく、少しずつ長い時間をかけてメソッドを加えていく事でそれはいつの間にか「神様」になってしまう。
 神様は何でもできるため、あらゆるものが依存し始める。神様がいなくては何もできない、というような自体に陥る。平民は全ての事を神様に問い合わせたり神様にお願いしなければならなくなる。
 こうした神様は捨てなければならない。神様としての力をそぎ落とし、正しい役割を持つ存在に昇華しなければならない。

 こんな「神様」を作ってしまうのは「手続き型言語」のセオリーのまま進んできた人間の弊害だと思う。必要な機能をそこに集約する。そうした事は以前は頻繁に行われてきた。
 1つのソースファイルにどんどんと機能を詰め込んでいく。要するに「○○に対する神様」「××に対する神様」そうした複数の神様をドンドン生み出してしまう。神様は偉いのでみんなが神様を崇める。神様を利用する、神様にお願いをする。神様はよしよしとさらに力を強める。

 人は神様を捨ててただただそれだけをするしか脳のないものを作り出さなければならない。
 それが今の時代に求められていることだろう。