プログラミング言語
コンピュータに処理をさせるには、コンピュータが処理の内容を理解できなければなりません。コンピュータが理解できるのは、マシン語(機械語)と呼ばれる言語です。CPUが直接解釈して実行できる命令やデータは、0と1という数字の羅列からできていて、人間が直接読み書きしやすい形式ではありません。
そこで、人間にとって比較的理解しやすい文や記号で構成されている言語が生まれました。その中の一つがC言語です。
ただし、C言語のままでは、コンピュータが理解することが出来ないため、これを機械語に翻訳する必要があります。
この翻訳をする方法には大きく分けて、コンパイラと、インタープリタと呼ばれる2つの方式があります。
コンパイラは、プログラムをすべて機械語に変換し、その変換したプログラムを実行するという方式です。
一方、インタープリタは、プログラムを機械語に変換しながら実行するという方式になっています。
このうち、C言語は、コンパイラの方式になります。
C言語の特徴
C言語の特徴を箇条書きでまとめました。
- プログラムをコンピュータのCPUが直接的に実行できる機械語に変換(コンパイル)が必要な言語です。
- 関数と呼ばれるプログラムを部品化したものを組み合わせて作られています。
- ハードウェアに近いレベルでコンピュータを制御でき、非常に高速なプログラムを作ることができます。
- メモリやCPUなどを直接利用するようなプログラムに適しています。
- メモリやCPUといった部分の知識も必要になることがあり、他の言語に対して習得するのが難しいです。
- 他の言語と比較として、オブジェクト指向ではないことと、ライブラリは充実していないです。
- アプリを作ることは不得意(時間がかかります)ですが、コマンドで入力して処理することは得意です。
- C言語の影響を受けたプログラミング言語が多く、C言語を勉強しておけば、他の言語も比較的楽に身に着けることができる。
C言語でできること
C言語は汎用的なプログラミング言語であるため、様々なことができますが、代表例として挙げています。
- OSの開発
- 家電製品、自動車、ロボットなどの機械を制御するプログラムの開発(組み込み開発)
- 企業や組織の活動そのものを管理・処理する基幹系システム、業務システムの開発
- ゲーム開発
業務システムや、ゲーム開発では、JAVA、C++、C#などのプログラミング言語があり、最近では、C言語をあまり使われなくなってきていますが、C言語を使って開発されてきているものもあるため、例で挙げてみました。
プログラム実行の流れ
- テキストエディタなどにC言語の文法にしたがってプログラムを記述する。
- 記述したプログラムを機械語に変換するために、コンパイラというソフトを使用し、作成したプログラムをコンパイルし、オブジェクトファイルを作成する。
- リンカというソフトを使用し、コンパイルされたオブジェクトファイルをつなぎ合わせて、実行ファイルを作成する。
- 作成された実行ファイルを実行する。
1.このテキスト形式のプログラムは、ソースコード、または、ソースファイルと呼ばれています。単にコードとも呼んだりもします。
ソースコードのファイル名には、.c を付けます。
2. オブジェクトファイルとは、コンパイラが機械語に変換した結果、生成される機械語のデータです。
機械語に変換する作業をコンパイルといいます。
コンパイルのやり方はC言語の開発環境により異なります。
3.オブジェクトファイルなどを適切に配置し、つなぎ合わせて1つの実行できる形式のファイルを1つ完成させる作業をリンクといいます。
リンクする作業をおこなうためのソフトウェアをリンカといいます。
以上がC言語の概要について簡単に説明しました。
この次は、「プログラミング環境の構築」になります。
興味がある方は是非、次の記事もご覧いただければと思います。