創造させるコード:ダニエル・テムキンにucnvが聞く、奇妙な難解プログラミング言語の世界
意図的に読解が困難になるよう設計されたプログラミング言語「難解プログラミング言語」をご存じだろうか? ハッカーたちの遊び心から生まれ、基本的には実用性を度外視したジョーク言語として、これまでにさまざまなものが生み出されてきた。この奇妙で一風変わった言語が秘める創造性とは何なのか。コードとアートの境界をめぐるふたりのアーティストの対話をお届けする。
本文中に登場するダニエル・テムキン作のプログラミング言語「folders」:フォルダのなかにフォルダを重ねていくことでプログラムを構成する via danieltemkin.com
1960年にフランスで発足した実験文学集団「ウリポ」は、言語遊戯的な技法の開発を通じて新しい文学の可能性を追求した。中心的存在であった作家ジョルジュ・ペレックは、フランス語アルファベットのなかで最頻出の「e」の文字を一度も使わずに、長編小説『煙滅』を書き上げた。
さて、現代の言語遊戯はコンピュータプログラムにも及んでいる。それが「エソラング」(esolang:esoteric programming language〔難解プログラミング言語〕の略)だ。ハッカーたちの間では、エソラングは一種の嗜みとして親しまれているようなのだ。
JavaやC++、Pythonといったプログラミング言語は、多くの人がその名前を知っているだろう。しかし、これらとは異なり、意図的に読解が難しいように設計されたエソラングが存在する。例えば、文字ではなく画像をコードとして扱うものや、空白文字(半角スペース、タブ、改行)のみでプログラムを構築するものなどがある。2024年、エソラングを解説した書籍『ストレンジコード』の邦訳版が刊行され、日本でも関心が高まっている。
同書に序文を寄せたのは、ニューヨークを拠点に活動するアーティストであり、エソラングの制作者でもあるダニエル・テムキン氏だ。この分野に情熱を燃やすひとりである。
彼をはじめとしたエソラング愛好家たちを熱中させる魅力とは何なのか。テムキン氏の序文にX上で反応した人物であり、自らもプログラマーでありアーティストであるucnv氏が問いかけた。共にグリッチアートに立脚した活動を行うふたりだが、コンピュータにとっては正常な動作でありながらも人間にはエラーに見えるグリッチを美学的に扱おうとする両者の視座は、エソラングに関しても共通の基盤となっている。奇妙なコードをめぐるインタビューは、自然とアートの話へと合流しながら、コンピュータと人間の間に秘められた創造性へと迫っていった。
interview by ucnv
text by Ryota Akiyama
ダニエル・テムキン|Daniel Temkin エソラング愛好家、アーティスト。システム的な論理と人間の非合理性の衝突をテーマに、写真やプログラミング言語、ネットアート、絵画といった多彩な作品を手がける。Creative CapitalとWarhol Foundationの2014年ArtsWriters.org助成金を受け、ZKMで展示されたブログesoteric.codesでは、アートとしてのプログラミング言語の歴史に迫り、その独自の視点で注目を集めている。
ucnv プログラマー兼アーティスト。画像や動画ファイルの破損を通じてデジタルメディアの構造を探求する。グリッチアートを手法としながらも、その作品は見た目ではなく内在する構造に重きを置く。京都精華大学で教鞭をとり、独自の視点からデジタルメディアの本質に迫る活動を展開している。
人間とコードの間の距離で遊ぶ
ucnv インタビューの機会をいただき、光栄です。共にグリッチアーティストとして活動していることもあり、ダニエルさんには以前から注目していて、あなたがなぜそこまでエソラングに熱中しているのか、ぜひお話を伺いたいと思っていました。
テムキン ありがとうございます。素晴らしいセッションになることを楽しみにしています。
ucnv まずは、エソラングとは何か、通常のプログラミング言語とはどう違うのか、そのあたりからお話しいただけますか?
テムキン エソラングを理解する最も簡単な方法は、「人間がコードから何を読み取るか」と「コンピュータが実際に何を実行するか」との間にある距離に着目することです。
通常のプログラミング言語は、人間がコードを読んだとき、その動作が明確に理解できるように設計されています。多くのプログラミング言語はこの距離を最小限にするようにつくられていますが、エソラングはむしろ、その距離を遊びの空間として活用しているのです。
ucnv 人間の認知とコンピュータの解釈との間のズレに面白さがあるということでしょうか?
テムキン はい。人間、特にプログラマーはそうだと思うんですけれども、自分は論理的な人間だと思い込んでいる。しかし、いかに論理的に設計したプログラムにもバグが発生することを避けられないように、コンピュータはわたしたちがいかに非論理的であるかを教えてくれるのです。
初期の代表的なエソラングを挙げてみます。「Forth」、「Brainfuck」、そして「Befunge」です。これら3つの言語はすべて、各コマンドが1文字で構成されています。そう、1文字だけです。Brainfuckでは記号のみを使用し、たった8種類の記号だけでコードが書かれます。
これらの言語には明確なコードの書き方がなく、書いたコードは常に他の人にとって理解しづらいものになります。コードを実行するには、人間側に創造的な判断が求められるため、他のプログラマーにとっても興味深い挑戦となっているのです。例えば、Brainfuckで数値32を表現する方法は3通りあります。どの方法が「優れている」と決めつけることはできません。ある手法は実行速度に優れ、別の手法は使用する文字数を最小限に抑えるなど、それぞれ異なる特徴をもっています。このように、プログラマーは、たとえひとつの数値を生成するという単純なタスクであっても、自分なりの創造的なアプローチを選び取る必要があるのです。
Brainfuck (BF) Uber Müller作 8つの記号だけで記述するプログラミング言語。エソラングとして最も有名。多くのエソラングに影響を与え、亜種を生み出した
コンベンショナルなテクノロジーに対抗する
テムキン もうひとつ別の視点で言うと、エソラングとは、従来のプログラミングの概念や人とテクノロジーとの関係にも挑戦する言語だと言えるでしょう。ほとんどの一般的なプログラミング言語は英語のキーワードを使用していますが、これは技術的な理由によるものではなく、単に歴史的な背景によるものです。
そのため、自分たちの言語のキーワードを使った言語を開発したプログラマーもいます。
「Wenyan-Lang」という言語がありますが、これは古典中国詩の形式で書かれています。非常に洗練された開発環境も整っています。プログラマーに求められるのは、伝統に則った詩としても実行可能なコードとしても成立するプログラムを書くことです。
「Cree#」という言語は、カナダ先住民クリー族の言語で書かれたものです。物語形式でプログラムを記述し、実行ごとに異なる結果を生むことで、語られるたびに変化する先住民の伝統を再現しています。また条件に応じてプログラムの流れを変更する条件分岐「if…then」文を、「川」を意味する「sîpiy」という単語で表現し、流れる川を生命の象徴とする文化的メタファーを活用しています。こうして、クリー族の文化的理解をプログラミング言語そのものに組み込んでいるのです。
Cree# カナダ先住民であるクリー族の言語で書かれたプログラミング言語。物語形式でプログラムを記述し、グラフィカルな出力を生成することを目的としている via esoteric.codes
ucnv なるほど。エソラングは既存の支配的な言語からの脱出、つまり「脱権力」や「脱中心」の考え方に通じているということですね。
一方で、プログラマーやハッカーたちは、エソラングで遊ぶことそれ自体に自己目的的に没頭しているようにも感じます。このような「目的のない遊び」は、社会や経済が求める目的志向とは異なるので、そういう意味でも「脱権力」や「脱中心」とつながっていると思いませんか?
テムキン まったくその通りだと思います。「プログラミングはこう使われるべきだ」といった従来の目的とは異なり、エソラングにはお金にならないものや、実用的には使えないものもあります(もちろん、実際に使えるものも含まれていますが)。機能や実用性をもたない、主流から外れたものをつくることで、人びとは普段の規範や常識とされていることについて改めて考え直すきっかけを得るのです。そうすると、それを見た人びとは「アート」として捉えざるを得なくなるんですよね。
コラボレーティブである、という魅力
ucnv 「アート」ということばが出ました。ダニエルさんはアーティストですが、そもそもなぜプログラミング言語、そしてエソラングに興味をもたれたのでしょうか?きっかけを教えてください。
テムキン ある時、ハマっていたゲーム「マインスイーパ」がチューリング完全であると示した論文に出会い、とても驚いたんです。C++で書けるどんなアルゴリズムでも、あのマインスイーパのボード上で再現できるというのです。それが何とも不思議で奇妙に感じられました。わたしたちが計算やコンピュータシステムからどれほど距離を置いているのかを、改めて考えさせられるきっかけになりました。
また、アートスクールでグリッチアートを研究していた頃、「エソラングもアートの一種なのではないか?」とひらめく瞬間があったのです。それまで、エソラングをそのように考えたことはなかったのですが、グリッチアートで模索していた多くのアイデアが、エソラングの作品で明確に表現できるようになったのです。
ダニエル・テムキン氏のグリッチアート作品 上:Glitchometry Circles # 9 72" x 36" digital c-print on Duratrans 2013 下:Glitchometry #17 digital c-print on Duratrans 2011 photographs courtery of Daniel Temkin
ucnv 具体的にはエソラングのどの部分にアート性を感じたのでしょうか?
テムキン ひとつは、それがコラボレーティブである点です。言語をつくるということは、他の人がコードを構築するための一連のルールを設計することですが、他の人びとがその言語でプログラムを書いてみることで、その言語に独自のビジョンがもち込まれ、設計者自身では見つけられない新しい可能性が発見されます。そうして初めて、その言語は「完成」するのです。このように、共同で創り上げていく「コラボレーションの精神」があるところに、アーティストとして非常に魅力を感じています。
「恣意性」の奥深き世界
ucnv なるほど。アートの世界では、パーティシペーション(参加型アート)という系譜がありますが、その点を見ていたのですね。では、ここでいくつか、ダニエルさんのお気に入りのアート的なエソラングを紹介してもらえますか?
テムキン (嬉しそうに笑いながら)これまであまり聞かれたことのない質問かもしれません。そうですねぇ……ひとつ挙げるとすれば「Whitespace」という言語です。もともとはジョークとしてつくられたものなんですが、この言語はスペース、タブ、リターンだけでコードを書くというユニークな特徴をもっています。プログラムは完全に空っぽに見えるため、他のプログラムの単語の間に隠れることも可能です。
コンピュータにとっては、記号や文字が目に見えるかどうかは関係ありません。それを重要視するのはわたしたち人間だけです。このWhitespaceは、コンピュータにとって文字や記号がいかに「恣意的なもの」であるかを明確にしてくれました。
この「恣意性」という考え方は、グリッチアートの制作を通してわたしが学んだことでもあります。例えば、視覚データとして意図されたデータを音声データとして解釈し、音声効果を加えてから再び視覚データに戻すと、そのデータは歪み、変化します。これもまた、データの「恣意性」による現象です。
Whitespaceの解説動画
ucnv とても面白い言語ですね。
テムキン わたしは「Folders」というエソラングをつくりましたが、これはWhitespaceに触発されて生まれたアイデアです。単語間の空白よりもさらに「空っぽ」なものは何かと考えたとき、空のフォルダが思い浮かんだのです。この言語では、フォルダのなかにさらにフォルダをつくるというパターンでプログラムを構成します。つまり、テキストやファイルは一切使用せず、構造(ディレクトリ)だけでプログラムを表現する、いわばコードレス言語なのです。
コンセプチュアル・アートとしてのエソラング
ucnv コードすら存在しない言語もある、と。つまりエソラングは、概念的なアートになりうるということですね。ご自身が制作するエソラングは、このようなアートの系譜に連なるのでしょうか?
テムキン 最近、そのことについてよく考えています。というのも、2025年に『Forty-Four Esolangs: The Art of Esoteric Code』という作品集を出版する予定だからです。ここに収録するいくつかの言語は、フルクサスの活動に影響を受け、コンセプチュアルな側面をもつ作品も含まれています(編注:フルクサスは1960年代にニューヨークで始まった、美術、音楽、詩、パフォーマンスなどのアーティストたちがジャンルを越境して集まったグループであり、そこで展開された前衛芸術運動のこと)。フルクサスでは、「イベント」と呼ばれるパフォーマンスの台本として、「スコア」という指示書があります。このスコアで規定される要素はごくわずかであり、それゆえ解釈に大きな幅が生まれます。それはしばしばパフォーマンスと呼べるかどうかの境目に位置しています。その場で生じる一回限りの出来事全体を作品として捉える点が特徴的です。
例えばわたしは「Cloud Computing」という言語をつくりました。この言語では、プログラマーが1日かけて空を漂う雲を観察し、雲が交差したり、相互作用したり、分かれたりする様子からアルゴリズムを構築します。雲の動きを一日中見つめ、プログラムについて瞑想する人によってつくられるのです。そのプログラムは、その日その人だけのために存在し、二度と再現されることはありません。もちろん、プログラムのコードは自分で制御できません。雲がそれを演じているからです。
Cloud Computingのスコア:2025年9月にMIT Pressから刊行予定の『Forty-Four Esolangs: The Art of Esoteric Code』からの抜粋 photograph courtesy of Daniel Temkin
テムキン このアイデアは、オノ・ヨーコの作品から発想を得たものです。オノの初期作品には物理的に実行できないものも多く、コンセプチュアルなエソラングと同様に「考えるための作品」として位置づけられています。例えば、彼女の「Earth Piece」には次のような指示が書かれています。
オノ・ヨーコのInstagramの投稿 地球が回る音を聴いてください 1963年 春
ucnv なるほど。こうしたコンセプトからCloud Computingの発想を得た、と。
テムキン このようなコンセプチュアルな言語は、計算の非物質性を際立たせます。ソフトウェアの本質はビットや回路ではなく、論理そのものです。コンセプチュアルなエソラングは、この論理を詩的にねじり、コードの感性と限界に挑戦しているのです。
エソラングの歴史をアーカイブする
ucnv 刊行予定の作品集は、これまでのエソラング関連書籍とは一線を画す内容になりそうですね。しかし、多くのエソラングを実際につくったり楽しんだりしている人たちは、ダニエルさんのようにはそれをアートだと思ってはいないように感じますが?
テムキン これはわたしが「esoteric.codes」というブログを始めた理由にもつながります。このブログでは、エソラング制作者だけでなく、デジタルアートやデジタルポエトリーの分野の人たちにもインタビューを行い、彼らの視点を聞いてきました。彼らはエソラングと多くの共通点があると感じていましたので、このメディアを通じてコミュニティを形成し、共通のアイデアを探るきっかけをつくりたいと考えていたのです。
当初、一部のエソラング制作者は、自分たちの作品を「アート」として語られることに抵抗感を示していました。エソラングをハッカー文化に属するものと考え、「アート界の人たちがこれを奪おうとしているのではないか」と感じていたようです。
ucnv そうなんですね。
テムキン ブログを10年間続けるなかで、コンピュータサイエンス以外のバックグラウンドをもつ人びとの間でもエソラングへの関心が高まっています。エソラングのコミュニティは、大きな集まりへと成長しているのです。
近頃は多くのデジタルアーティストがNFTに傾倒していますが……エソラングはNFTが重視する「成果物」に対抗するかたちで、共有された創作、プロセス、そして尽きることのない可能性に焦点を当て続けています。それは、さまざまな目的に使える言語の本質そのものと言えます。この対話が進むなかで、エソラングは今後も重要な役割を果たし続けると確信しています。
次週12月17日は、東京オリンピックの開会式で話題となり、現在世界中の大都市で開催されている「ドローンショー」の現状に迫ります。日本のドローンショー業界を牽引する株式会社レッドクリフの代表・佐々木孔明さんに、目覚ましい進化を遂げるドローンショーの現状と、エンターテインメントの枠を超えたその可能性についてお話を伺います。お楽しみに。
【イベント情報】
WORKSIGHT 公開編集会議 #4
12月16日(月)、コクヨのオウンドメディア「WORKSIGHT[ワークサイト]」による「公開編集会議」の第4弾を開催いたします。
「公開編集会議」では、コクヨが目指している社会像「自律協働社会」の実現に向けて、これからの社会を考える上で重要な指針となりうるテーマ・キーワードとは何なのか、編集部員と一緒に企画をもち寄り、ディスカッションを交えながらアイデアの芽を出し合います。
公開編集会議の議題・トークテーマ▽
WORKSIGHTで取り組んでみたい企画
いま、興味や関心のある話題・事例
ニュースレターやプリント版で取り上げてみたい人物・会社
etc.
編集経験を問わず誰でも参加できる「公開編集会議」。奮ってのご参加をお待ちしています。
・日時:2024年12月16日(月)18:00〜20:00
*終了時刻は延長する場合がございます
・会場:コクヨ・サテライト型多目的スペース「n.5(エヌテンゴ)」Google Map
・参加費:無料
・定員:10名
・ファシリテーター:山下正太郎、宮田文久、若林恵