料理とプログラム

記事
IT・テクノロジー
プログラミングがマンネリ化してきて、ちょっと新しい方法で作成しようと試みているのですが、アイデアが貧弱でいまいち。
近所の図書館に行って、色々物色していました。
ある、「〇〇プログラミング講座」という本を借りてきて情報収集。
本当に初心者向けなので「あー失敗した。」なのですが
「プログラミングは料理といっしょ。」という説明があって
「ちょっと面白い。」と思って書いてみます。

「プログラミング」を学びたいと思っている方は多いようです。
「プログラミング」を義務教育に組み入れようとする動きすらあるようです。
その一番の理由は実際にプログラマーを養成するというより、プログラミングの考え方を「役立てる」という事のようです。

確かに一つの仕事をプログラミングするには、実際している仕事をどのようにシステム化してコンピュータにやらせるかを考えなければなりません。
まず、紙媒体のデータをデジタルのデータベース化する必要があります。
現在の手書きでの一連の処理を、パソコンに入力して処理する方法に切り替える。その時より省力化が求められますし、ミスが少ない手順にする必要もあります。単に手作業をPCのキーボードやマウス操作に切り替えるだけでなく、付随する様々な事柄も考慮しなければならないのです。

「ボタン一つを押したら、完成」だったらさぞかし楽だろうとは思ってみても「プログラミングとは何ぞや。」が最初に立ちはだかります。
それは言語の壁のようなものでもありますし、概念の壁のような部分もあります。

借りた本の中に「プログラミングは料理のよう。」という一文がありました。
「なるほど」とうまい例えだなあと思った次第です。
料理は材料と手順に分かれます。
材料は「データ」
手順は「プログラミング」
に例えられるでしょう。
手順の中には「下ごしらえ」があり「煮る、焼く、炒める等」があります。
材料と手順との組み合わせで料理が進んで行きます。
「こんなもの」とイメージするにはなかなかいいかもしれません。

プログラミング言語は英語の省略したワードが使われているものが多く
また、記号の組み合わせのようなものもあります。
その記号には意味があり、そうした「文法?」によって処理が進んで行きます。
基本時系列に上から下へ処理は進んで行きます。文章の「起承転結」的な要素はプログラミングにもあり、
その点文系的と言えると、その書籍は述べていました。
ですから「プログラミング」は理系の専売特許ではなく「文系」にも大きく門は開かれていると書かれていました。

経験上、大切なものは「分析能力」と「発想能力」が一番大事かなと思います。ある問題をどのように「解決」して行くかの「総合力」も問われるでしょうか。

こうした「問題解決能力」「総合力」がプログラミングを義務教育にで学ぶ大切な点ではないかと思います。

冷蔵庫の扉を開いて、残っている食材で「さて何を作ろうか?」と頭をぐるぐる使いメニューを考え料理を楽しめる人が、プログラミングもまた楽しめる人なのかもしれません。



サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す