プログラムは料理だ

プログラムを組むというと、わけのわからない何やら魔法のようなプログラムのソースコードをぐだぐだと大量に書くらしい、何しているのかさっぱりわからん、というのが一般人の感触だと思う。

「普通の人」に仕事を説明するときに僕は料理にたとえることが多い。一般人のオネーサンと飲んでいるときならこんな感じで話す。



ギーク「プログラムってさぁ、作るところイメージできないかもしれないけど、例えるなら料理を作るようなもんなんだよ。」
女の子「料理?」
ギ「そう、料理。例えば、今日の食べたい物があるとするじゃん。例えば面倒だけどグラタンとか食べたいとするじゃん。」
女「グラタンw えー。大変じゃん。」
ギ「うん。大変なんだよ。グラタン。で、そのグラタン作るわけなんだけど、作り方知ってる?」
女「マカロニとか茹でて、ホワイトソースかけて、チーズかけてオーブンで焼くー」
ギ「そうそう。料理得意そうじゃん。材料とかもだいたいイメージできるでしょ。まずスーパーに行って足りない材料買わないといけない」
女「うんうん」
ギ「僕らがやってるのは、こういう料理食べたいー!って注文に対して、材料集めて、調理して、お望みの料理をお出しするって仕事なわけ。」
女「そうなの?全然イメージできない」
ギ「でもそんな感じなんだよ。まずは材料集めというか、いまだとグラフィックとか凄いじゃん?あれ、全部一から作ってるわけじゃなくて、結構できあいの材料からできているんだよ。それを集める。」
女「材料?」
ギ「ポリゴンとかって普通は一から作ったりしないんだよ。例えばさっきのグラタンのホワイトソースなんだけど、缶詰になってる奴を買ってくれば簡単なんだけど、バターと小麦粉と牛乳から作ったらすっごく大変じゃん?」
女「大変ー。すっごい時間かかる。焦がしたら最悪だし。」
ギ「だから、出来あいのソースを使う方が楽して早く作れるわけ。でも、僕のホワイトソースはこうじゃないんだよ!ってこだわりがある人もいるかもしれない。」
女「そんなw シェフじゃないんだからw」
ギ「だよねw だけどオリジナリティっていうか、自分風味にしたかったらそこを手作りしないといけない。時間もかかるし手間もかかる。プログラムも出来あいの缶詰使えば楽で早いんだけど、ちょっと違うよなーってのもあって。手作りするとか、改造するとかするんだよ。」
女「えー。そんな簡単にできるもんなの?」
ギ「んー。できるようになっちゃえば簡単だけど…。ほら、今、僕ら箸もってるじゃん?これ日本人なら全然意識もせずに使えるでしょ。でも例えばアメリカ人が箸を使おうとしたら大変じゃん?」
女「わかるわかるw 必死で練習するのかな」
ギ「それと一緒で、プログラムって最初の練習は必死なんだけど、できるようになったらわりと当たり前にやれちゃう。」
女「ほんとー?」
ギ「ほんと、ほんと。たとえば、ピアニストとか、音楽家の人ってさ、鼻歌みたいなののイメージを楽譜なんかなくったってぱっと弾けるわけ。通訳の人だって、頭の中でSVOCとか考えてなくて、ぱっと翻訳しちゃうわけ。慣れちゃうと考えなくても反応ですらすら出てくるんだよ。それと一緒」
女「凄い凄い。じゃぁゲームみたいなのもすらすら作れちゃうの?」
ギ「んー。ゲームとかってああ見えて大変なんだよ。だからグラタンとかロールキャベツみたいなもんで、作るのが面倒なやつ。」
女「あ、ゲームってグラタンなんだw」
ギ「そうそう、ゲームはグラタンw で、ひとくちにゲームっていってもグラタンなゲームもあれば、ロールキャベツのゲームもあって、材料も作り方も違う」
女「どうするの?」
ギ「こう、完成をイメージするじゃん?おいしそうなグラタンをイメージする。食べた時の具とか味付けをイメージするでしょ。ほら、おいしそう」
「w」
ギ「で、そこで、材料に戻ってw」
女「戻るんだw」
ギ「戻らないと作れないからねw で、材料なにを揃えるか、調理方法をどうするかを考える。ま、グラタンとかはっきりしている奴はいいんだけど、創作料理みたいな感じのレシピ集に載ってないようなの作りたくなったりするんだよ。」
女「レベル高いw」
ギ「でも、やっぱり材料コレで、スープとかこうやって作る、こんな風に切って焼いて盛りつけるってのを考えるわけじゃん?それと同じで、こういうのを作る!っていう完成イメージと、どうやって作る?って部分を考えて、あとは実行する」
女「ふーん。でも難しそう」
ギ「でも、ほら料理できなければコンビニ弁当みたいに出来合いのを食べればいいしw」
女「コンビニ弁当w 一気にレベル下がったw」
ギ「だって作れないんだったらしょうがないじゃん?あとは作るのが面倒なときとか。だから、お店にソフトいろいろ売ってるでしょ。作れないなら買えばいいんだよ。コンビニ弁当。」
女「あれコンビニ弁当なの?w ExcelとかWordもコンビニ弁当?」
ギ「そうそう、コンビニ弁当。僕らはコンビニ弁当の企画立てたりとかもしてるわけ。」



正直、あんまりコレといった内容のある話にはなってないんだけど、なんとなく業界の話をすることができる。