プログラミングにはArt性はあるか?

わたしが思うに 「プログラミングにはアートの一面がある」 です。

とりあえずここでの言葉の定義、、、

デザイン ・・・問題解決。課題を解決するための活動。答えがあるのがデザイン。
アート ・・・ 問題提議。課題を提議(創り出す)するための活動。答えがない(各自が答えを作る)のがアート。

です。

***

交通渋滞を解決するために信号をつけたり車線を増やしたりするのはデザインです。

交通渋滞とは何なのか?それとどう扱うべきか?という「問い」をたてるがアートです。

***

普通のプログラミングは「問題解決」のためにします。ユーザーが「○○がしたい!」というのでそれを実現するためにプログラミングします。ソフトウェアデザイン。システムデザイン。つまりデザインです。

しかしプログラミングをしている最中にエンジニアは、「○○がしたい!」と言った側の人間ですら気付かなかった「新たな問題」を見つけることがあります。というか見つけることがほとんどです。

細かなところでは「名前を入力したい」→「何文字ですか?英語ですか?日本語ですか?記号は入りますか?そもそも何ですか?」という「問い」です。それは何となくの共通定義であると幻想していた「名前」が実は共通の定義ではないという「問い」です。他にも例えば業務自体の矛盾であったりQCDのトレードオフであったり。色々な問いが発生します。

プログラミングという誤魔化しがきかない具象な世界を扱うことで矛盾や不明瞭な部分を発見してそれを新たな「問い」としてユーザーや世の中に問いかける活動は十分アートだと言えると思います。

普通に生きてて「名前とは?」を考えたことがある人はそうそういないと思いますが、エンジニアならきっと1度や2度は考えたことありますよね?

エンジニアはそういうアートな一面を持っているのです。

なんてことを思った夏休み前でした…☀

***

これを単なる「仕様の確認」というか「アート」と呼ぶかは言葉遊びみたいなものですけど……。「美は見る人の目の中にある」です。エンジニアから「これどういう意味ですか?」と聞かれたときに「よきにはからっておいて」なのか「はっ…これはまさか……」となるかは受け取り側の問題ということで。。。

この記事が気に入ったらサポートをしてみませんか?