プログラムとソースコードの違いを理解しよう
「プログラム」と「ソースコード」という言葉は、プログラミングを始めたばかりの頃には混同しがちですが、実は明確に役割が異なります。本記事では、コードを書く人間視点と、それを動かすコンピュータ視点の両面から、プログラムとソースコードの違いを整理します。
ソースコードとは:人間視点
ソースコードは、人間が理解できる形式(テキスト)で書かれたプログラムの設計図のようなものです。PythonやC言語、Javaなど、さまざまなプログラミング言語がありますが、いずれも人間が書きやすく、読みやすい形式でコマンドや処理の手順を記述します。
- 人間にとって読みやすい形をしている
- コメントや変数名、関数名などの工夫で可読性を高められる
- テキストファイルとして保存される
ソースコードはあくまで「指示書」であって、そのままではコンピュータは実行できません。コンピュータが理解できる形に変換(コンパイルやインタプリタによる解釈)して初めて、実際に動く仕組みになっています。
プログラムとは:コンピュータ視点
プログラムは、コンピュータが実際に実行できる形の処理手順を指します。ソースコードをコンパイラやインタプリタなどで変換して、機械語やバイトコードの形になったものがプログラムです。
- コンパイル言語の場合:ソースコード → コンパイル → 実行可能ファイル(機械語)
- インタプリタ言語の場合:ソースコード → その場で解釈・実行(バイトコードやインタプリタ内部の仕組みで動作)
コンピュータは機械語(0と1で表される命令)を理解するので、私たちが書いたソースコードを何らかの仕組みで機械語に変換してやる必要があります。Pythonの場合は、インタプリタがソースコードを解釈し、内部でコンピュータが実行可能な命令に変換して動かします。
具体的なイメージ:Pythonの例
簡単なPythonコードを例にしてみましょう。
# これはソースコード(人間が書く/読む)
print("Hello, World!") # 画面に文字を出力する命令
このソースコードをPythonインタプリタで実行すると、コンピュータは内部でこのコードをバイトコードなどに変換し、CPUが理解できる命令を順次処理していきます。結果として画面にHello, World!
と表示されます。
まとめ:役割の違いを押さえよう
- ソースコード:人間が読み書きできるプログラムの設計図
- プログラム:コンピュータが実行できる形式の処理手順
ソースコードは開発者が読みやすく、修正や拡張がしやすい形で存在しています。一方、プログラムは実際に動く形(機械語やバイトコード)になったものであり、コンピュータが処理を実行するためのものです。これらの役割の違いを理解することで、プログラミングに対する理解がより深まります。