南京豆の法則

WONO2007-09-29


そういうわけでMAX/MSPのプログラミングを延々と続けている。


連夜、作業しては気がつくと外が明るくなってる…


同じデスクトップ作業と言っても、こうしたいわゆるプログラミング作業の方が、シーケンサ等を使ったいわゆる楽曲制作よりも没頭度=「時間を忘れる度」は高い気がする。


楽曲制作は、基本的には常に実時間を意識する作業だ。一個の音の長さが何十分の一秒とか、一小節が何秒とか、一曲が何分とか、時間そのものを客観視しなければならない場面が非常に多い。なおかつプレイバックだのバウンスだのセーヴだのといったちょっとした「待ち時間」があり、そのたびにちょっと現実に戻る。クラフトワークは「ミュージック・ノン・ストップ」と歌ったけど、実際には音楽はいつか終わる。(まあラモンテヤングとかある種のサウンドアートとか無限に続く音楽概念ってのもありますが、キリがないのでここではそういう話はしない)


だがプログラミングは終わらない。というよりも、それは始まりも終わりもないノンリニアで無限の世界だ。


もちろん「AにXが入力されたらそれに影響されてBがYを出力する」というように、因果律があって初めてプログラムは作動する。そこには「順序」すなわち時間が存在するはずだ。だがプログラミングしているこちらの脳内では、時間の存在しない真っ白なキャンバスのような世界(映画『マトリクス』のあの空間ね)に「順序」だけが存在している、というイメージなのだ。


どれほど長いプログラムであっても、入力から出力までロジックが流れていくそのトラフィック時間は限りなくゼロ。(まあ昔、コンピュータのスペックが今と段違いに低かった頃は、入力してから出力までが妙に“重い”状態だったりして『ああ今プログラム君が考えて実行してくれてるなー』と、リニアな“時間”を意識せざるをえなかったりしたものですが…)


そして、いったんプログラムを作り始めると、仕組みの考案→実施→(作動せず→回路を見直す(→それでも作動せず→仕組みそのものを考え直す)→再実施)→作動→追加モジュールを検討→新たな仕組みの考案(ふりだしに戻る)って感じで、延々とループが続く。フィードバック回路を断ち切るヒューズを何かしら用意しておかない限り、エッシャーの螺旋階段のようなこの無限ループから抜け出す事ができなくなるのである!…っていうかたぶん単純な話、ある種の脳内麻薬物質が出まくってるんですよね、プログラミング中って。




そう言えば「南京豆の法則」というのがある。
(南京豆って今どき通じるのか? 殻つきピーナッツ、落花生のことです)


人はなぜ南京豆の殻を剥いては口に放り込むあの単調な作業を無心に延々と繰り返してしまうのか? 答えは、必要な労力とそれによって得られる快楽が完全につりあい、心理的な一種の平衡状態をもたらすから。


殻を剥くのがもっと大変で「南京豆割り器」でも使わないと殻が割れないなんて状態だと「それだけがんばってあの小さな豆粒かよ!」と剥くのが馬鹿らしくなり、作業を止めてしまうでしょう。逆に、簡単に剥いた殻の中にものすごく美味しい巨大な豆がびっしりと入ってたりしたら、数個ぐらい剥いたところでもう満腹して食べ終わってしまう。簡単に殻は剥けるけど、得られる快楽がそれに見合ったセコイものだから微妙な欲求不満が残り、ついついもう1個…もう1個…と食べ続けてしまう。というのが「南京豆の法則」。


労力と快楽のレンジをもうちょっと大きくした例は、たとえば蟹だろう。蟹は殻を剥くのがけっこう大変で指を痛めたりするぐらいだけど、出てくる肉の味もかなり美味いので、ちょうどつりあいがとれる。このため蟹を食べるときだけは人はみな無言になり黙々と目の前の殻と格闘するのだ。




えーと何の話かというと、プログラミングにもこの「南京豆の法則」が適用されるのではないかと。つまり作曲や描画のような、乱暴に言えばゼロから始めるクリエーションに比べ、ある程度モジュール化されていてとりあえずは始められる単純作業の部分が多い。なおかつその作業によってプログラムが作動し、何か仕事してくれた時のちょっとした快感。「おおっ!動いた!できた!」という喜びが、そこそこあるのですね(そこそこ、というあたりが「南京豆」なわけだ)。


で、こうした状況で最も起こりやすいのが「本末転倒のトラップ」。


何かコマンドを打ち込む。プログラムが仕事する。お!いいじゃん!じゃあこれもできるかな?またプログラムが仕事する。いいねいいね!…待てよ、今のとさっきのプログラム、同じ仕組み使ってるわけだからそれを共有させたらもっとシンプルなプログラムになるんじゃないかな? えーと、それにはどうすれば…わからなくなってきたぞ、マニュアル調べるか…


などと、本来の目的である「仕事」そのものを離れ、いつの間にかプログラムを「美しく」すること自体が目的となってしまい、そこに時間を費やしてしまう罠だ。南京豆的に言えば、「プログラムの”論理”がシンプルになること」の方が、「プログラムが作動すること」よりも、いつのまにか「快感」になってたりするという。


MAX/MSPのようにグラフィカルなオーサリングツールを使っていると、プログラムそのものよりもオブジェクトを画面上のどこにどう配置するかといった「絵ヅラ」作りの方に、妙に時間をかけている自分がいたりする(ユーザーの方、そういう経験あるでしょ?)


これを防ぐには10分ごとにアラームでも鳴らして「ハッ!何やってんだ俺!」と強制的に我に返る仕組みを作るか、後ろにハリセン持ったアシスタントに控えてもらい頃合いをみはからってパッカーンと後頭部を一撃してもらうとかするしかないような気がする。なにせ相手は脳内物質とはいえ麻薬ですからね、自力で抜け出すのはとてもとても…


あれ? こんなこと書いてたらまた夜が明けてきた… これもまた麻薬物質のなせるわざ、か…。