コンピュータは、これをどのように記憶しているのでしょうか。呼ばれる記憶装置に値を記録しています。あたりまえになりつつあります。メモリなんて出てくるでしょう。メモリには、それぞれの記憶領域に対して番地(アドレス)が割り当てられており、そのアドレスを頼りに特定のデータを読み込んだり書き込んだりします。郵便物に住所が書いてあるからです。住所を英語で言うとアドレス(address)ですから、そのままですね。この原理は、昔と比べて桁違いに容量が多くなっても同じです。略でして、訳すと「適当な位置からデータをやり取りする記憶装置」となります。呼べなくも無いですけど、それは語源でしかないですから。意味は、読み書きできる半導体の記憶装置です。いえば、「記録」装置と言わずに、「記憶」装置と擬人化しているのは何故でしょうね?本題から離れてしまいました。逆に、適当な位置からやり取りできないものもあるのでしょうか。そのとおり、あります。テープは、データが並んでいるだけで、それぞれの記憶領域に対してアドレスが割り当てられていません。取ることができません。いや、音楽テープを途中まで巻いて再生できるように、取ろうと思えば取ることもできますが、アドレスに基づいた正確な位置を特定して、特定のデータを取ることはできません。それでもテープという記憶装置が存在するのは、バックアップに適しているためです。バックアップに使われるデータは、1つの大きなデータであり、ランダムアクセスする必要が少ないためです。安価なテープが使われます。プログラムで必要になるデータは、それぞれが識別できる小さなデータです。よって、それぞれのデータに、ランダムにアクセスできる必要があります。どのアドレスにも高速にアクセスすることが出来ます。ディスクもランダムにアクセスできる記憶装置です。ここで、ディスクが出てきましたが、実は、変数の値がハードディスク(HD)に格納されることもあるのです。自動的に管理してくれています。サイズより大きいプログラムや一時データが同時に起動できるのです。間でデータを退避したり戻したりしているためです。これを、スワップしていると言います。領域は、スワップ領域と呼ばれます。プログラマがプログラミングするときは、スワップ領域に対して特に意識する必要はありません。私が適当に付けたものです。同じでなければならないことです。参照しなければならないということです。あたりまえすぎてヘソで茶を沸かしてしまうぐらいです。これこそ最も多いプログラムのバグの原因なのです。いう変数名は使っていたっけ?という混乱状態に陥り、バグを生み出す条件が整ってしまい、バグをプログラムに埋め込むことになります。わかりやすい変数名を付けるようにすると言われるのですね。今回は、いかにバグの少ないプログラムを作るかという話ではないので、わかりやすい変数名をどうして付けたらいいのか、という話はいつかすることにしておきましょう。名前のつけ方は、非常に奥の深いものでして、このコラム1回分、いや何回かかるかわかりませんし。違う変数名は違う変数に対応しているということです。同一の変数であると特定したりと、まさに、識別するために使われています。言語などでは、変数名を識別子と呼びます。別の見方をしてみましょうか。中には、1つ1つアドレスが振られているということでしたから、こう言うことも出来ます。『同じ変数名は同じアドレスに、違う変数名は違うアドレスに対応している』。特定の領域に変数名を付けたことは同じ行為だから、ある意味、『変数名とアドレスは同じものだ』と言うことも出来るでしょう。数値のアドレスが割り当てられています。複数の記憶領域に同じアドレスが割り当てられることはありません。同じアドレスを割り当ててしまうと、どの記憶領域をアクセスすればいいのかわからなくなってしまい、エラーになります。何かに番号を付けることは、よくあります。番号を付けるのでしょうか。識別することは出来るはずです。漢字まで同姓同名の人は滅多にいないですし、たとえいたとしても、何年生まれのだれだれさんのように、情報を追加していけば最終的には識別できます。番号だけから、その人やそのものを特定できるようにするためです。人」、と言えば簡単かつ確実にその人を特定することが出来ます。この仕組みを利用したのが、国民一人一人に番号を付ける制度です。番号を付けるねらいは、そこにあります。変数を特定する方式が採用されています。番号と異なり、名前は0番から順番に付けられるものではありません。唯一の名前にするためには、すでに使われているか一覧をチェックしなければなりません。アドレスと呼ばれる4つの数値のアドレスを、ワークステーションやプロバイダのマシンに付けているために世界中の任意のコンピュータにアクセスができます。アドレスに変えています。コンピュータに、2つのアドレスが付けられていることになります。このどちらのアドレスも、同じものがないように管理されています。アドレスを間違えて入力して、コンピュータに警告を受けたことがあるかと思いますが、これは、コンピュータを識別できなくなってしまうためです。専門機関が必要になるほど、名前の管理は大変なのです。初期のプログラミング言語では、変数名などの名前の唯一性に関する機能は、ほとんどありませんでした。そのため、変数名が使われているか手動でチェックしなければなりませんでした。変数名を番号に制限しているところがあります。確かに、名前よりは簡単に唯一性を維持することが出来るでしょうが、プログラムの読みにくさは劣悪です。名前の唯一性を簡単に確保できる機能が備わっています。そのへんの進化の過程を次回から説明していきます。