プログラム

プログラム、とりわけコンピュータプログラムとは、コンピュータに対する指令、命令を記述したものです。

実際にパソコンが処理しているのは、0と1のみの「2進数」です。しかし人間が0と1のみでパソコンに命令を下すことは、実質不可能。この2進数を、より人間にわかりやすい言語の形にしたものこそ、「プログラミング言語」です。

コンピュータが日頃行っている高度な処理。これを指示するのが「プログラム」です。コンピュータに出す指示の用途によって、プログラムのパターンは無限大です。

その用途により、プログラミング言語を使い分ける必要があるのはこのためです。

パソコンへ指示する「指示書」のようなもの

プログラムで記述されている内容は、利用者からコンピュータへ指示する内容、つまり「指示書」です。

どんな計算式で計算を行い、こんな処理結果の時はこうする…、と逐一細かい指示を書きます。

コンピュータは、よほど高性能なAIを積んでいない限り、自分の力で選択、判断することはできません。人間が細かくコンピュータに判断方法、判断基準を教えて上げる必要があるのです。

プログラムはコンパイラで変換される

「プログラミング言語」は、英語を元に、人間が理解できる形になっている言語。

このままコンピュータに入力しても、コンピュータはそのプログラムを理解することができません。この人間がわかるプログラムを、どうにかコンピュータが理解できる「2進数」に変換せねばなりません。

そのためには、「コンパイラ」など、変換ツールが必要となります。

コンパイルが必要ないスクリプト言語

しかし中には、ソースコードをコンパイルせずともコンピュータ上で実行可能な「スクリプト言語」も存在します。ソースコードを変換せずとも、プログラムを入力していくと逐次処理してくれます。その処理を「インタプリタ」と呼びます。

しかしスクリプト言語なら、コンパイル環境に依存せずプログラムが実行可能となるので、スピーディーなプログラム入力が可能です。

すべてのプログラミング言語には「文法」がある

プログラミング言語には、我々が日常利用する言葉と同じく「文法」があります。

と言っても、日本語やその他外国語と違い、文法のルールはそこまで難しくありません。しかし多種多様なプログラミング言語、その一つ一つの文法ルールを覚えるのは大変ですよね…。

「Hello World」を表示する例文

では代表的な各プログラミング言語で「Hello World」をい表示するためのプログラムを見てみたいと思います。

同じことをするプログラムでも、その記述内容がぜんぜん違うのがわかってもらえるはずです。

C言語の例文

記述例#include
int main() {
printf("hello world");
}

Perlの例文

記述例#!/usr/bin/perl
print "Hello World";

javaの例文

記述例public static void main() {
System.out.println("Hello World");
}

どんなプログラムを使うのかで会得するプログラミング言語を変える

コンピュータにどんな指令を出すか、またはどんなソフトウェアを作るのか、それによりプログラミングに利用するプログラミング言語が変わります。

また、どこで開発するのか、その開発環境でも、利用するべきプログラミング言語が変わります。

例えばiOSでの開発において、つまりiOSを積んだコンピュータへの命令を下す際にはObject-Cを使ってプログラミングする必要がありますよね。

パソコンはプログラムがあって初めて機能する

コンピュータ、特に我々の生活で役立つ「パソコン」は、入力するプログラムがあって初めて機能します。

プログラムを生活レベルまで落とし込むのが、プログラマーの役目。そしてその上には、企業や消費者、そしてSEがいるのです。

プログラムが入っていること、そしてプログラムが機能している時はじめて、パソコンが正常に動作するのです。

まとめ

プログラムとは、コンピュータに指示を送るための指示書のこと。

コンピュータに対して、「やって欲しいこと」を指示するための文言こそ、「プログラム」です。

コンピュータは、プログラムが入っており、プログラムが正常に動作してはじめて機能します。どのコンピュータに、どんな指示を送るかで、使用するプログラミング言語の種類が変わります。