プログラミングって何?
プログラミングの目的は、何も知らない人が、その文章だけを読んで同じことができるようにすることです。
例えば
「前へ進んでください。」
と命令したとします。
ところが、
北に向いている人が前に進んだら北に進みます。
南に向いている人が前に進んだら南に進みます。
これだと最初の位置によって、動く方向が違ってしまいますよね。
だからまず、
「北を向いてください。」
と指示しないといけないですよね。
次に前に進むと言っても、車で進むのか、歩いて進むのかでも違ってきますよね。
こんなことをするだけです。
書いてあるメモだけを見て、みんなが同じことができるかどうか。
これだけです。簡単のようで難しい。これがプログラミング。
普通は、暗黙の前提がありますから、雑なメモでも目的が果たせます。
江坂の駅に行くのに、「新御堂筋を左に曲がって、10分。」
と言った時も、ちゃんとどこからスタートして、どの方向で、どれぐらいのスピードで進むのか常識的な前提がありますよね。
それがないんです。
極端は人は御堂筋を曲がって、タクシ―に乗って10分猛スピードで走って、新大阪まで行ってしまいます。
江坂を通り過ぎようが「10分」と言われているから10分走るんですよね。
逆に、赤ちゃんのように、ハイハイして、いつまでたっても駅にたどりつかない人も出ます。10分たっても数メートルしか進んでいません。
江坂駅についていないけど止まります。だって「10分」ハイハイしたから。
こんな風に何にも知らない人に教えるのがプログラミングです。結構難しいですよ。
一休さんの「とんち」にも負けないようにメモしないといけなんですね。
「このはし、(橋)(端)わたるな」というのと同じです。
いじわるな「とんち小僧」をへこますことが大事なんですね。
いじわるなやつとの知恵比べをして、道案内すると思ってください。
何を命令しているか知らずに、ロボットを動かしても何も身につきません。そもそもロボットを動かすという前提がありますよね。
おもちゃのスイッチがちょっと複雑になっているだけですよね。
そうならないようにしましょうね。