プログラムとは

ソコンは、基本的に2進数であるデジタルデータしか処理できませんが、私たちはそんなことを意識したことも、2進数に変換する作業を行なったこともありません。

私たちは2進数を意識することなくパソコンを使って文字を入力したり、画像を貼り付けたり、メールを送ったり、動画を見たり、インターネットを利用したりしています。

しかし、実際にはパソコン内部のすべての処理は2進数で行われています。前章のまとめでも少し触れましたが、2進数を人間が扱いやすい数字や言語にさらに変換することで、人間の操作を楽にしているのです。

このことは、逆に言うと、

人間の言語を2進数に変換してコンピュータに処理させる

ということでもあります。

つまり、一般ユーザーは2進数を用いてパソコンを扱うことなど到底できません。普段私たちが使っている言語やそれに準ずるものを用いなければ、パソコンは一部の専門家しか扱えない大変高度な機器となり、誰でも扱うことなどできないのです。

したがって、私たち人間の言語を2進数に変換してくれるものが必要になります。

それが、

プログラム

になります。

多くの方が耳にしたことがある言葉ではないでしょうか?

この「プログラム」という用語は色々な用途で使われるので、漠然としたイメージは想像できると思いますが、その反面なかなかつかみにくい用語でもあります。

一般的には「実行すべき物事の組み合わせや進行計画」などを意味しています。

コンピュータ用語としてのプログラムもこれに近く、

コンピュータへ指示する計算や処理の手順を書いたもの

という定義がなされています。

簡単に言えば コンピュータへの命令になります。つまり、コンピュータに対して何らかの処理をさせるために作成された命令文ということができます。

さて、すでに2種類のプログラムが登場したことにお気づきでしょうか?

ひとつは、人間が普段使用する言語に近い言葉で書かれたコンピュータへの命令文たるプログラムで、もうひとつは、そのプログラムをコンピュータが処理することのできる2進数にまで変換するプログラムです。

ややこしいですが、一体、プログラムとはどういうものなのでしょうか?

プログラムとは、ひとつの処理命令を指す言葉ではなく、あらゆる命令の総称であり、

プログラムは用途によって無数に存在する

ということなのです。

人間が扱う言語に近い言葉で書かれたプログラムを、さらに2進数に変換するプログラムが存在するという、いわば、プログラム同士が連携をとって段階的に最終的な0と1の2進数に変換しているのです。

さらに詳しくいうと、人間の理解できるプログラムを「ソースプログラム」、コンピュータに理解できる2進数のプログラムを「オブジェクトプログラム」、ソースプログラムをオブジェクトプログラムに変換するプログラムを「翻訳プログラム」といい、これらが連携して処理を行います。

また、コンピュータへの命令はどんなものがあるか考えてみてください。

保存、印刷、消去、開く、閉じる、改行、再生など思いつくだけでもいくらでもあります。それらひとつひとつがプログラムであり、さらに2進数への翻訳プログラムがあり、その他無数のプログラムが連動してパソコンは動いているのです。

このように、パソコンを扱うというのは、私たちが意識することのない裏で大変高度な処理を行っているのです。

一方で、命令文を書くその「言葉」とは一体どのようなものなのでしょうか?

私たちが普段使っている言語に近い言葉と形容しましたが、日本語そのものではもちろんありません。例えば、パソコンに「印刷しろ」と打ち込んだら印刷される、なんてことはありません。

前章でも解説のとおり、コンピュータの仕組みは「英語」を前提につくられているので、英語をもとにした言語が主になります。こうしたプログラムを記述するための言語を、

プログラミング言語

といいます。

小学校の授業にプログラミング組み込まれて話題になったので、聞いたことがあるワードだと思います。

このプログラミング言語によって記述された命令文がプログラムです。プログラムが無数存在するように、プログラミング言語も数多く存在します。例えば、C言語・Perl・Javaなどがあります。

プログラミング言語の世界では、コンピュータが直接理解できる2進数の命令を「機械語(マシン語)」といいます。最終的にプログラムは、この機械語に翻訳されていなければならないので、人間の言語に近いものを「高水準言語」、機械語に近いものを「低水準言語」と区分けされています。

こうして処理レベルに応じて様々なプログラムが存在し、それを記述するプログラミング言語も使い分けられているのです。

パソコンが動くということは、その裏で無数のプログラムが連動して、いくつもの処理が行われていることが理解できると思います。

しかし、なぜこのようにいくつものプログラムが必要なのでしょうか?その答えは簡単です。「パソコンもただの機械である」ということを再び思い出してみてください。どれだけ凄い処理を行っていたとしても、

パソコンはプログラムがないと動かない

からです。動かないというより、動かせないという方が正しいでしょう。

ただの機械なので、何から何まで全部指示してやらないと動く事ができない

というわけです。

つまり、動作に必要なすべてのプログラムを用意しなければならないということです。例えるなら、パソコンは驚異的に仕事の速い新入社員で、プログラムはその新入社員の体を構成する「細胞」といったところでしょうか。

※本章以降の基礎知識の解説の中で、用語としての「パソコン」と「コンピュータ」というある意味同義語を使い分けて解説しています。意味の違いについては、コンピュータの種類 で学習します。

更新履歴

2008年7月9日
ページを公開。
2009年3月7日
ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
2018年1月23日
ページをSSL化によりHTTPSに対応。
2022年1月9日
内容修正。

参考文献・ウェブサイト

当ページの作成にあたり、以下の文献およびウェブサイトを参考にさせていただきました。

文献
図解でわかる プログラムのすべて―動作メカニズムから開発技法まで