萌えPerl
しきり線
大項目 プログラムについて
 Perlでのプログラミングに入る前に、まずプログラミングについてざっとお話します。
 別に読まなくても良いような内容なので気楽に聞いてください。

中項目 プログラムって難しい?
インタプリたん
 プログラムって何?難しい?と思われるかもしれませんが、そんなことはありません。
 正確に言うと、

  • 簡単なプログラムを作ろうと思えば簡単
  • 難しいプログラムを作ろうと思えば難しい

 ということです。
 そうなんです。そんなことはありません、とか言いながら突き詰めてゆくと難しくなって ゆくのです。すみません。
「覚えるのは簡単だけど極めるのは難しい」のです。
 だからプログラマーという専門の職が成り立つのであって、誰でも簡単に凄い事ができる わけがないのです。

 既にJavaScriptやPerlでWEBブラウザに文字を表示すると言うプログラムを組みました。
 これは「""の中の文字を読んでそれを表示する」というごく単純なものでした。
これから先、いろいろと複雑なことをプログラミングするのですが、忘れてはならないのはコン ピューターがすることというのは、使われ方や場所こそ違えどすることは1種類なのです。
 すなわち、

「読んで書くだけ」

 なのです。
 もっとコンピューター的に言うと「入力して出力するだけ」なのです。
 ゲームならコントローラーからの指示を「読んで」画面に「描く」だけ。
 銀行のATMならお客さんが入力した金額を「読んで」お金を「出す」だけ。
 インターネットならブラウザーから送られてきたURLを「読んで」そのページを「表示す る」だけなのです。
 全てのプログラムとはこのたった1つの動作を行うことなのです。
 だから、Hello World! とか Hello Perl! が出来るということは最も簡単だけど、立派な プログラムなのです。

中項目 プログラムの部品は3種類しかない
インタプリたん
 ゲームができたり掲示板に文字を書き込んだり色々出来るプログラムですが、その中身を 大別するとたった3種類の部品しかありません。どんなプログラムもこの3種類の部品の 組み合わせで動いています。

  • 上から順番に実行する
  • 条件で流れを分岐する
  • 繰り返す

 これだけです。
 ゲームを例えにするなら、

 1. 上から順番に実行する。
  1 スタート
   ↓
  2 プレイ


 2. 条件で流れを分岐する。4の部分。
  1 スタート
    ↓
  2 プレイ
    ↓
  3 ゲームオーバー
    ↓
  4 ゲームを続ける→Yes
    ↓No
  5 ゲーム終了


 3. 繰り返す。4から1にもどるという部分。
  1 スタート ←←←
    ↓      ↑
  2 プレイ     ↑
    ↓      ↑
  3 ゲームオーバー ↑
    ↓      ↑
  4 ゲームを続ける→Yes
    ↓No
  5 ゲーム終了


 こんな感じです。
 またこの中で2のプレイの部分をクローズアップすると、
  1 繰り返しスタート ←←←←←←←←←←←←
    ↓                   ↑
  2 プレイヤー機(キャラ)の操作        ↑
    ↓                   ↑
  3 敵機(キャラ)の操作            ↑
    ↓                   ↑
  4 ミサイルの当たり判定などのもろもろの処理 ↑
    ↓                   ↑
  5 画面の書き換え              ↑
    ↓                   ↑
  6 繰り返しエンド →→→→→→→→→→→→→

 こんな感じで繰り返しがあります。
 さらに4の部分でプレイヤー機が破壊されたかどうかの判定も行うべきであろうので、
「もし破壊されたならゲームオーバーの処理に進む」
 というふうに条件によって流れを変える部品が必要ですね。

 このように大きなプログラムほど部分ごとに階層的に、または並列して処理が絡み合って いたりしますが、基本はあくまで3種類の部品で構成されています。

中項目 まとめ
インタプリたん
 プログラムとは

「読んで書くだけ」

 その部品は

「上から順番に実行」
「条件によって分岐」
「繰り返し」

 以上です。
 こんな章を最後まで読んでいただいて、ありがとうございます。

私の好きな本です。
少し慣れてきた後で読んでください。
1つのことを実行するのに、とにかくいろんな書き方が出来るPerlですが、この本を読む とPerlらしい慣用句の書き方に統一できる感じがします。気のせいかもしれませんが。