ポスト・コーディング
最近、コンテンポラリー・ダンスのコリオグラファー(振付家と書くと意味合いが変わってしまうので英語の Choreographer を用いる)であるマーテン・スパングバーグ (Mårten Spångberg) の文章やレクチャーを追っている。スパングバーグのことは2016年にウィーンで作品を見て、また知り合いから話を聞いていたので人となりもなんとなく知っていたが、ガーディアン紙に「コンテンポラリー・ダンス界の悪童」と書かれるように議論を巻き起こしながらもヨーロッパを中心に高い評価を得ている。著書「ポスト・ダンス」の中でコリオグラフィがダンスを生むという考え方から脱却しそれぞれを切り離して考えるなど一見突拍子のない考え方を提案しているが、実際にはコンテンポラリー・ダンスの流れを汲んで深く分析をしている。
コンテンポラリー・ダンスの界隈で話を聞いていると、「ダンスが嫌いだ」「一度ダンスをしないと決めたことがある」といったことを口にするダンサーにしばしば出会う。そのような人は、特にバレエなどクラシカルなダンスを小さいころから習っていることが多い。対して、メディア・アートの分野ではコーディングに精通していながら「コーディングをしない」ことを選んでいる人は少ない気がする(もちろん、有名になってから人を雇ってコーディングを外注するというケースはあるが、その場合もコーディングを表現技法の一つとして用いていることになる)。この違いはどこから来るのだろうか。これは推測だが、ダンスは常にそこにある、あるいは少なくとも見出すことができるからではないか。スパングバーグの編集した「Movement Research」の中で、楽屋で鏡の前に座っている時のことをメッテ・エドヴァードセン (Mette Edvardsen) が詳細に書いている。椅子の高さと足の長さがちょうどよく合っていること、座骨に体重を均等にかけて、その後おしりと椅子の間に手を入れるとバランスが変わることなどを記述しただけの章だ。すなわち、ダンサーにとってダンスは常に自分を脅かす可能性のある存在であり、そこから逃げることはできない。
比較して、コーディングはそれを解釈する機械がないと存在しえない。もちろんホワイトボードの上にコードを書くこともできるが、そのコードでさえコンパイルあるいはインタプリット可能であることが求められており、そうでないコードはただの文字列だと捉えられる。その意味ではコーディングはコリオグラフィに近いのかもしれない。コリオグラフィにおいてもダンスなどのアウトプットがなければ存在しえない。など、というのはアウトプットは本でもイラストでも構わないからだ。例えばデボラ・ヘイ (Deborah Hay) はコリオグラフィとして文章や図を書き、それを三人のダンサーに送ってそれぞれがダンス作品として踊った。
コーディングとコリオグラフィの大きな違いはコードは有効なものでないとコードと呼ばれないことだ。コンパイルやインタプリットが可能かどうかが一つと、「バグ」がなく動いているか、意図した動作をしているかということがもう一つだ(もちろんバグによっては「グリッチ」として好意的に受け止められることもある)。対照的に、作品の評価は別としても「有効でない」コリオグラフィは存在しない。例えコリオグラファーが首を軸にして頭だけ一回転するように言っても、空中で一分間静止するように言ってもそれは有効であるし、コンテンポラリーなコンテキストでは不可能なことが好まれることも多い(私の尊敬するコリオグラファーであるドリス・ウーリッヒ (Doris Uhlich) のワークショップでは数時間、動物のマイムをせずに動物になるという実験をした)。
もう一つ大きな違いがあるとすれば、コーディングでは潜在的に生産性が重視されることにある。デジタル・アートのためのコーディングにしろ、 Git などのバージョン管理を利用している人がほとんどだろうし、そうでないにしてもコードはコンピュータに保存され、エディタのリンティングにより即時にエラーがハイライトされ、私たちは画面の前でコードを「書かされて」いる。例外はライブ・コーディングだろう。その魅力はライブ・パフォーマンスに用いられること自体ではなく、生産性に抗うアプローチであることにあるのかもしれない。ライブ・コーダーのスタイルにもよるが、後に何も残さない、生産のためでないコードであり、その故に自由にコードを書くことが許されるのかもしれない。
ところで、クリエイティブ・コーディングということばには賛否両論があり、わかりやすさの反面、2011年にはすでにカイル・マクドナルド (Kyle McDonald) が苦言を呈している。
the term “creative coding” reminds me of “intelligent dance music”. is it regularly “uncreative” and “unintelligent”?
「クリエイティブ・コーディング」という用語は「インテリジェント・ダンス・ミュージック」を思い出させる。普段は「アンクリエイティブ」だったり「アンインテリジェント」なものなのだろうか?(抄訳)
批判にはこのような「コーディング自体がクリエイティブなのでクリエイティブ・コーディングとして区別するのはおかしい」という論調が主流だが、そもそもコーディングをクリエイティブな行為だと捉えることは正しいのだろうか。スパングバーグは(ダンスのコンテキストでの)レクチャーの中で、アドビの(当時の)クリエイティブ・スイートの例を出して、クリエイティブとはフォトショップのようにある枠組みの中で何かをつくることが求められることだと話している。これはまさにコーディングにも当てはまり、タートル・グラフィックの Logo にしても Processing にしても与えられたコードというツールの範囲内で何かをつくりださなければいけない。
ここには問題点が二つあって、一つ目は先のようにコードは実行されることでしか成り立たないこと、そして二つ目はそのツールが誰かの主観で作られたことだ。一つ目については既に述べたが、二つ目の問題はコンピュータの歴史と関係している。例えば Processing で 3D の描画をすると JOGL を通して OpenGL のレンダリング・パイプラインに渡される(そしてその裏では Processing のデフォルトのシェーダが読み込まれている)。また、図形を描くと標準では線が黒で白く塗りつぶされるのは自然にそうなったのではなく誰かが決めたことだ。気になって調べてみたが、線と塗りつぶしのデフォルトの色が指定されたのは少なくとも2006年以前で、このコミットも含めて当時のコアの開発はほとんどがベン・フライ (Ben Fry) であったことから彼が決めたのだろう。これは p5.js でも継承されている。
果たしてピュアなコーディングは存在するのだろうか。アセンブリ、機械語は一つの答えかもしれないが、それでも Intel x86 なり PIC なり、 CPU の仕様に沿ってコーディングしなければならず、「誰か」の決めたルールに従わなければならない。しかしここがデッド・エンドだとして絶望することも、新たな可能性の始まりとして捉えることもできる。そして、それが「ポスト・コーディング」につながるのではないだろうか。
つぶやきProcessing という1ツイート(280文字)にコードを詰め込むフォーマットがあり、私もたまに投稿している。しかしその度に、実際には93039行ほどのコードが裏では動いていること、そしてその制約の中で短いコードを書いていることを思い出す(p5.js バージョン 1.1.9 の場合。そしてもちろん JavaScript のインタプリタやブラウザ、 OS に支えられている)。コードを短くまとめるために背景や塗りつぶし、線の色を指定せずにデフォルトのまま使うことも多いが、もしも、 p5.js のデフォルトの背景色がピンクだったら、デフォルトの塗りつぶしが黄色だったらどうだろうかと思う。これは突拍子のないことかもしれないが、例えば GR-SAKURA のように基盤は緑色や青色である必要はないのだ。(便宜的な意味での)クリエイティブ・コーディングは白人男性が中心となって開発が進められてきたが、このような思考実験によりようやく白人男性的なクリエイティブ・コーディングから脱却し、ピュアなコーディング、あるいはポスト・コーディングが見出せるのではないだろうか。
橋本麦氏が開発している Glisp は別の形でポスト・コーディングを体現しているのではないかと思う。開発背景にはツールに関する言及が多くされているが、ツールのためのコードという観点とは別に、これまでにないコードの形として捉えることもできる。インターフェイスを操作するのに応じてコードは常に変化し、コードは図形の座標やスタイル、階層構造などメタデータ的な意味も含む。しかし、それは同時にあくまで実行可能なコードであり、コードとして編集することもできる。 Processing の Tweak モードでも実行中にスライダーで変数を調整できるが、コード自体を変更するには一度プログラムを停止しなければならない。対して Glisp はデータとしての側面とコードとしての側面が対等なのだ。そしてそれは線形的なバージョン管理とは相容れず、これまでのコードの生産性を否定している(もちろん Glisp が非生産的というわけではなく、新しい形の生産性を提案しているのだ)。
最後に、スパングバーグの書いているように「ポスト」とは以前のモデルの終焉ではなく、ダンスがあるからこそポスト・ダンスが存在しうる。ポスト・コーディングがあるとすれば、これまでのコンピュータに入力して実行するコーディングがあるからこそコーディングを再定義することができるのだろう。