かずきち。の日記

サーバサイドエンジニアのつぶやき

プログラミングの考え方は郵便配達の住所指定やカーナビの行き先指定やラーメンの作り方を丁寧に説明しているに近い


引用:
https://brik.co.jp/tips/1101

現実世界とプログラミングは何が違う?

プログラミングを初学で始める方、まだまだ難しいなと思うのはなぜか?
java/python/Cなどのプログラミング言語というのは基本的に「世の中を何も知らない」コンピュータに教え込む操作だから難しい。


引用:
https://www.irasutoya.com/2018/01/blog-post_340.html

お母さんが赤ちゃんに車を見せて「ブーブー」と教えて、いつか覚えてくれると思ってお母さんは一生懸命教え込む。
赤ちゃんの記憶がいつか定着してくれて、車を覚えてくれるのを期待しながら。
大人になるに連れてお母さんはもう車を教え込まなくて良くなってくる。

同様にプログラミングをすることはコンピュータに何かを教え込むこと

プログラミングというのは基本的に意味不明なコードのことを言うのだが、一体どんな事が書いてあるのか?
基本的には人間が行っていることが手順になって書かれているのがプログラミングコードである。

例えばの話をしよう。
家でカップラーメンを作る時にお湯を入れて3分みたいなことを書いている。

これはあくまでも人間を対象にした説明で、プログラミングすることはお留守番の小学生(体力や記憶力はあるとする)にもわかるように説明することだ。
お母さんはきっと子供に「カップラーメンの作り方」というメモを置いていくでしょう。

そこにはお湯を入れて3分とは書いていないはずです。
お母さんはこんなメモを残すはずです。

メモリを更新しました
カップラーメンの作り方
準備するものを確認しよう

カップラーメン(お好みの味のもの)
お湯(ポットなどで沸かす)
箸(麺を食べるため)
やけどしないように注意するためのミトンやタオル
カップラーメンのふたを開けよう

カップラーメンをテーブルに置いて、安定させる。
カップラーメンのふたを、半分くらいまでめくろう(全部取らないこと)。
ふたの裏にスープや調味料の袋がある場合は取り出しておこう。
お湯を用意しよう

ポットをキッチンの安全な場所に置く。
ポットのふたを開けて、水を入れよう。
ポットのスイッチを入れてお湯を沸かす。
お湯が沸騰したら、ポットのスイッチを切って注意しながら持とう。
カップラーメンにお湯を入れよう

ポットを両手でしっかり持ち、テーブルの上のカップラーメンの近くに移動しよう。
お湯をカップラーメンの内側にある線(お湯の目安の線)まで静かに注ぐ。
ポットのお湯がこぼれないようにゆっくり動かし、使い終わったら元の場所に戻しておこう。
ふたを閉じよう

お湯を入れ終わったら、カップラーメンのふたを元通り閉じる。
ふたが開かないように、お皿やお箸で軽く押さえておくと良いよ。
3分間待とう

キッチンタイマーや時計で3分間を測ろう。
待っている間に、調味料やスープの袋を開ける準備をしておこう。
調味料を入れよう

3分経ったらふたをゆっくり開けよう。
調味料の袋を開けて、カップラーメンに入れる。
箸を使ってスープと麺をよく混ぜよう。
ラーメンを食べよう

箸を使って麺を持ち上げ、ふうふうと息を吹きかけて冷ましてから食べよう。
やけどしないように、気をつけながら食べてね。
ポイント
お湯を注ぐときは、大人に手伝ってもらうと安全です。
カップラーメンをテーブルの安定した場所に置いて作業しましょう。
ポットやカップラーメンが倒れないように気をつけてね。
これで美味しいカップラーメンが作れるよ!

たかだかカップラーメンお湯入れて3分を幼児に説明するにはこんな説明が必要です。
しかも「準備」って何?「安全」って何?「場所」って何?っていう各単語への説明もこの手順書には必要なのです。
なにせまだ学校では「準備」や「安全」って言葉は習っていない子供ですからね。
なのでお母さんはメモで

「準備(じゅんび)」は、何かを始める前に、必要なものややることをそろえておくことです。たとえば、カップラーメンを作る時は、お湯を沸かしたり、カップラーメンとお箸を用意したりします。こうして、すぐに作れるようにしておくことが「準備」です。

注目記事