コンピューターに対する命令・手順の作成
プログラミングとは、コンピューターに対する命令や手順を作成することです。プログラムの動名詞でありプログラムを作ることという意味になります。
プログラムという言葉は、例えば 運動会や文化祭のプログラムという使われ方をするように、進行や予定、そのイベントの一連の流れを表しています。
パソコンで使用しているソフトウェアを プログラムということがあります。これらは、コンピューターに対する命令や手順など一連の流れが予め組み込まれているため、そのように呼ばれていることになります。
この一連の流れは、一般的にプログラミング言語を用いて作成します。
このページでは、プログラミングや関連する用語について解説しています。
機械語
コンピューターでソフトウェア・プログラムを実行する場合、CPUがメモリー上にあるデータを読み込んで処理していくことから始まります。
コンピューターでは0と1のデータのみ使われます。これを機械語といいます。
アセンブリ言語
0と1でプログラミングするというのは、基本的にできないためプログラミングする場合は、より人間が使いやすい言語が用いられます。そのひとつがアセンブリ言語になります。
機械語に対応する アルファベットや記号など ニーモニックを使用します。
ハードウェアに近いという意味で低水準言語、また機械語を第一世代、アセンブリ言語を第二世代ということがあります。
アセンブリ言語を機械語に変換することをアセンブル、変換するソフトウェアをアセンブラといいます。
プログラミング言語
アセンブリ言語より さらに人間が理解しやすいかたちで表現したものを 高水準プログラミング言語といいます。第三世代ということがあります。
現在主流となっているプログラミング言語であり、C、Java、Python、Perl、Ruby、C++、C#、PHP、JavaScript、R、Go、COBOL、FORTRAN、Visual Basicなど多様なプログラミング言語があります。
一般的にプログラミング言語という場合は、高水準プログラミング言語、あるいはアセンブリ言語と高水準プログラミング言語のことを指しています。
プログラミング言語は、手法や考え方の違いから手続き型言語とオブジェクト指向言語などに分類されることがあります。前者に C・Go・COBOL・FORTRAN・Visual Basicなど、後者に Java・Python・Ruby・C++・C#・JavaScriptなどがあります。
またプログラミング言語の中でも、比較的 簡易なプログラム(スクリプト)の作成で使われるものを スクリプト言語といい、Perl・PHP・JavaScriptなどがあります。
コンパイル
プログラミング言語で記述された文字や記号などをコード、またプログラムの元になっていることからソースコード、作成されたファイルはソースファイルといいます。
高水準プログラミング言語のコードは、そのままではCPUに読み込ませることはできないため、これを機械語に変換します。これをコンパイル、また変換するソフトウェアをコンパイラといいます。
例:Cファイル(C言語・ソースファイル)とコンパイル後の exeファイル。
exeファイルは、実行ファイル、実行可能ファイルといいます。
ソースコードを一括して機械語に変換するものをコンパイル、逐次変換するものをインタプリタとし、分けてよばれることもあります。
一般的に、ソフトウェアはexcファイルとなっておりプログラミング言語によって作成されます。ただ多くのプログラミング言語は、開発環境などで入力し結果を得たり、HTML言語と組み合わせてサーバー上で動作させるなど、ソフトウェアの開発やexeファイルの作成だけが目的であるというわけではありません。
開発環境
プログラミング言語は数多くのものがあり、1000種類以上といわれています。どの言語でもプログラミングは、開発環境を用いて行われるのが一般的です。
ソースコードを記述するテキストエディタ、コンパイラ、実行環境などが使えるようになっているものを、IDE 統合開発環境ともいいます。
言語によっては、パソコンにテキストエディタ、コンパイラをインストールし、コマンドプロンプトなどを使用してプログラミングを行うこともできます。
またOfficeのWord・Excelなどでは、ファイル→オプションで開発を有効にすると、開発タブが表示されます。Officeのプログラミング機能はVBAともいいます。エディタやコンパイラなど開発環境はOfficeが備えているということになります。
順次・分岐・反復
代表的なプログラムの構造に、順次・分岐・反復があります。この3つを基本とする手法を構造化プログラミングといいます。
順次は、ソースコードの上から順に処理を実行していきます。分岐は、条件分岐ともいい 条件が成立した場合の処理と成立しなかった場合の処理にわかれます。反復は、同じ処理を繰り返します。
プログラミングでは、順次・反復・分岐が使われることが多く、例えば C言語、Java、PHPなどでは反復は while文やfor文、分岐はif文やswitch文となります。
プログラミング言語によって 開発環境や記述方法は多少異なりますが、関数や引数、様々な値が代入される変数などの考え方、使用する文字や記号、プログラムの基本的な構造などは共通しているところも多くなっています。
フローチャート
プログラムの流れを図で示したものを、フローチャートといいます。
プログラムの作成前や確認などで使われることがあり、プログラムの流れを分かりやすく把握することができます。
またプログラムの流れ・手順を アルゴリズムともいいます。
同じ動作をする、同じ結果に至るというプログラムでも、手順・ソースコードが異なるということがあります。
一般的にコンピューターのプログラム、プログラミングにおいては、計算速度が速い・少ないメモリーで実行できる、ソースコードが理解しやすいなどの点が評価される傾向にあります。