ソフトウェア開発において情報はどこまで見せるか 4

ここまで関数内で宣言されたローカル変数と、関数の外で宣言された外部変数の役割を確認しました。今にいたるまで、1940年代に考案されたノイマン型コンピュータが、アーキテクチャとしてそのまま使用されているのも驚きではありますが、メモリ上にプログラムを読み込み、必要なデータをレジスタに持ち演算をおこなっていく。これは現在もそしてまだまだ先の時代にも変わらなさそうです。

 

ローカル変数はスタック領域。外部変数はヒープ領域。それぞれメモリ上の領域にそのデータは置かれていきます。メモリは揮発性です。揮発性とは半導体メモリにおいて、電源を切ると記憶内容が消える性質のことです。コンピュータの電源を切るたびにデータが消えてしまうので、コンピュータの電源が切れて次に起動したときにもデータを扱えるようにするためには、不揮発性の「場所」にデータを入れる必要があります。

 

その場所はハードディスクで、形式としてはファイルです。テキストファイルやCSVファイルなどに消えてほしくないデータを保存するようになります。

するとそれらのデータはハードディスクのもの、総じてコンピュータのものになります。

 

ハードディスク上の話はまた後で進めていくとして、オブジェクト指向言語でのデータの扱いをまとめていきます。