第14回|プログラムは、時間の中で生きている(やさしい”プログラミングの世界”シリーズ)

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

System Note $ cat /proc/ai-disclosure

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

時間の中で動き続けるプログラムを表したイラスト

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

目次

静かな画面の中で、少しずつ変わり続けるもの

時計の針は、一気に12時間分を跳ぶのではなく、一秒一秒を丁寧にかさねて進んでいきます。
窓の外の景色も、ある瞬間にパッと明るくなるのではなく、気づかないほどゆっくりとしたグラデーションを描きながら変わっていきます。

時間の中で動くものは、たいていそうやって静かです。
プログラムも、ときどきそれに似た表情を見せることがあります。
ボタンを押してすぐに返事が来るものもあれば、何かの変化をじっと待ってから動き出すものもある。
一瞬の計算だけで終わるのではなく、今の状態を保ちながら、ゆっくりと姿を変えていくのです。

これまで見てきたコードが「一瞬の閃き」だとしたら、今回お話しするのは、プログラムが「呼吸」をしながら、時間という川を流れていく姿についてです。

一瞬で終わるものと、ずっと続いているものの違い

「1+1」という計算は、答えを出した瞬間にその役割を終えます。
名札をつけた箱(変数)も、プログラムが止まればその中身は消えてしまいます。
でも、私たちがふだん使っている道具はどうでしょう。

たとえば、音楽プレーヤー。今どの曲を聴いているのかを、一曲が終わるまでずっと覚えています。
たとえば、温度計。今の気温を測り続け、一分前とは違う「今」を映し出し続けます。
彼らはどうやって、過ぎ去っていく時間の中で「自分」を保ち続けているのでしょうか。

やさしい概念説明|「今の自分」を覚えて、次の一歩へつなげる

プログラムが時間の中で生きるために必要なのは、「今の状態」を持ち続けることです。
これは、前の瞬間の自分から、今の自分へと、そっとバトンを手渡すような行為です。

  • 「さっきはここにいたから、次はあっちへ行こう」
  • 「今はここまで数えたから、次はひとつ増やそう」

そうやって、過去の結果を「今の状態」として抱えながら進むことで、プログラムの中に「時間の流れ」が生まれます。

この「状態」を意識すると、プログラムはただの計算機ではなくなります。
あなたの操作に反応して少しずつ育ち、変化し続ける、一つの「生きている仕組み」に見えてくるはずです。

一歩ずつ、階段をのぼるように

数字をひとつずつ増やしていく様子を、時間の流れとして考えてみましょう。
ただ数字を並べるのではなく、「今の数」を上書きしながら進んでいきます。

count = 0
count = count + 1
count = count + 1

この不思議な書き方は、「今の自分(count)」に「1」を足して、また「新しい自分」として覚え直すという約束です。
0が1になり、その次は2になる。
一行ごとに、プログラムは「過去の自分」を土台にして、新しい自分へと生まれ変わっています。
そこには、たしかに「時間」という一歩一歩の歩みが刻まれているのです。

時間があるから、世界は育っていく

時間の流れが入ると、プログラムの世界はずっと豊かになります。
結果を出してすぐに消えてしまう一輪挿しの花ではなく、水をやるたびに少しずつ枝を伸ばす鉢植えの木のように、プログラムを「育てる」ことができるようになるからです。

昨日より今日、今日より明日。

蓄えられた「状態」があるからこそ、プログラムは私たちの生活に寄り添い、共に歩むことができます。
まちがえてもやり直せることの意味も、ここで少し深くなります。

単に文字を書き直すだけでなく、「今の状態」を巻き戻して、また別の未来を選び直すことができるようになるからです。プログラムは、今この瞬間も、あなたの隣で「今」を抱えながら、静かに時間を刻んでいます。

まとめ|プログラムは「今」を抱えながら次へ進む

この回では、プログラムが時間の中で動く姿を見てきました。
「状態」を持ち、それを次へとつなげていくことで、単なる処理は「時間の流れ」へと変わります。

昨日までの自分を覚えていること。今の自分を大切にすること。
そうした実直な積み重ねが、プログラムに命を吹き込み、動的な美しさをあたえてくれます。
時間を感じながらコードを紡ぐとき、あなたはもう、世界の設計者として、その物語の「歴史」を刻み始めています。

次回予告|画面の向こうにいる、だれかと手をつなぐ

一人の部屋でプログラムを動かし、時間を育む。それだけでも十分に心休まる時間です。
けれど、プログラムの世界は、画面の向こう側へとさらに広がっています。
自分の作ったものが、遠くにいるだれかの画面とつながり、言葉や情報をやり取りし始めるのです。

次回は、「通信」という名の、新しい扉のお話です。
見えない糸でつながった、だれかの世界とあなたの世界。
その境界線をそっと超えていくための、やさしい約束についてたどってみましょう。

さらに学びたいあなたへ

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

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

この記事を書いた人

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

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

Created by UNIX Cafe

目次