「学校を出よう」の1巻で抜水優弥は「人生そんなもんです」と「人それぞれです」のどちらが最強の言葉かを問うているが、私が思うに「人それぞれです」は「人生そんなもんです」よりはるかに強力だ。
「人生そんなもんです」は確かに収集のつかなくなった議論を強制終了するための有効な呪文である。しかし、この言葉は新たな問題を発生する可能性を秘めている。「本当の人生はそんなつまらないものではありません!」、これだ。得てして議論好き(それも収拾のつかなくなるような)には生真面目な人間が多く、声高にこう叫ぶ可能性がある。こうなると今度は「本当の人生とは」というさらに不毛な議論をする必要が発生し、事態は一向に収拾しない。
対して、「人それぞれです」と述べることは「人それぞれです」という意見そのものにより正当化される。この呪文に対するあらゆる反論は、その反論を認め、さらにそれを「人それぞれ」である根拠とすることにより、全て無効化される。「懐疑論者は懐疑主義をも懐疑する」という言葉は、懐疑論は自身を持って自ら主張の正当性を失おうとしている事を表しているが、「人それぞれです」はこれと逆の手順を踏むことにより、自身をもって自らの主張を根拠付け、完結した環構造を形作っている。これは言い換えれば「メビウス1、エンゲージ」であり、格好よく言いたいならば「全ての事象はウロボロスに帰着する」などと哲学チックに言ってみればよい。「人それぞれです」を持ちいれば「本当の人生とは」や「本当の愛とは」などという不毛な議論も一瞬でkill出来るというものだ。
「人それぞれです」がここまで強力なのは「主観は決して他者と共有されない」という客観的事実に基づいている。どこまで行っても主観は他者と交わることなく、この世界を客観的に観測する人間は存在しない。一般に客観と呼ばれるものは、あくまでも大多数の主観が認める状態であり、真に客観的視点を持って物事を見ている訳ではない。皮肉なことに、「客観的な何か」を定義する議論に限って、「人それぞれです」と言いたくなるような物になりがちである。
「人それぞれです」を論破するにはPSYネットに接続するとか、心の壁を中和して謎の液体になるとか、「ネットは広大だわ」と呟きつつ広大なマトリクスの向こう側に旅立つとか、そのような手段をとる必要があると考えられる。残念なことにこれらの(なんとなく)「絶対的な客観」を生みそうな手段は現時点では存在しないため、当分の間は「人それぞれです」が最強の呪文として君臨するだろう。
とりあえず、困ったときには「人それぞれです」と言ってみるといいと思う。
オブジェクト指向な思考を練習中というか、Javaの本を読んでオブジェクトの概要をおぼろげにを掴んで、PHP4のオブジェクトがいかに中途半端だったのかを知った。それに比べて、さすがというか、PHP5はよく出来てるし、コンストラクタの名前とかはこちらの方が便利では無いかとも思う次第。
次に、JScriptのプロトタイプベースというか、何でもかんでもオブジェクトにしてしまうという初心者からすると大混乱の状況を何とか乗り越えた(やはりオライリー本が1番良い)。たぶん。prototypeはメモリの共有という点ではJavaでいうstaticな雰囲気だけど、インスタンス無しでは呼び出せないという点においてまったく違うものらしい。インスタンスごとにメソッドまでプロパティとしてメモリ領域を確保していたらもったいないので存在するだけだそうだ。そもそも最初はstaticの使い道が良くわからなかったのだが、クラスとは関係有るがオブジェクトを直接いじるわけではない関数、という認識でいいのかな。
それにしても、staticとか抽象クラスとかインターフェースとか、とりあえず、デザインパターンの本を読まないと実際に使いこなすのは難しそうだ。今悩んでいるのは、今までの「処理が長くなるし、似たようなことを何度もするから分割して関数にしちまえ、そのその方がコードが読みやすいぜ」的関数はstaticにすべきなのか、それとも単純に外部から隠したprivateなメソッドにするべきなのかどちらなの? という点で、たとえば、コンストラクタが長くなるのが嫌だから似たようなメンバ変数(ここら辺の名前が言語ごとに違うのは一体なんの策略なのだ)の初期化をするために関数を作ったのはいいけど、これってオブジェクト自体をいじるわけではないから、従来的に引数を処して処理結果をreturnしてくれる関数をstaticに宣言すればいいのかなぁ、うーん、みたいな事だ。どうなんだろう。
もうちょっと理解したらHIMMELもちゃんとしたクラスに書き直してあげよう。