2019年6月5日 水曜日

創造性とプログラミングツール

アーティスト / 東京工科大学デザイン学部教授 / 博士(学際情報学)

松村誠一郎

創造性とプログラミングツール

アーティスト / 東京工科大学デザイン学部教授 / 博士(学際情報学)
松村誠一郎

はじめまして、松村誠一郎と申します。
大学で教員をしながら、プログラミングをツール(道具)として使って、音を軸とした体験型のアート作品や音楽(音響)作品をつくっています。
初めての回は「創造性とプログラミングツール」の関係について書きます。ただし、私個人の体験からの見解なのでいささか偏ってしまうかもしれません。あらかじめご承知おきください。
まず、創造性(クリエイティビティ)と聞いた時、みなさんはどのようなイメージを持たれるでしょうか?
完成度の高いものをつくるための、次元の高い、高尚な気持ちでしょうか?
新しいアイデアを思いつく、無から有を生み出す特別な能力のようなものでしょうか?
なんだか自分には関係がなさそうでしょうか?
私は、創造性とは単純になにかをつくりたい、表現をしたい純粋な欲求のことで、実はすべての人が持っているものと考えています。もし、つくったものや表現が新しいアイデアに基づくもので何らかの社会的価値があれば、それはそれで喜ばしいことですが、そうでなくとも図面を見ながら手芸をしたりプラモデルをつくったりというのも、つくりたいという欲求があって手を動かして初めてできることです。そして満足感と充足感があります。仮にここではそれくらい身近なものが「創造性」だとしましょう。
では、「創造性」の最たるものはなにか?というと、ひとつの例として「アート」が考えられます。
ここではやや乱暴ですが、アートとは「誰に頼まれるわけでもなく自分の中の衝動によって行う表現活動」と位置づけてみます。そのアートをつくるアーティストの中には、人に見てもらうためにつくる人もいれば、自分の表現が他人に理解されることを前提としていない人もいます。

なにかをつくって表現をしたいし、表現せずにはいられない。
つくって表現をすることで精神の均衡を保つ。
つくってもおそらく答えはないし、納得できる完成形も終着点もない。
ただただ、つくることで世界に問いを投げかけていく。

いわば極めて個人的な「なりわい」であり、「呼吸をするような」「癖のような」思考と行動がアートの表現につながっていると言えます。
そんなアーティストと自分は違う、とみなさんの多くは考えているかもしれません。
でも、思い出してみてください。子供の頃にみなさんは絵を描いたり、砂場で何かをつくったりといったことを延 々とやっていたことはありませんか?しかも誰にも頼まれたわけでもないのにです。そして熱中してやっているそれらの活動を止められようものなら、怒り出したり地団駄を踏んで抗議をしたのではないでしょうか。うまく思い出せない人はそばにいる小さな子供を観察してみてください。
そうすれば表現と創造性は特殊なものではなく、かつての自分にあったものかもしれないと思えるのではないでしょうか。社会や学校など、ルールに従って行動する生活に身を置いてきた長い年月の中で、少しずつやることが限定され、できる(と思っている)ことの選択肢が狭められていく感覚を味わってきた人 々は、自分にアーティストの素養があったことを忘れてしまっているだけなのかもしれません。
一方、プログラミングツール(言語)は個人のためというよりも、より多くの人が使えることが目指したものです。目的を達成するためのアルゴリズムを設計し、処理を実行するためのシステムをつくります。不具合があったら直し、足りない機能があったら追加されて進化してきました。
この個人のなりわいであるアート表現を、集団のためのプログラミングツールを使って私は作品をつくってきたわけですが、制作活動を始めた初期の十数年前にはそのことについて2つの疑問を持って悩んでいた時期がありました。
ひとつめは、多くの人の手で作られたプログラミングツールを使うことは、果たして本当に「個人の思いを形にするアート表現」に適切なのか?
絵画も誰かが作った絵筆や絵の具を使って描かれています。しかし、絵筆と違ってプログラミングツールはできることや表現の範囲や結果を規定する性質が強く、作品にそのツールならではの独自の「色」がついてしまうのではないか?
ふたつめは、自分の使っているプログラミングツールはもっと汎用性が高いものを選んだ方が良いのではないか?
1つめの疑問と矛盾するようですが、時代や機材や環境やニーズの変化によって新しいプログラミング言語が出てきたり、マシンやOSの環境も変化します。すると、プログラムでつくった自分の作品が将来は動かなくなる事態が発生する可能性があります。そしてそのプログラミングツールが開発中止になったら自分の表現活動が行き詰まるのではないか?
当時、私が使えるのはMax/MSPという、音響やグラフィックスのコントロールに特化したノードベースのプログラミング環境だけでした。文字を打つコーディングと違い、GUIの操作でオブジェクトである「箱」同士をデータの流れる「線」でつないでプログラミングをする特殊な方式です。
そこで、通常のコードを打つプログラミングを勉強してみましたが、いまいちはかどりません。Maxでのプログラミングに慣れていて、その方がつくるスピードが格段に速かったからです。
結果として、上記の相反するような2つの疑問と不安は消えないままでした。
それを解くきっかけになったのは、当時留学していたオランダのデン・ハーグ王立音楽院Institute of SonologyのPaul Berg(ポール・ベルグ)先生との会話でした。
「先生、私はMaxしかできないので、よりプレーンなプログラミング言語も学んだ方がいいと思うんですけど、どれを学んだらいいですか?」
ここで言う「プレーンな」というのは「標準的な」とか「中立な」とか「癖のない」という意味です。Paul先生は苦笑いしながら言いました。
「Who knows?(さあ、知らないね)それに君の言う『プレーン』なプログラミング言語というのは存在しない」
「でも、C++とかJavaとかはどうでしょう?Maxよりも広く使われていますよね」
「たしかにユーザーは多いが、だからといってオールマイティな言語というわけじゃない。CにしてもJavaにしても誰かが作ったものは、必ずその人の意図が込められている。それは『プレーン』じゃない。だからそもそも『プレーン』で『標準的な』プログラミング言語というものはないんだ。今、君のやりたいことはMaxだと不自由なのかい?」
「いいえ、大丈夫です」
「じゃあ、そのままやっていけばいいじゃないか。もしやっていることや興味にマッチしなくなったら、別のプログラミング言語や方法を探してやっていけばいいだけだ」
もう15年前のことなので一字一句は思い出せませんが、おおよそこんなやりとりでした。Paul先生はMaxやC言語の達人で、他のプログラミング言語にも精通されている方です。
なぜかそこから私の疑問はするすると解けていったように思います。その後、必要に応じてMaxに加えてPure Data、Processingも使うようになりました。

表現の枠組みや使うツールやまだ見ぬ先のことを思い煩うよりも、もっとシンプルに、つくりたい欲求や創造性に身を委ねれば良い。

今はいろいろなプログラミングツールがあり、それぞれに得意分野があります。これから学ぶべきプログラミングツール選びに迷ってしまうこともあるかもしれません。
でも、手近なものを使っていく、自分の創造性を加速させるものを使っていくというのは、ひとつの最適解ではないでしょうか?
将来どうなるか、それこそ”Who knows?”なわけですから。