バイブコーディングの土台

Day 5プログラムはどう動くか

実行の流れとランタイム

プログラムは基本「上から順に」動き、時々ジャンプする。その動きを支える土台がランタイム。

プログラムはレシピのように読まれる

プログラムが動くとき、コンピュータは書かれた命令を基本的に上から順に一つずつ実行します。料理のレシピを「1. 野菜を切る → 2. 炒める → 3. 味付けする」と上から順にこなすのと同じです。この「命令が実行される順番」のことを(実行の流れ)と呼びます。

たとえるなら

コードは「レシピ」、コンピュータは「そのレシピ通りに手を動かす料理人」。あなたが[[source-codclienrequestに書いた順番が、そのまま料理人の作業順になります。

ただし、いつも一直線とは限りません。「もし卵があれば入れる、なければ飛ばす」のように条件で道が分かれたり、「10回混ぜる」のように同じ作業を繰り返したりします。つまり基本は上から順、でも時々ジャンプする、というのが実際の動きです。

  • 順番に実行: 上から下へ一つずつ(レシピの手順どおり)
  • 分岐: 条件によって進む道が変わる(卵があれば入れる)
  • 繰り返し: 同じ処理を何度も回す(10回混ぜる)
  • 呼び出し: 別の手順([[functioclienrequest)に飛んで戻ってくる(下ごしらえの手順を見に行く)

その料理人はどこにいる? = ランタイム

レシピ(コード)を実際に読んで手を動かす「料理人と、その調理場」にあたるのが[[runtimclienrequest(ランタイム)です。ランタイムとは「プログラムが実際に動いている最中の環境そのもの」。キッチンがなければどんな名レシピも料理になりません。同じように、ランタイムがなければコードはただの文字列です。

たとえるなら

コードは楽譜、ランタイムは楽器と演奏者。楽譜(コード)は「どう演奏するか」の指示書でしかなく、実際に音を出すのは楽器(ランタイム)。楽器が違えば音も少し変わります。

ランタイムはブラウザの中だったり、あなたのパソコンの中だったり、遠くの[[serveserverequestの中だったりします。「同じコードなのに自分の環境では動くのに他の人の環境では動かない」ことがあるのは、この調理場(ランタイム)の設備や材料が違うからです。

土台を気にしない頼み方

とにかく動くコードを書いて、と丸投げ。どこで動かすか伝えないので、手元で動かない原因が分からず詰まる。

PHP
AI: この機能のコード書いて

土台を伝える頼み方

どのランタイムで動かすかを伝える。前提が合うので、そのまま動く確率が上がる。

PHP
AI: ブラウザで動かす前提でこの機能のコード書いて

AIにはこう頼む

「このコードは上から順にどんな流れで動く?番号を振って説明して」と頼むと、実行の流れを日本語の手順に翻訳してくれます。読めるようになる第一歩です。

丸投げの落とし穴

流れを一切読まずに動いたコードを貼り付けると、途中の分岐が想定と違っても気づけません。「どこで道が分かれているか」だけでも追えると、直せる人になれます。

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

プログラムの基本的な実行の流れとして、最も近い説明はどれ?

Q2

「ランタイム」を一言でたとえると?

Q3

「同じコードなのに、自分のパソコンでは動くのに友達のパソコンでは動かない」ことがあるのはなぜ?ランタイムという言葉を使って説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。