プログラムとは ~ プログラムが魔法でないとわかればプログラマになれる 2

プログラムとは何か

先ほどのプログラムには ( ) " ; という謎の記号があると前述しましたが、これについては後で改めて説明することにします。それよりも、プログラムとは何なのかをまずは見てもらいたかったのです。

プログラムとは何でしょうか。プログラムとはアルファベットや数字、+、-、=などの記号を使って書かれた 文字 のことです。

コンピューターにこの 文字(プログラム) を読み取らせれば動き出すわけですが、この仕組みをイメージできるようになるためにはコンピューターが文字をどのように扱っているかを理解する必要があります。

SF映画などでディスプレイに大量の0と1が表示されているシーンがありますが、実際にコンピューターが理解できるのは 01 だけです。 01 のことを2進数として理解できなくても「コンピューターは  か × かだけを区別して読み取れる」と考えても構いません。

では、 01 だけの世界にどうすれば文字を出現させることができるでしょうか。 01 (あるいは × )だけしか存在しないのに、 abc が存在するのは一見矛盾しており不思議に感じるかもしれません。ですが、このトリックは単純です。 abc に対応するパターンを 01 で作れば良いのです。

例えば、 a00b01c10 とすれば 01 だけでも文字を表現できます。2桁しかないと、 d すなわち 11 で全てのパターン(00、01、10、11)を使い切ってしまうので、実際にはもっと多くの桁数(文字数)が必要でしょう。こうした 01 の組み合わせをルールとして決めておくことで、 ab などの文字を表現することができます。

少し頭がこんがらがってきたかもしれません。アイディアは子供が遊びで作る暗号メッセージと同じです。ミステリー小説/漫画でもたまに登場するかもしれません。

「あ」は「00000」、「い」は「00001」、「う」は「00010」というようなルールを事前に決めておきます。そして、このルールに従って暗号メッセージを書きます。そうすると「00000 11110 10101 00010...」という全く内容が理解できない暗号文ができあがります。しかし、ルールを知っている人が見れば最初の「00000」が「あ」であることがわかります。このように置き換えのルールが決まっていれば 01 だけを使っても文字として読める文章を作ることができるということです。

プログラムの話に戻しましょう。私たち人間は、全ての置き換えルールを覚えて「00000 11110 10101 00010...」というコンピューター向けの文字を書くのはとても大変です。できたとしても時間がかかりすぎます。これでは効率が悪いので、現代のコンピューターには私たち人間が読みやすい文字をコンピューターが読み取れる 01 のみに置き換える仕組みがあらかじめ用意されています。

重要なのは、このような仕組みがあることで、プログラムを 文字 で書くことができるということです。メールで文字を入力するのと同じように、プログラムも文字を入力すれば良いのです。プログラムが少し身近なものになってきたのではないでしょうか。

>>続きを読む
>>全記事を見る

<最新話にご興味があればフォローお願いします>

この記事が気に入ったらサポートをしてみませんか?