目的プログラム:機械語への翻訳
IT初心者
先生、「目的プログラム」って、何ですか?
IT専門家
良い質問だね! コンピュータは、人間が書いたプログラムをそのままでは理解できないんだ。そこで、人間が理解できるプログラム言語で書かれたプログラムを、コンピュータが理解できる機械語に翻訳する必要がある。この翻訳された後のプログラムのことを「目的プログラム」って言うんだよ。
IT初心者
つまり、人間語をコンピュータ語に翻訳したものが目的プログラムなんですね!
IT専門家
その通り! つまり、私たちが普段使っているアプリやソフトは、すべて目的プログラムとしてコンピュータの中で動いているんだよ。
目的プログラムとは。
「目的プログラム」っていうIT用語は、「オブジェクトコード」と同じ意味だよ。「オブジェクトコード」っていうのはね…
プログラムの構成要素
– プログラムの構成要素
私たちが普段使っているコンピュータは、一見複雑な処理を難なくこなしているように見えます。しかし実際には、コンピュータは人間が指示した通りの処理を、決められた手順に従って忠実に実行しているに過ぎません。この指示を与える役割を担うのが、プログラムです。
人間はコンピュータに様々な処理をさせるために、プログラムを作成します。プログラムは、人間にも理解しやすいように設計された特別な言語を用いて記述されます。この言語のことをプログラミング言語と呼びます。
しかし、コンピュータはプログラミング言語をそのまま理解することはできません。コンピュータが直接理解できるのは、機械語と呼ばれる言語だけです。機械語は、0と1の組み合わせで表現される、コンピュータにとって最も基本的な言語です。
つまり、私たちがプログラミング言語で書いたプログラムは、コンピュータが理解できる機械語に変換される必要があるのです。この変換処理は、コンパイラやインタプリタと呼ばれる特別なプログラムによって行われます。
このように、プログラムは、人間とコンピュータの橋渡しをする重要な役割を担っています。そして、プログラムを構成するプログラミング言語や機械語、さらには翻訳を行うコンパイラやインタプリタは、コンピュータの世界を支える重要な要素と言えるでしょう。
用語 | 説明 |
---|---|
プログラム | コンピュータへの指示書。人間が理解しやすいプログラミング言語で記述される。 |
プログラミング言語 | 人間がプログラムを作成するために用いる特別な言語。 |
機械語 | コンピュータが直接理解できる言語。0と1の組み合わせで表現される。 |
コンパイラ/インタプリタ | プログラミング言語で書かれたプログラムを、機械語に変換するプログラム。 |
翻訳の必要性
– 翻訳の必要性私たち人間は、日本語や英語といった自然言語を用いて考えたり、コミュニケーションを取ったりしています。しかし、コンピュータは人間の言葉をそのまま理解することはできません。コンピュータが理解できる言葉は、0と1の組み合わせで表現される機械語と呼ばれるものだけなのです。そこで、人間が書いたプログラムをコンピュータで実行するためには、プログラムを機械語に翻訳する必要があります。 この翻訳を行う役割を担うのが、コンパイラやインタプリタといったソフトウェアです。コンパイラは、プログラム全体を一度に機械語に翻訳するソフトウェアです。翻訳された機械語は、コンピュータが直接実行できる形式になります。一方、インタプリタは、プログラムを一行ずつ機械語に翻訳しながら実行するソフトウェアです。どちらの方法にも利点と欠点があります。コンパイラを用いた場合は、プログラム全体を事前に翻訳するため、実行速度が速くなります。一方、インタプリタを用いた場合は、プログラムを一行ずつ実行するため、エラーが発生した場合に原因を特定しやすいという利点があります。このように、私たちが普段何気なく使っているコンピュータプログラムは、裏で様々なソフトウェアが活躍することで成り立っているのです。
翻訳方式 | 説明 | 利点 | 欠点 |
---|---|---|---|
コンパイラ | プログラム全体を一度に機械語に翻訳 | 実行速度が速い | エラー発生時の原因特定が難しい |
インタプリタ | プログラムを一行ずつ機械語に翻訳しながら実行 | エラー発生時の原因特定が容易 | 実行速度が遅い |
目的プログラムの正体
– 目的プログラムの正体私たちが普段、目にしているプログラムは、人間が理解しやすいように設計されたプログラミング言語で書かれています。しかし、コンピュータはこれらのプログラミング言語を直接理解することはできません。コンピュータが理解できるのは、機械語と呼ばれる0と1の組み合わせで表現された命令文だけです。そこで登場するのが、コンパイラと呼ばれる翻訳ソフトです。コンパイラは、人間が書いたプログラミング言語で書かれたプログラム(ソースコード)を読み込み、それをコンピュータが理解できる機械語の命令文に変換します。そして、この変換によって生成されたものが、目的プログラムと呼ばれるものです。目的プログラムは、コンピュータが直接実行できる形式になっているため、私たちが作成したプログラムの指示通りにコンピュータを動作させることができます。つまり、目的プログラムは、人間の意図をコンピュータに伝えるための橋渡し役を果たしていると言えるでしょう。
用語 | 説明 |
---|---|
ソースコード | 人間がプログラミング言語で書いたプログラム |
コンパイラ | ソースコードを機械語に変換する翻訳ソフト |
目的プログラム | コンパイラによってソースコードから変換された、コンピュータが実行できるプログラム |
目的プログラムの実行
私たちが普段コンピュータ上で使っているソフトウェア、例えば文書作成や画像編集、ゲームなど、これらを動かすための指示書こそが「目的プログラム」です。
この目的プログラムは、そのままではコンピュータには理解できません。そこで、コンピュータの頭脳であるCPUが理解できる言葉である「機械語」に翻訳されています。
目的プログラムを実行する際には、まずプログラムがコンピュータの主要記憶装置であるメモリに読み込まれます。メモリに読み込まれたプログラムは、CPUによって順番に解釈され、実行されます。CPUは、プログラムの中に書かれた機械語の命令を一つずつ読み取り、その指示に従って計算やデータの移動などの処理を行います。
このようにして、CPUは目的プログラムに記述された処理を順番に実行していくことで、プログラムが最終的に目指す結果を実現します。例えば、画面に画像を表示したり、音楽を再生したり、計算結果を出力したりといった動作は、すべてこの目的プログラムの実行によって行われています。
用語 | 説明 |
---|---|
目的プログラム | コンピュータ上で動作するソフトウェアの指示書。人間が理解しやすい形式で書かれている。 |
機械語 | CPUが直接理解できる言語。目的プログラムは機械語に翻訳されてから実行される。 |
CPU (中央処理装置) | コンピュータの頭脳。機械語で書かれたプログラムの命令を解釈し、実行する。 |
メモリ (主記憶装置) | プログラムやデータを一時的に記憶する場所。CPUはメモリからプログラムを読み込んで実行する。 |
まとめ
– まとめ
私たちが普段使っているコンピュータは、実は人間が直接理解できる言葉で動くわけではありません。コンピュータが理解できるのは、0と1の羅列で表される機械語と呼ばれる言葉だけです。しかし、人間が直接機械語でプログラムを書くのは、あまりにも複雑で現実的ではありません。
そこで登場するのが、「目的プログラム」です。
人間は、より分かりやすいプログラミング言語を使ってプログラムを書きます。このプログラムを「ソースコード」と呼びます。このソースコードを、コンピュータが理解できる機械語に翻訳する役割を担うのが、まさに「目的プログラム」なのです。
つまり、目的プログラムは、人間とコンピュータの言葉の橋渡し役を果たしていると言えるでしょう。
目的プログラムのおかげで、私たちは複雑な機械語を意識することなく、様々なソフトウェアやアプリケーションを自由に使うことができるのです。
用語 | 説明 |
---|---|
機械語 | コンピュータが直接理解できる0と1の羅列で表される言葉 |
ソースコード | 人間がプログラミング言語を使って書くプログラム |
目的プログラム | ソースコードを機械語に翻訳するプログラム |