第13回|まちがえても、世界はこわれなかった(やさしい”プログラミングの世界”シリーズ)

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

System Note $ cat /proc/ai-disclosure

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

まちがえても、世界はこわれなかったことを静かに伝えるイラスト

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

目次

書いたとおりに動かなかった夜、画面の前で息を止める

この物語をここまで読み進めてくれたあなたは、今、自分の手で小さなコードを書き始めているかもしれません。
順番を考え、名札をつけ、道を選び、くり返しを使いこなす。
少しずつ自分の考えが形になっていく喜びを感じ始めたころ、ある静かな夜、こんな瞬間に立ち会うことがあります。

たしかに考えて書いたはずなのに、思ったように動かない。
画面には予想とちがう結果が出る。あるいは、沈黙したまま何も起きない。
そんなとき、胸の奥が少しだけキュッとして、思わず息を止めてしまうことはありませんか?

「何か、取り返しのつかないことをしてしまったのではないか」
「自分のせいで、コンピューターが壊れてしまったのではないか」
画面に現れた見慣れない記号を前にして、立ち止まってしまう。それは、あなたがプログラミングという新しい言葉を、とても大切に扱おうとしている証拠でもあります。

どうして「間違えること」がこんなに怖いのだろう

私たちはいつの間にか、「間違えることは、いけないことだ」と教わってきました。
テストの点数が引かれたり、誰かに迷惑をかけたり、期待を裏切ってしまったり。
だから、プログラムが動かないとき、それを自分の「失敗」や「能力不足」のように感じて、落ち込んでしまうのです。

でも、一度だけ深呼吸をして、目の前の画面を眺めてみてください。
そこにあるのは、本当に「終わり」の合図なのでしょうか。
あなたが一行書き直す権利を奪うような、冷たい拒絶なのでしょうか。

プログラムは、何度でも書き直せる「下書き」のようなもの

プログラミングの最大の特徴は、それが「何度でもやり直せる世界」であるということです。
間違えたからといって、高価な部品が壊れるわけではありません。誰かの心を傷つけるわけでもありません。
ただ、今の書き方では意味が届かなかった。ただ、それだけのことなのです。

コンピューターは、あなたが何度間違えても、嫌な顔ひとつせずに待っていてくれます。
「もう一度、違う言い方で教えて」と、いつまでも静かに待ってくれる、世界で一番気の長い聞き手なのです。
だから、プログラミングにおける間違いは「失敗」ではなく、より良い伝え方を見つけるための「相談」だと考えてみてください。

一文字の違いは、ただの「すれ違い」

たとえば、名前のつづりを一文字だけ間違えてしまったとき。
私たち人間なら、「ああ、あの人のことね」と気を利かせて理解してあげることができます。

my_name = "ミナ"
print(my_neme)  # 「a」が「e」になってしまった

けれど、実直なコンピューターは、「『my_neme』なんていう名前の人は知らないよ」と首をかしげて立ち止まります。
これを「自分のミス」だと重く受け止める必要はありません。
「ごめん、今の呼び方はちょっと違ったね」と、一文字書き直してあげるだけで、世界はまた静かに動き出します。

間違えることは、対話が続いている証でもある

もし、あなたが何も書かなければ、間違いが起きることもありません。
でもそれは、世界とまだ話し始めていないということでもあります。

間違いが現れるのは、あなたが何かを伝えようとし、コンピューターがそれに応えようとしているからです。
つまり、対話はもう始まっているのです。
その途中で、少しだけ言葉がずれた。それだけのことです。

そう思えるようになると、エラーメッセージはもう怖い「赤い印」ではなくなります。
あなたの考えをより深く理解したいと願うコンピューターからの、ささやかな質問のように見えてくるはずです。

まとめ|世界は、やり直せるようにできている

この回では、間違いとやり直しについての考え方をたどってきました。
プログラムが思った通りに動かないとき、そこにあるのは世界の終わりではありません。

間違えても、世界は壊れません。
間違えても、あなたはまた何度でも挑戦できます。
むしろ、たくさん間違える人ほど、コンピューターとの対話に慣れ、優しい伝え方をたくさん知ることになります。

失敗を恐れて筆を止めるより、たくさん間違えて、たくさん「ごめん、書き直すね」と言える人になりましょう。
そのたびに、あなたのプログラミングの世界は、もっと自由で、もっと親しみやすいものになっていくはずです。

次回予告|プログラムは、一瞬だけでなく時間の中で動いている

やり直しながら見ていると、もうひとつ気づくことがあります。
プログラムは、ただ一度だけ結果を出して終わるとは限らない、ということです。
待ったり、くり返したり、少しずつ変わったりしながら、時間の中で動くものもあります。

次回は、プログラムが「今」と「次」を持ちながら進んでいく姿を見ていきます。
時間の流れが入ると、世界はどんなふうに見え方を変えるのでしょうか。

さらに学びたいあなたへ

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

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

この記事を書いた人

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

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

Created by UNIX Cafe

目次