プログラミング言語とは、人がプログラムを記述するときに使用する言語のことです。
プログラムとは、コンピュータに処理させたい手順(アルゴリズム)を命令の形式で記述したものです。
作成したプログラムは、ソースプログラムやコードと呼ばれ、プログラムを作成することをプログラミングといいます。
これまでもプログラムを作成しましたが覚えてますか?
はい!Pythonを使ってプログラムを作成しました。
そうそう、Pythonでプログラムを書いて、音を変化させたり、画像の階調を変えたりしました。
Pythonはプログラミング言語と呼ばれるもので、Pythonで書かれたプログラムはソースプログラムと呼ばれます。
しかし、ソースプログラムはそのままではコンピュータは実行できません。その理由を学習しましょう。
プログラムはそのままでは動かない!
Pythonなどで書いたプログラムは、コンピュータに「これをしてね!」と命令するためのものです。
しかし、書いただけのソースプログラムは、そのままでは実行することはできません。
例えば次のようなプログラムを作成したとします。
print("プログラムの学習中")
これは正しいプログラムで、画面に「プログラムの学習中」と表示する命令が記述されています。しかし、このままでは実行することができません。
えっ!!正しいプログラムなのに実行することができないの!!
なんでだろう・・・。
どうして実行できないかは、これまで学んだことを思い出せば気づくかもしれません。
理由は次のとおりです。
なぜ実行できない?
コンピュータは、「print」や「”プログラムの学習中”」といったものは、単なる文字であり、文字コード表から表示した文字の集まりでしかありません。
コンピュータが理解し処理できるのは、「0」や「1」だけで書かれたものだけです。
コンピュータに処理をさせるには、指示を「0」と「1」の組合せで与える必要があります。
この「0」と「1」のみで書かれたプログラムを「機械語(バイナリコード)」といいます。
私たち人間には「print」は“表示する”命令だとわかりますが、コンピュータにとってはただの文字列でしかないのです。
ということは、「0」と「1」でプログラムを作ればいいってことか。
それができればよいのですが、「0」と「1」で人間がプログラムを書くことはとても難しいです。
どうやって機械語にしているかを確認しましょう。
「0」と「1」の機械語にするには?
作ったプログラム(ソースプログラム)をコンピュータが理解できる機械語(バイナリコード)に変換する必要があります。
この変換にはコンパイラとインタプリタの2つの方法があります。
| 種類 | 翻訳単位 | 特徴 | 代表言語 |
|---|---|---|---|
| コンパイラ | プログラム |
・実行するプログラムをすべて機械語に翻訳してから実行する ・実行速度がインタプリタより速い ・プログラムが完成してからでないと実行することができない |
・Java ・C言語 |
| インタプリタ | 1命令 |
・プログラムの1命令ずつ翻訳・実行をしながら処理を進める ・コンパイラに比べると実行速度は遅い ・作ったところまで実行することが可能である |
・Python ・Scratch |
Pythonってインタプリタだから遅いの?
コンパイラを使った言語の実行は、インタプリタを使ったプログラミング言語よりは高速に実行することができます。
ただし、現在はコンピュータのハードウェアの速度が速いので、実行速度についてはそれほど気にすることはありません。