第5回|何度もくり返すのは、忘れないためのやさしさ(やさしいプログラミングの世界)

* 当サイトでは、コンテンツの一部に広告を掲載しています。

System Note $ cat /proc/ai-disclosure

本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。

第5回|何度もくり返すのは、忘れないためのやさしさ(やさしいプログラミングの世界)

やさしいプログラミングの世界 | 第5回

目次

導入|同じ名前を何度も呼ぶうちに、声が少し疲れてくる午後

教室でプリントを配る場面を想像してみてください。
一人ひとりの席をまわり、名前を呼んで、紙を手渡して、また次の人のもとへ。
やることはずっと同じはずなのに、十人、二十人と続けていくうちに、ふと足取りが重くなる瞬間があります。

最初の数回なら、ひとつずつ丁寧にこなすのも難しいことではありません。
けれど、人数が増えるほどに、同じ言葉を何度も繰り返し、同じ動きを重ねることになります。
そうすると、急がなくていいところで気持ちが焦ってしまったり、うっかり一人分を飛ばしそうになったりすることもあります。

同じことをくり返すとき、私たちの心はどうしても少しずつ揺れてしまいます。
プログラミングの世界に「くり返し」という考え方があるのは、単に楽をするためではありません。
その「揺れ」から自由になって、最後まで手順を壊さずに進むためなのです。

小さな疑問|同じことなら、そのたびに書けば足りるのだろうか

「これをする」「次もこれをする」「もう一度これをする」……。
もちろん、同じ手順をそのまま何度も書き並べていけば、コンピューターは動いてくれます。
数回であれば、それでも困ることはないかもしれません。

けれど、その回数が百回、千回と増えていったらどうでしょう。
書く量が増えるだけでなく、もし途中で一行だけ書き間違えてしまったら、
「同じはずの手順」の中に、小さな、けれど見過ごせない「ずれ」が生まれてしまいます。

では、どうすれば同じ手順を、どんなに長くても落ち着いて続けていけるのでしょうか。

やさしい概念説明|くり返しは、大切な手順を「形」のまま保つこと

プログラミングでは、同じような動きを何度も行いたいとき、「くり返し」という箱の中に手順をしまいます。
これは、手順そのものに「これは何度もくり返す大切な約束だよ」という印をつけるようなものです。

たとえば、名簿を上から順に見ていくとき、一人ずつの名前を確認する「動き」そのものは変わりません。
違うのは、そのときに向き合っている相手の名前だけです。
そんなとき、毎回手順を書き直すのではなく、「この動きを、順番にくり返す」と伝えておくほうが、ずっと自然な形になります。

くり返しとは、作業を省略することではありません。
「大切な手順を、何度でも、最初と同じ丁寧さで守り続ける」ための仕組みなのです。
どれほど回数が重なっても、疲れることなく、決めたことを誠実に守り抜く。
それは、コンピューターが得意とする、とても静かで力強いやさしさです。

小さな例|名簿の隣を、ひとりずつ歩くように

たとえば、三人の名前を順番に呼びかける様子をプログラムにしてみましょう。
まずは名前の並びを用意して、それをひとつずつ、丁寧に見つめていきます。

for name in ["ミナ", "ソラ", "ユイ"]:
    print(name)

ここでは、あらかじめ並べられた名前をひとつずつたどりながら、`print(name)` という動きをくり返しています。
私たちは一度だけ「名前を見せる」という手順を伝えるだけで大丈夫です。
コンピューターは、相手が入れかわっても、その手順を一度も忘れることなく続けてくれます。

この短い書き方の中に、「同じ動きを、対象を変えながら正確に続ける」というリズムが刻まれています。
これこそが、くり返しのいちばんやさしい姿です。

気づき|くり返しは手抜きではなく、丁寧さを守る方法

同じことをひとつにまとめると聞くと、どこか効率だけを求めているように思えるかもしれません。
けれどその本質は、省くことではなく、崩さないことにあります。

人は、同じ作業を続けるうちに、どうしても注意がこぼれ、手順が少しずつ雑になってしまうことがあります。
一方でコンピューターは、決められた約束をそのまま保ち続けることが何より得意です。
だから「くり返し」を使うことは、「面倒だからまとめる」のではなく、「大切な手順を、何度でも同じように守りたい」という誠実な願いに近いのです。

くり返しとは、忘れないためのやさしさです。
その都度がんばって思い出すのではなく、最初に整えた手順を、静かに何度でも使えるようにしておく。
そこに、プログラミングらしい誠実な美しさが宿っています。

まとめ|同じ手順を、何度でも同じように進めるために

この回では、くり返しという考え方を見てきました。
同じ処理を何度も行う場面では、そのたびに書き直すのではなく、くり返す「形」を整えてあげます。
そうすることで、プログラムの流れは読みやすく、その意味も崩れにくくなります。

くり返しは、近道をするための魔法ではありません。
同じことを、決して雑にしないための道です。
正確さを保ちながら前へ進むために、プログラムはこの誠実な形を持っています。

何度も続く動きに、迷わない道筋を与えてあげること。
それが、くり返しの本当の役割なのです。

次回予告|小さな部屋に仕事を分けると、世界は散らかりにくい

手順が増え、名前がつき、道が分かれ、くり返しもできるようになると、世界はぐっと広くなります。
けれど、すべてをひとつの場所に書き続けていると、だんだん部屋の中が散らかり、どこに何があるのか見えづらくなってくるかもしれません。

次回は、仕事を小さく分けるお話です。
やることに「部屋」を分け、それぞれに名前をつけておくと、なぜ世界はもっと自由で美しくなるのか。
その静かな理由を、一緒にたどってみましょう。

さらに学びたいあなたへ

用途ごとに選ぶ Linux のおすすめ本

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe マスター

Macintosh Color Classicから始まった旅は、長いWindows時代を経て、Windows10のサポート終了をきっかけにUNIXの世界へ戻ってきました。UNIX Cafeでは、UNIX・Linux・そしてMacな世界を、むずかしい言葉を使わず、物語のように書いています。プログラミングは、アイデアをコンピューターに伝えるための言葉です。簡単な単語と文法を覚えれば、誰でもコマンドを使えます。ぜひ一度、やさしいプログラミングの世界をのぞいてみてください。

Created by UNIX Cafe

目次