料理とプログラミングの美味しい?関係
- はじめに
みなさん、こんにちは。Lab4期の高橋千恵です。
この記事はこれからプログラミングを始めたい方や、始めたばかりの方を対象として書いています。私がこれまで料理や語学を習得した経験を通して、何かお伝えできればと思っています。
さてG’s Academyに入学して早2ヶ月。
私は未経験で入学したので、毎日絶賛プログラミングと格闘中です。
そんな中ある日ふと、プログラミングと料理ってなんだか似てるなーと思いました。
- 材料が先か?作りたいものが先か?
冷蔵庫にいくつか食材がある場合、それでどんな料理が作れるかを考えます。
すでにある材料をつなぎ合わせればいいわけですから、あまり考えなくてもパッと作れます。
それに対して一から料理を作る場合、作りたいものが最初から明確であれば特に問題はありません。
ただ作りたいもののアイディアが何も浮かばない場合は、作るものが決まるまで時間と労力を要します。
プログラミングもまったく同じでした。
あらかじめお題が決まっている場合は、それをアレンジすればいいので比較的作業は楽に進みます。
しかしゼロベースでサービスを作るとなると、こりゃもう大変です!
作りたいもののアイディアが出てくるまで、悩ましい時間を過ごさなければなりません。
- 本を見ながらプログラミングするって、どうなの?
料理も初めは本を見ながらしか作れません。
主婦になりたての頃、毎食レシピを見ながら料理をしていました。
はっきり言って、いきなり自力で料理を作ることはできませんでした。
しかもCookpadを調べても、同じ料理でいろいろなパターンのレシピが出てくるので迷います。
こちらのレシピとこちらのレシピはどこが違うのか?レシピの数が多ければ多いほど、迷ってしまって、作り始めることができません。
1つ1つ比較して、どちらのレシピで作るのか?はたまた掛け合わせるのか?決めなければなりませんでした。
そうしてようやく一つの料理が出来上がります。
ところがそれを毎日毎日繰り返していくと、だんだん料理の勘所がわかるようになってきます。
あまり甘い味付けが好きじゃないから、砂糖の量をレシピに書いてある量の2/3にしようとか、牛肉は高いから豚肉で置き換えようとか。
どんどん応用して作れるようになっていきます。
もちろんそこまで達するには、やはりある程度時間がかかります。
ちなみにある程度料理ができるようになった今もレシピを検索しますし、それを見ながら料理することだってあります。
すべてのレシピを覚えることは、ほぼ不可能です。
この点についても、プログラミングだってきっと同じはずです。
最初は本やチュートリアルを見ながらしか作ることができません。
こんなんでいいのかな?本当にプログラミングができるようになるのかな?という思いが浮かんでは消え…。
そういう思いが何度も何度もよぎると思いますが、めげずに何か簡単でもいいからプログラムを書いてみるしかありません。
続けていくうちに、なんとなくプログラミングの「勘所」がついてきて、自分が作りたいものを作ることができるようになってくるはずです。
私はまだこの段階ですが、作り続けていれば、かつての料理のように自分が作りたいものを作れるようになると信じています。
- 一番下手でも大丈夫!
プログラミングを始めたはいいけど、全然上達している実感が持てない。本当に大丈夫なんだろうか?
毎日悶々と過ごしてる方もいるかもしれません。
でも大丈夫です!
まだ結婚する前の話ですが、主人の家で料理を作ることがありました。
私は実家であまり料理をしたことがなかったので、超下手くそです。
とりあえずレシピ見ながら作り始めました。
何の料理を作ろうとしていたかは覚えていませんが、今でも鮮明に覚えている事件があります。
ひき肉を炒める段になって、なんとトレー毎フライパンに落としてしまったのです!
フライパンの上で溶けていくトレーを見ながら泣きそうになりました。
さすがに主人もこれには呆れたみたいです。これはかなりヤバいなと。
そんな私ですが、今ではちゃんと毎日料理できています。いや~、成長しましたね!
我ながら。
だから今一番下手だと感じていても、それは今だけの話。
下手くそなのは今だけ!とタカをくくりましょう!
始めは誰よりも下手だとしても、続けていくことで、自分でも予想していなかった場所にたどり着く時がくると思います。
途中紆余曲折があったとしても、進んでいればいつか正しい場所に到達するんですね。
- 続けること。
実はこれが一番難しいかもしれません。
私は英語とドイツ語が話せますが、ある程度のレベルに達した時に一番難しかったことは、「どのようにモチベーションを切らさずに、続けていくか」ということでした。
どのレベルになっても、必ず(高い低いの差は多少あれど)壁はやってきます。
平行線をたどっている時は、ただただ我慢が求められます。
高校生の時、通訳レベルの英語の先生がいました。その先生は毎日必ず英語のリスニングをしている言っていました。
通訳並みに英語がペラペラなのに、それでも毎日英語の勉強をしているのか!と驚いたことを覚えています。
語学の達人に聞いてみても「ひたすら続けるしかない。残念ながら都合の良い近道はない」とみんな口を揃えて言います。
良い時も悪い時も、ひたすら続けること。それが上達の秘訣なのだと思います。
ある日いきなり浮上したりするので、その時まで決して諦めてはいけません!
まさに ”Never, never, never give up!” です!
そしてこれまで上手く行かない時は、好き!楽しい!という気持ちが、何よりのモチベーションになってくれました。
例えばドイツ語に関して言いますと、会社でドイツ人の同僚とドイツ語で雑談できた時、手が震えるくらい楽しくて嬉しかったです。
その一瞬が糧になって、もっと頑張ろう!と気持ちを仕切り直すことができました。
そして好きという気持ちを優先して行動することが、何よりも自分を成長させてくれました。
好きなことを諦められる人はいないはずです。
プログラミングを好きという気持ちさえ持ち続けていれば、きっと明るい未来が待っているはずです!
- おまけの話
(1)調味料の関数化?!
料理を作る時に、必ず調味料を添加しますが、その時私は「量」ではなくて「比率」で考えています。
例えば味が薄かった時に、比率で足していけば、大怪我はしません。
材料がレシピの量より少ない場合にも、その量に対して比率で調味料を添加していけばOKです!
この考え方はプログラミングの関数に少し似てるかなと思いました。
まさに調味料の関数化?!ですね。
(2)もしG’s がクッキングスタジオだったら?
もしG’s がクッキングスタジオだったらと想像してみました。
はい、みなさん。今からカレーの作り方を説明しますね。
(3分でカレーの作り方を説明する)
ルーは市販のものを使ってもいいですし、自作もできます。
自作してみたい方は作り方をググってみて下さい。
またカレールーをベシャメルソースに変えるとシチューにもなりますよ。
やってみたい方はググってみて下さい。
はい、では各自カレーを作り始めて下さい!
…さしずめこんな感じでしょうか?
どんなルーを使うか?どんな具材を使うか?肉は牛なのか?豚なのか?鶏なのか?
必死で配布された資料を探しますが、載っていません。
どう作るかは作る人次第。アウトプットとしてカレーが出てくればいいので、
プロセスも人それぞれです。
料理もプログラミングも、最終的には自走力が大切というわけですね。
- 最後に
最後までお読み頂きましてありがとうございました。
どうぞ楽しいクリスマスをお過ごし下さい。
また少し早めではございますが、良いお年をお迎え下さいませ。