第18回|世界は、いつも「返事」を待っている(やさしい”プログラミングの世界”シリーズ)

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

System Note $ cat /proc/ai-disclosure

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

言葉に返事が返ってくる世界を表したイラスト

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

目次

ドアをノックすると、向こう側から何かが返ってくる

静かな廊下で、閉ざされたドアをそっとノックしてみる。
すると中から「どうぞ」という声や、椅子を引くかすかな音が返ってくることがあります。
その返事があるだけで、私たちはドアの向こうに誰かがいることを知り、自分の手がかりが届いたことを確信します。

たとえ返事がなくても、それ自体が「今は誰もいない」あるいは「今は話せない」という、ひとつの返事になることもあります。
大切なのは、こちらが働きかけたことに対して、何らかの「応答」が戻ってくるということです。

コンピューターの世界も、実はこの「ノックと返事」のくり返しでできています。
私たちが言葉(コード)を送り、向こう側から結果や表示、ときには沈黙やエラーが返ってくる。
プログラミングとは、独り言を綴るのではなく、世界と交わす「終わりのない対話」なのです。

送りっぱなしでは、いけないのだろうか

「自分はただ、これを計算してほしい、これを表示してほしいと伝えているだけだ」
そう感じるかもしれません。
たしかに、命令を送る瞬間、私たちの意識は「こちらからの一方的なお願い」に向いています。

けれど、もし送ったきりで何も返ってこなかったとしたら、私たちはどうすればいいかわからなくなってしまいます。
「今の言葉は届いたのかな?」「ちゃんと理解してくれたのかな?」
返事がない世界では、次の一歩をどちらに踏み出すべきかさえ、決めることができないのです。

返事を受け取って、はじめて関係が生まれる

プログラミングにおいて、何かの動作を求めたあとに戻ってくる結果を「戻り値(もどりち)」や「レスポンス」と呼びます。これは文字通り、世界からあなたへの「返信」です。

  • たとえば、「今、何時?」と問いかければ、コンピューターは今の時間を教えてくれます。
  • 「この箱の中身を見せて」と頼めば、中に入っている文字を取り出して見せてくれます。
  • この「送る」と「返る」という一往復が完了してはじめて、プログラムの中の物語は前へと進んでいきます。

私たちが学んできた順番や条件分岐も、実はこの「返事」をどう受け取るかによって、次の道筋を決めるための工夫なのです。
対話とは、相手の言葉を聴くことから始まる。プログラミングも、それと同じくらい、返事に耳を澄ますことが大切なのです。

一言の挨拶も、世界とのキャッチボール

画面に名前を表示するだけの簡単な動作も、実は立派な対話です。

print("こんにちは、ミナ")

ここでは、あなたがコンピューターに「この言葉を表示してほしい」という願いを預けています。
すると世界は、画面に「こんにちは、ミナ」という光を映し出して返してきます。
たったそれだけのことですが、ここには「願い」と「応答」の確かな関係があります。

もし、あなたが渡した名前が空っぽだったら、世界は戸惑ったような返事を返すかもしれません。
もし書き方を間違えていれば、「エラー」という名の、少し不器用な返事が返ってくるでしょう。
その返事のひとつひとつを見ることで、あなたはまた次の言葉を選ぶことができるのです。

エラーさえも、学びを前へ進める「声」になる

うまくいったときの返事は、もちろん安心をくれます。
でも、思い通りでなかったときの返事にも、実は同じくらい、あるいはそれ以上に大切な意味が込められています。

エラーは、決してあなたを責める声ではなく、「ここは今の私には理解できないよ」という正直な返事です。
何も起きない沈黙は、「まだ言葉が届いていないのかもしれないよ」と考えるきっかけをくれます。
予想外の結果が返ってきたら、それは「私の考えと、世界の仕組みが少しずれていたんだな」という新しい発見になります。

返事があるから、私たちは迷いながらも歩き続けることができます。
プログラムが動かないことを悲しまないでください。それは、世界があなたに一生懸命、何らかのサインを送ってくれている証拠なのですから。

まとめ|プログラミングは、返ってくるものまで含んだ「対話」

この回では、世界から返ってくる「返事」の意味を見つめてきました。
プログラミングは、命令を送って終わりの「一方通行」ではありません。
送った言葉がどう響き、どんな答えが戻ってくるか。それを受け取るところまで含めて、ひとつの美しい円を描いています。

期待した答えも、そうでない答えも、すべてはあなたとコンピューターが心を通わせようとしている歩みの一部です。
返事を大切に受け取り、また新しい一言を紡ぐ。
そのくり返しの中で、あなたのプログラムはより豊かに、より優しく育っていくはずです。

次回予告|見えない糸をたどって、広い海へ漕ぎ出す

自分の部屋で交わしてきた「返事」のやり取り。それはやがて、画面の枠を超えて外の世界へと広がっていきます。
見えない糸は壁を抜け、地面の下を通り、遥か遠い国にいる誰かのコンピューターへとつながっています。

次回は、「通信」という名の、広大なネットワークのお話です。
あなたの「ノック」が世界中を旅して、思いもよらない場所から返事が戻ってくる。
そんな情報の旅路を、物語の続きとして一緒にたどってみましょう。

さらに学びたいあなたへ

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

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

この記事を書いた人

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

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

Created by UNIX Cafe

目次