プログラムとは
- 著者:YAMANJO
- 公開日:2008年7月9日
- 最終更新日:2024年10月9日
パソコンは、プログラムがなければ「ただの箱」と言われます。パソコンの存在意義とも言えるプログラムとは何か、しっかり理解していきましょう。
プログラムとは
コンピュータは、2進数であるデジタルデータしか処理できません。しかし、私たちはそんなことを意識したことも、2進数に変換する作業を行なったこともありません。
普段、私たちは2進数を意識することなくパソコンを使って文字を入力したり、画像を貼り付けたり、メールを送ったり、動画を見たり、インターネットを利用したりしています。
それは前章のまとめで学習したとおり、2進数を人間が扱いやすい数字や言語にさらに変換することで、人間の操作を楽にしているだけなのです。
逆に言えば、
人間の言語を2進数に変換してコンピュータに処理させている
ということでもあります。
つまり、一般的なユーザーは2進数を用いてパソコンを扱うことなど到底できません。普段私たちが使っている言語やそれに準ずるものを用いなければ、パソコンは一部の専門家しか扱えない大変高度な機器となり、誰でも扱うことなどできないのです。
したがって、私たち人間の言語を2進数に変換してくれるものが必要になります。
それが、
プログラム
になります。
多くの方が耳にしたことがある言葉ではないでしょうか?
プログラムという用語はいろいろな用途で使われるので、漠然としたイメージは想像できると思いますが、その反面なかなかつかみにくい用語でもあります。
一般的には「実行すべき物事の組み合わせや進行計画」などを意味しています。
コンピュータ用語としてのプログラムもこれに近く、
コンピュータへ指示する計算や処理の手順を書いたもの
という定義がなされています。
簡単に言えばコンピュータへの「命令」です。コンピュータに対して何らかの処理をさせるために作成された命令文と言えます。
例えば、表示している画面を「印刷」するという命令や、数字を「計算」するという命令、さらに言えば「拡大」「縮小」「再生」「保存」など様々な命令が存在します。
つまり、コンピュータに実行させる処理の流れを記述したものがプログラムになります。このプログラムに書かれている手順に沿ってコンピュータは処理を実行します。
したがって、特定の処理命令を指す用語ではなく、あらゆる命令の総称であり、
プログラムは用途によって無数に存在する
ということになります。
ここで話をもとに戻します。私たち人間の言語を2進数に変換してくれるものがプログラムであると説明しました。すなわち、こうした命令文を2進数にまで変換してくれるのがプログラムです。
そして、プログラムは以下の種類に大別されます。
人間が使用する言語に近い文字で書かれたプログラムと、そのプログラムをコンピュータが処理することのできる2進数にまで変換するプログラム
です。
人間が扱う言語に近い言葉で書かれたプログラムがあり、またそれをさらに2進数に変換するプログラムが存在するということです。つまり、プログラム同士が連携をとって段階的に最終的な0と1の2進数に変換しているのです。
詳しくは割愛しますが、人間の理解できるプログラムを「ソースプログラム」、コンピュータに理解できる2進数のプログラムを「オブジェクトプログラム」、ソースプログラムをオブジェクトプログラムに変換するプログラムを「翻訳プログラム」と言い、これらが連携して処理を行っています。
コンピュータへの命令は大小様々あります。
保存、印刷、消去、開く、閉じる、改行、再生などの簡易なものから、それらをまとめて一連の動作にしたもの、さらに大規模に組み合せたものなど複雑なプログラムが存在します。
何気なく操作しているパソコンの裏側では、プログラム同士が連携し、さらに2進数への翻訳プログラムによって、我々の言語から2進数に変換されて動いているのです。
プログラミング言語とは
では、その命令文を書く「言葉」とは一体どのようなものなのでしょうか?
私たちが普段使っている言語に近い言葉と形容しましたが、もちろん日本語そのものではありません。例えば、パソコンに「印刷しろ」と打ち込んだら印刷されるなんてことはありません。
前章で学習のとおり、コンピュータの仕組みは「英語」を前提につくられているので、英語をもとにした言語が主になります。こうしたプログラムを記述するための言語を、
プログラミング言語
と言います。
小学校の授業にプログラミングが組み込まれて話題になったので、聞いたことがあるワードだと思います。
このプログラミング言語によって記述された命令文がプログラムになります。プログラムが無数存在するように、プログラミング言語も数多く存在します。例えば、C言語・Perl・Javaなどがあります。
プログラミング言語は非常に専門的になるので詳しい説明は割愛しますが、プログラミングの世界では、コンピュータが直接理解できる2進数の命令を「機械語(マシン語)」と言います。
最終的にプログラムは、この機械語に翻訳されていなければならないので、人間の言語に近いものを「高水準言語」、機械語に近いものを「低水準言語」と区分けされています。
こうして処理レベルに応じて様々なプログラムが存在し、それを記述するプログラミング言語も使い分けられているのです。
パソコンが動くということは、その裏で無数のプログラムが連動して、いくつもの処理が行われていることが理解できたと思いますが、ではなぜ、このようにいくつものプログラムが必要なのでしょうか?
その答えは簡単です。パソコンもただの機械だからです。
どれだけ凄い処理を超高速で行っていたとしても、
パソコンはプログラムがないと動かない
からです。
動かないというより動かせないという方が正しいでしょう。
ただの機械なので何から何まで全部指示してやらないと動く事ができない
というわけです。
つまり、動作に必要なすべてのプログラムを用意しなければならないということです。
例えるなら、パソコンは驚異的に仕事の速い新入社員で、プログラムはその新入社員に仕事を指示する上司といったところでしょうか。いくら凄くても、自らすすんで仕事をこなすことはありません。
現在、AI技術(人工知能)の発展により、いずれAIが人間の知能を凌駕するようになると言われていますが、コンピュータの動作原理はかわりません。AIもプログラムであり、非常に高度なプログラムということになります。
※本章以降の基礎知識の解説の中で、用語としての「パソコン」と「コンピュータ」というある意味同義語を使い分けて解説しています。意味の違いについては、コンピュータの種類 で学習します。
更新履歴
- 2008年7月9日
- ページを公開。
- 2009年3月7日
- ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
- 2018年1月23日
- ページをSSL化によりHTTPSに対応。
- 2024年10月9日
- 内容修正。
著者プロフィール
YAMANJO(やまんじょ)
- 経歴
- 岡山県出身、1980年生まれ(申年)の♂です。現在、総合病院で電子カルテなどの情報システム担当SEとして勤務。医療情報学が専門ですが、ネットワーク保守からプリンタの紙詰まり、救急車の運転手までこなしています。
- 医療情報技師、日本DMAT隊員。ITパスポート、シスアドなど、資格もろもろ。
- 趣味は近所の大衆居酒屋で飲むこと、作曲(ボカロP)、ダイビング。
- 関連リンク
- 詳細なプロフィールはこちら
- 作成したボカロ曲などはYoutubeへ
- X(Twitter)