Scratchから学べること (4)

「ねずみ」のお題の最後に、プログラマ達の間で知的財産を「独占」せず「共有」する、という素晴らしい慣習をお伝えします。
ねずみが「捕まえようとすると逃げる」の宿題はできていますか。
答え合わせ!バーンッ

答えは一緒ですか。
一緒じゃなくて大丈夫です。
それはあなたがご自身で考えたことの証明です。ご自身で導いた答えを大切にしてください。
ところで今の文章、第3回の出だしとそっくりだったのだけど、先生、文章をコピペしていませんか!
ソースの再利用性
もしそういう感想をお持ちでしたら、お褒めの言葉と受け取ります。
何故なら、僕たちプログラマは、「ソースの再利用性」を推奨しているからです。つまり、コピペですね!
ハンバーガーを作ったら、パンと肉と野菜を消費しますが、プログラムのソースコードをコピペしたところで、地球の資源(電力とかは別で)は何一つ減りません。
だから僕たちは、コピペを悪と捉えません。
そして、礼儀を欠かしません。
コピペ元には、敬意を表して、ソースコードにライセンスを明記します。ライセンスの部分は「コメント」と言って、その分ファイルはかさむけれど、ソースコードの中にプログラムと関係無い部分をそのまま英語で書いておくのです。
プログラマの間に、そんな礼儀があるなんて、驚きじゃありませんか。
商用利用の原則
でもこういうことって、凄く大事なことだって分かりますか。
だって、せっかく時間を欠けて作ったものを、他人に勝手に使われて大きな顔をされていたら、たまったもんじゃありませんよね。仕事のやる気が無くなるじゃないですか。
なのに、こういう大切なことを、きちんと教えてくれる場所ってあんまり無いんです。
僕は、この現実が酷く悲しいです。
でも裏を返せば素晴らしいことです。
僕たちは、知的財産を「独占」せず、「共有」するということですから!
もう一度言いますが、コピペ元には、敬意を表して、ライセンスを明記します。ですが、これはただのガイドラインで、事実上の法的拘束力はありません。
最適解
実は、さっきの僕の回答例は、最適解ではありません。
僕が本当に書いたコードはこちらです。

違いは明らかですね?
「メッセージ」を使って、「ソースの再利用」をしている訳です。
ライセンス云々の問題ではなく、そういう風にコードを書いた方が、早く完成を目指せるし、メンテナンス箇所が少なく済んで管理が楽になるからです。
このような一つの動作のまとまりを「関数」と言ったりします。関数に分かりやすい名前を付けておくことで、プログラムが何の働きをするのかも、一目瞭然になります。
さて、最後に全てのプログラムの完成形を載せておきましょう。


今日の内容は、実際にブロックを組み立てた作品を、以下のリンクから見ることができます。
https://scratch.mit.edu/projects/391532833/
この連載は、この第4回をもって終わりです。
プログラミングから学べる大切なことが、少しは伝わりましたでしょうか。
ここまでお読みくださり、誠にありがとうございました。