C言語入門0. プログラミングの流れ
<C言語入門に戻る>
プログラミングの流れ
C言語を使ったプログラミングでは、まず人が考えながら「ソースコード」というものを計算機に打ち込む。ソースコードはプログラムの設計図と言われることが多いが、むしろ(人に理解可能な形態での)プログラムそのものである。以下にC言語のソースコードの例を示す(眺めるだけでよい)。

図 ソースコードの例 (昼の長さを計算するプログラムの一部)
ソースコードは「テキストファイル」として作成される。テキストファイルとは、文字コードのみで構成される、最もシンプルな文書ファイルの形式である。上の例は, テキストファイルであるソースコードを画面に表示したものである。
ソースコードが完成すると、それを計算機で「コンパイル」する。コンパイルとは、ソースコードを、計算機がそのまま実行することが可能な言語(機械語という)に翻訳することである。コンパイルによって生成される実行可能なファイルのことを「バイナリーコード」と呼ぶ。
バイナリーコードは実行可能なはずである。しかし、よほどの天才でもない限り, 人の書いたプログラムは普通は間違いを多く含む。それを「バグ」という。バグのせいで、バイナリーコードを実行するとエラーが出て停止したり、期待したのと違う結果が出たりする。そのたびにソースコードを検査し、バグを見つけ、修正し、コンパイルし、またバイナリーコードを実行・・・ということを繰り返していく。この作業を「デバッグ」という。図式的に書けば、以下のようになる:

図 プログラミングの流れ。赤字は人がすること(考える)、青字は機械がすること(コンパイル, 実行)である。
プログラミングに必要なもの
プログラミングには、(計算機はもちろんとして)以下のものが必要である:
- OS ... 計算機の基本ソフトである。Windows, Linux, MacOSなどが、パソコンでは一般的だが、大規模な数値計算でよく用いられるのはUnixである。LinuxやMacOSXはUnixの一種である。Windowsの上でも、WSLという、Linux環境を構築する機能がある。この実習ではLinuxを用いる。
- テキストエディター ... テキストファイルを作成するのに使うアプリケーションソフト。プログラミングでは、ソースコードをテキストエディターで作成・編集する。 Windowsでは「メモ帳」や「TextPad」などが代表的である。LinuxやUnixではviやEmacs (mule) が代表的である。この実習ではviを用いる。
- コンパイラー ... コンパイル、すなわちソースコードをバイナリーコードに変換するためのアプリケーションソフトである。C言語にもいろいろなコンパイラーがあるが、この実習ではgccというコンパイラーを使う。gccはオープンソースであり, 広く使われている。
- デバッガー ... デバッグを支援するアプリケーションソフトである。この実習では使わない。
- 人間の頭と集中力 ... プログラミングにおいて最も重要なものである。もちろん、この実習でも用いる。
- タフで諦めない心 ... プログラムはバグが出て当たり前である。プログラムを書く時間よりも, デバグに費やす時間の方が多いのが普通である。失敗してもめげない。動くまで諦めない。

図 C言語プログラミング中のLinux画面の例。右のウィンドウではviエディターでC言語のソースコードを編集中である。
問題0-1: 以下の言葉の意味と, 相互の関係を説明せよ。
- ソースコード
- コンパイル
- バイナリコード
- バグ
- デバッグ
(ブラウザの「戻る」ボタンで戻ってください。)
Keyword(s):
References:[C言語入門]