機械

xxxという関数をyyyという名前に書き換えたいときに、xxxを消してyyyを書く、という風に作業するのは良くないと思う。x to y、という抽象的な命令を機械に下すことを考えたい。例えばFooという機能があったとして、この機能はログインが必要だということになれば、Add auth to Foo、という感じの概念を命令したい。新しいものを考えるときの発想はボトムアップに生まれたほうが、つまり脳のシナプスとかいうものに独創させたほうが良いと思うが、概念を現実に具現化するときにはトップダウンに行われた方が良いと思う。全く同じことを2度命令して、全く同じ結果を返すようなものに、そういう仕事を任せたい。現在の実装を理解して実際にそれを編集するのは常に特定の同じルールに従って動く者、つまり機械に行なってほしい。編集する人が変わればできるものも変わってしまう。それにコーディングスタイルを揃えるのに人間の貴重な時間を費やすのは良くない。ボトムアップ型の、人の脳を模倣した仕組みで動作する機械が未だ存在しない以上、そういう風に分担していくのが良さそう。僕達は突然変異を起こすことに時間を割き、機械は常に同じ規則の元で処理を行なっていく。