プログラミングは、芸術のひとつです。


 今日の内容は、プログラミングってどんなもの?という内容です。おいおい、そんなの半世紀前から知ってるよ・・・と思われるかも知れませんが、そうではない「今のプログラミング」について書きたいと思います。あくまで僕個人の考え方なので、皆さんなりの解釈で読んで頂ければと思います。

プログラミングは、芸術のひとつです。

 絵や音楽など、創作的な活動を行う人のことをアーティストと呼びますが、 プログラミングをする人(=プログラマー)をアーティストと呼ぶ人はそう多くいません。少なくとも、今は。しかし、そう呼ぶ時代がこれから来ると僕は予想しています。

 絵はコミュニケーションの手段として生まれ、よりよい絵を描くために道具が作られ、それを扱う手法が多くの画家によって研究されてきました。最初は限られた人間しか道具を扱えませんでしたが、安価で扱いも容易な「ペン」が発明されたことなどで、多くの人にとって身近な芸術になったとも言えます。

 実はプログラミングも、これと似た歴史を辿りつつあります。
 はじめて作られたプログラミングは、オルゴールのようなものでした。鳴らしたい音をあらかじめ「でっぱり」にすることで、決まった曲を何度も演奏することが出来ます。「でっぱり」を変えれば、違う曲を演奏することも出来るようになりました。ここでいう「でっぱりを作ること」が、いわば最古のプログラミングです。

 この仕組みを使って、先人たちは様々なものを作り出しました。19世紀には、パンチカードと呼ばれる(一部の方には馴染みのある?)ものが開発され、機械の発達とともにプログラミングは立派な道具になりました。ただし、一部の人にしか扱えない、特殊な道具でもありました。

 20世紀になって今のようなコンピュータが発明されても、プログラミングは特殊な道具でした。プログラミングはシステムを作る道具とされ、金融機関から軍事まで幅広い場所で活躍します。多くの研究者が、プログラミングをよりよい道具にするために貢献しました。

 以前は1000人のプログラマーが1年間かけてやっと作れてたシステムが、道具や手法がよくなることで、半年でも同じように作れるようになり、10人でも作れるようになり、やがて・・・ものの数時間・数分でも実用的なものが作れてしまう世の中がやってきました。
 それが、今なのです。

 次にやってくるのは、「ペン」の開発です。
 それさえあれば、誰もがプログラミングが出来てしまう、魔法の・・・という話をしたら、「じつはもうあります!我が社の・・・」という方もいらっしゃるので、ここではあえて言及しません(笑)
 ただ、本当にプログラミングの敷居が下がっているのは確かです。誰もが認める「ペン」の開発を待つくらいなら、今から始めてしまった方が早いでしょう。

 ところで、プログラミングって何をつくるための道具なのでしょうか?
 答えはプログラムです。その形は様々ですが、現代ではデータ、つまり0と1を羅列したものを指します。あなたが今メモ帳を開いて適当に0と1を羅列しても、似たようなものを作ることが出来ます。(あくまで似たようなものです!)

 ただし、そのようなものを作っても大して意味はありませんよね。私たちが求めているのはアプリやホームページであり、0と1のカタマリではありません。先ほどプログラミングは芸術だと言いましたが、プログラムを鑑賞して楽しめる人はそういないと思います。

 しかしプログラムは、機械の中に入ることで驚くべき変化を遂げます。
 時にはあなたのiPhoneやAndroidの中で、ユニークなアプリとして日常で活躍します。またある時にはゲームとして、様々なゲーム機を通して私達を楽しませてくれます。もちろん、電子レンジや冷蔵庫などの家電、人間のように振る舞うロボットなど、ありとあらゆるものを通して私たちの日々に関わっています。

 キャンバスに描かれた絵であればそのまま見るだけで良いのですが、プログラミングはそのまま見ても、一般的に面白いものとは言えません。プログラマーは機械を通して「すごいもの」に変化されたあとのことを頭に思い浮かべながら、プログラミングをしているのです。
 プログラミングがちょっとだけ不思議なのは、この変化です。

 今では多くの場合、画面をプレビューしながらプログラミングすることが出来るため、短い時間で書いて試して、より新しい表現にチャレンジすることが重要です。難しいことを機械が肩代わりしてくれる分、創造力が求められます。

 ただし当然のことですが、プログラムもなにもない状況では、プレビューすることすら出来ません。「かっこいいデザインで!」とか言われても、機械は普通理解出来ません。このような状況でプログラミングを行うには慣れが必要です。毎日プログラミングに触れ、毎日新しいものを作り、毎日勉強を重ねることで、なにもない状況からも新しいものを生み出せるプログラマーになれるのです。

 プログラミングという道具が今後更に発達すれば、人間のすべきことは残りの創作活動だけに集約されます。その日が来れば、プログラマーはアーティストであると、誰もが認めるようになるでしょう。

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