なにかのまねごと

A Journey Through Imitation and Expression

サンデープログラマが考える、プログラミングの高い壁

 どうも、最近になってサンデープログラマを自称してもいいかなと思っているKZEです。

 まず、職業的プログラマではありません。けれども、日々を便利にするために、好き勝手にプログラミングをしています。Excel + VBAで入力フォームを作ったりとか、jQuery + canvasJSでドラクエ10の鍛冶職人サポートツール(DQX鍛冶職人ダメージチェッカー)を作ったりとか、Ruby on RailsでTweet履歴をカレンダー形式で表示するウェブアプリ(TwiCal)を作ったりとか、割とやりたい放題です。GitHubアカウントはこちら>rotelstift · GitHub

 なぜ職業的プログラマではないのかというと私の人生に関わる長い話になるので省略しますが、プログラミングは好きだと言えます。

 さて、このエントリで何を言いたいかというと、みんなもっとカジュアルにプログラミングできたらよくね?ということです。というわけで、このエントリはCUIGUIなどといった専門用語はなるべく使わない方向で、プログラミングを知らない人でも読めるように書きたいと思っています。

 夫が職業的プログラマということもあり、職業的プログラマの知り合いは多いですが、一方でプログラミングとは全く縁のない知り合いも多いです。

 しかしそうしたプログラミングとは縁のない知り合いでも、パソコンを使っていない人はまずいません。これはとてももったいないことのように思うのです。

 そうした人たちがプログラミングを始めるのに、何が一番高い壁なのか?そんなことを時々考えますが、それは最近の高度化したコンピュータ環境そのものなのではないのかと思います。

 例えば、プログラミングを全く知らない人がプログラムを作りたいと思った時、それがテキストだけで完結するものであることはまずありえないでしょう。必ずと言っていいほどまずウィンドウが出てきてといった何かしらのグラフィカルなものを連想しているはずです。

 様々な開発環境の充実により、グラフィカルなものを扱うプログラムを作る難易度は下がってきています。それでも、WindowsならコマンドプロンプトMacならターミナルといったテキストだけの環境で動くプログラムを作る難易度と比べたら、グラフィカルな環境で動くプログラムを作ることは格段に難易度が高いです。

 けれども、プログラムを全く知らない人がコマンドプロンプトやターミナルを見て、難しそうだと思わないわけも又ないと思うのです。

 プログラミングは今のところ、このギャップを何らかの手段で超えられた人だけのものになっていないかと感じています。

 このギャップを埋める手段として理想的であり、今目指されているものは、グラフィカルなものを扱うプログラムを作る難易度をさらに下げる、というものでしょう。しかしそれにはまだしばらく時間がかかりそうです。

 そうではなく、今プログラミングを始めたい人に対してはどうしたらいいのでしょう?

 個人的には、遠回りにはなってもコマンドプロンプトやターミナルといった、テキストだけの環境を学ぶことから始めたほうがいいのではないかと思います。そのほうが、小さい問題から取り組めると思うからです。

 例えば、1から100まで表示するプログラムを作るときに、テキストだけの環境ならば1を表示して次は2を表示して…、とやることはシンプルですが、これを『普通の』プログラムのようにするには、まずウィンドウを表示させて、そのウィンドウの中に文字を表示するスペースを確保して、その中に1を表示して2を表示して…、とやることが途端に煩雑になります。

 大きな問題を小さな問題に分解して、小さな問題の答えを組み合わせて大きな問題を解く、というのはプログラミングをする中で非常に重要な考え方になります。

 けれどもその手法を扱うには、小さい問題とはどのくらいのもので、それらをどうやって解けばいいのかということを学ぶ必要があります。そしてそれを学ぶのにはテキストだけの環境のほうが有利だとおもうのです。

 でもこれは、私の体験談から出てくる話なので、もっと別のアプローチからプログラミングを始めて楽しんでいるよというお話や、こういうやり方でプログラミングを始めようとしたんだけどうまくいかなかった、というお話などがもしあったら聞きたいなぁと思っています。

伝えたいから残すんだ、そして覚えていてほしい

 人が最後に望むことは、「伝えたい」ということだ、という話がある。

 また、ある漫画家さんのあとがきにあった話だが、「自分の単行本を見ていると、残る仕事を選んでよかった」というものがあり、この言葉は私の心に非常に鮮烈な印象を焼き付け、同時に羨ましいとも思ったものだ。

 そして私の話だが、私は今よりずっと消え入りそうな気持ちでいた頃、夢を見ていた。私が描いた絵を世界の誰かが覚えていてくれたらいいな、そういう夢だ。インターネットの片隅でひっそり公開している、自分の絵。見てくれている人は少ないかもしれないけれども、確かにいることは数字として現れている、そんな絵を。

 私は結構いろいろなことを覚えている。たった一回掲載された短編漫画とか、雑誌の投稿ハガキの内容とか、そういうことを。それらを思い出すたびに、私が覚えているということを作者は知らないのだということがなんだか信じられなかった。でも、だから夢を見られた。私のことも、私が知らないところで覚えてくれている人がいる、と。

 自分のことを伝えたい。そのために何かを(そう、漫画に限らず何かを)残したい。そして、自分がここにいたことを覚えていてほしい。

 これは多分、創作の動機というものすら超えた人間の根源的な感情なのではないのかと思う。なぜなら、人は生きているのならばカタチの有無にかかわらず何かを残すからだ。

 それはきっと誰かが見つけてくれるのだ。少なくともそう信じる限り、私たちの存在は透明にはならない。

 私の話に戻るが、私の絵を覚えてくれている人はちゃんといることがネットを通じてわかった。奇跡みたいなことってあるんだな、と思った。

 インターネットのおかげで、その奇跡を信じられる時代になったし、実際に奇跡が起こる時代になった。インターネットが変えたことは数多いけれど、私にとっては、もしかしたらささやかかもしれないこの奇跡が、一番大きなものだと思う。

 

関連記事

kze.hatenadiary.jp

空気感

 最近pixivの某ランカーさんと知り合いになりまして、絵に対していろいろとアドバイスをもらいました。

 そのアドバイスの中で一番響いたのが、「背景は白でもいい。空気にすればいいんだから」というのがありまして。

 そのアドバイスそのままにはなりませんでしたが、背景が空気になるように色を塗ってみたつもりです。

 あと、グリザイユ画法も勧められたので、それで塗ってみました。

 少しは成長してるかなぁ…。

【博麗霊夢】「霊夢陰陽図」イラスト/禎波ハヅキ(KZE) [pixiv]