この記事は戀塚昭彦氏が,2008年3月24日に発売した日経ソフトウエア2008年5月号の特集「はじめてのプログラミング」向けに著したものの再掲です。記述された内容は,執筆当時の情報に基づいています。

 プログラミングをしてみたいそうですね。

 私はいつも,コンピュータやネットワークの向こうにいる使い手を思って,プログラミングをしています。そのプログラムが,560万人のためのものであっても,ある会社のある部門の人のためのものであっても,自分一人のためのものであっても。使い手を思い,その期待に応えられるプログラムを書こうとします。

 ここでは,プログラムはその使い手に宛てた「メッセージ」だということを伝えたいと思います。

 たぶんあなたは,私と同じことをすでにしたことがあるでしょう。Excelで,式を書いたことがありますか? 合計値を出す,平均値を求める…この程度なら書いたことがあるのではないかと思います。これは立派なプログラムです。

 あなたが,あなたというユーザーの期待に応えるために書いたメッセージではありませんか。

 私が作ったプログラムの一つに,ニコニコ動画というWebサイトがあります(http://www.nicovideo.jp/)。2006年12月に公開したこのプログラムに込めたメッセージは,とても多くの使い手に届きました。今も届き続けています。

 プログラムを使ってくれること,ときには意見してくれること---これらを通して,メッセージが届いたことがわかります。受け取った意見のうちの一部は,またメッセージとして返信します。この繰り返しは,とても楽しいものです。

 プログラムが使われ続ける間,メッセージは届き続けます。


 プログラムは「アイデア」をもとに,「知識」を利用して作ります。

 世の中には,たくさんの「アイデア」があります。「このほうがいい」「こうなったらいいな」…小さくても大きくても,すべてアイデアです。

 私にとっての勉強は,先人が書いたメッセージを通して,このアイデアを知ることです。プログラマの私にとって,最良の教材はプログラムです。そのプログラムの動き方,データとデータの組み合わせ方---メッセージに埋まったアイデアをよく見て,学んでいきます。

 アイデアは,基本的には既存の語彙(ごい)を組み合わせていく作業から生まれます。ある要素と,ほかの要素を,自分の頭の中でつなぎ合わせるのです。この作業は,言葉でいえばダジャレを考えるときとよく似ています。

 そこにひらめきがあると,突然魅力的なアイデアが“生まれた”ように感じます。


 世の中には,たくさんの「知識」があります。特にプログラミングでは,プログラムを書く道具の知識が重要です。先のExcelも,たぶんこの特集でたくさん紹介されているプログラミング言語も,プログラムを書く道具です。

 道具は,徹底的にいじってください。そうして得た知識は強力です。幸いソフトウエアは,試行錯誤しても,時間以外の資源はあまり費やしません。

 道具の知識は,あればあるほど,その力を引き出せます。道具を目一杯活用できると,楽に,素早く,楽しく,アイデアを形にできます。

 こうしてため込んだアイデアと知識を,いざというときに使います。チャンスが来たときに,形にする力として,一気に。

 ニコニコ動画は,私にとってのそれでした。私の中にあるアイデアや知識だけでなく,様々な材料,状況,そして仲間が,あらゆる方向から1カ所に,あるタイミングで集まりました。たまたまその付近に私がいたから巻き込まれただけとも思います。でも,これはチャンスでした。つかむことができました。


 プログラミングを始めて間もないころは,いろいろと難しいかもしれません。でも,自分が使って満足できるプログラムを作れば,絶対に大丈夫です。

 このメッセージがあなたに届くことを願っています。


戀塚 昭彦(こいづか あきひこ)
ドワンゴ 研究開発本部 研究開発部 技術支援セクションに所属するエンジニア。ニコニコ動画(http://www.nicovideo.jp/)の開発者の一人。そのプロトタイプを3営業日で開発した。1990年代に人気を集めたゲーム・ソフト開発集団Bio_100%のメンバー。
http://b.hatena.ne.jp/koizuka/