tQy

なぜプログラミングの知識が必要なのか

今更ながら、なぜ、デザイナーがプログラムを勉強しなければならないかについて、適切にまとめてくださった文章。
長いがそのまま引用させていただきました。
メディアアート」を「ゲーム」で読み変えてください。というか、両者の間に垣根はないよな。スペクトラム的変移はあっても。
青字は私が特に共感する箇所です。

なぜプログラミングの知識が必要なのか

学生と話をしていてプログラミングの話をすると、急に暗い顔になり、「ああ、苦手」という言葉がよく返ってきます。おそらくその学生たちは、プログラミングの学習の仕方がいまいち分からないのと、その深遠な可能性がまだ見えて来ていないのでしょう。それは、教える側の責任もあると思います。実際、自分も独学でJavaを勉強しようとした時、一度挫折しました。しかし、何年か後にもう一度勉強し直してプログラムができるようになったのです。
ですから、現時点でプログラミングに対する苦手意識がある学生でもいつでもやり直せると考えています。要は、なぜ勉強しなくてはならないのかと、どうやって勉強するのかをもう一度見直せばいいのです。
あともう一つ、プログラミング=数学だと思っている学生も多いでしょう。確かにそうなのですが、数学が苦手でもプログラミングが苦手だとは限りません。実際私も数学は得意ではありません。しかしプログラミングは楽しいと思いました。自身の数学の苦手意識を超える面白さがプログラミングにはあったのだと思います。
ですから、数学が苦手だから無理だ、などという先入観は捨てて、新たな気持ちで臨んでもらえればいいと思います。
プログラミング言語の知識を持っておくということは、例えば建築家が数学の知識があるのと同じようなものだと考えてもいいでしょう。例えば、アートプロジェクトやwebサイト構築などを行なうにしても、実際の現場ではプログラマーとの共同作業という状況が多々あります。その際にプログラミング言語の知識があるのとないのでは大きな違いがあります。プログラミング言語の知識がないアーティストやディレクターの言うことなんて、プログラマーは聞かないでしょう。もしくは仕方なく聞いていても、内心は馬鹿にしているかもしれません。
また、このステップを避けて通ってしまうと、結局はソフトウェアの範囲内でしかものを作れず、既に何年も前に発表された作品の二番煎じ的なものしか作れないのです。自己満足的なことをしたければそれでもいいでしょう。しかし、少なくとも私のこの授業では、新しいメディアアートの可能性を垣間見せてくれる表現者を育てたいと考えています。
ですから、理想的なアプローチとしては、まずイデアを洗練させ、そのプロジェクトに最適なメディアやプラットフォームを選ぶ。ですから、場合によってはMax/MSPFlash、Processingでもいいかもしれません。しかし、調べてみたら、これは別の言語(Java、Cなど)を選択しないとアイデアを実現させることが難しいと分かったとします。その際にはそれらの言語を短期間で習得するぐらいの馬力が必要になってきます。要は、様々なアイデアを実現させるために、手持ちの駒を増やしておく必要があるのです。
そのような底力のある学生の育成がこの授業の目的です。
               ────────────relationaldimension.com 野口 靖

数学は苦手でもプログラミングが苦手とは限らない、というのは初心者に向かってのサーヴィストークとしてはありだろう。ただ、泥縄式でエクスプレッションを教えていて思ったのは、やっぱり基礎数学は重要ということ。自然数とか三角関数とか、最大公約数とか、絶対値とか、関数とか、出てくるたびに止まっていては仕事にはならんのです。数学が苦手?じゃあ、今から好きになってね。いや、数学オモロイよ。以上!って感じ。


昨日もスタッフ2人と飲んでいたが、ゲームプログラマーで本当にデザインが好きな人間は、相当デザインを勉強している。UIも映像演出も本当にたくさんの事例にあたっているし、具体的にそれを作る手法も頭の中にある。
そういう相手に対して、既存事例を突き抜けたヴィジョンを提示して驚かせ、共にそれを実現していく手法を数学的にいっしょに考えていくのが、現代のデザイナーに求められる職能なんではないでしょうか?
そのためには、数学的思考に裏打ちされたプログラミングの知識は必須であるといえるでしょう。

●参考サイト