コンパイルとビルドの違いを説明してみる

スーツの上司が「コンパイル」と「ビルド」ってどう違うの?って先輩に質問していました。
たしかに僕の周りでは「コンパイル」と「ビルド」、両方の単語が会話の中に飛び交っている。
そして、恥ずかしながら僕は、呼び方が違うだけでまったく一緒だと思っていました。


まずいつものごとくウィキペディアで調べてみました。
しかし残念ながらビルドが掲載されていませんでした。
という事で他にIT系の調べ物によく使用しているIT用語辞典 e-Wordsで調べてみたら
ちゃんと区別して説明されてました。

コンパイル

人間がプログラミング言語を用いて作成したソフトウェアの設計図(ソースコード)を、
コンピュータ上で実行可能な形式(オブジェクトコード)に変換すること。

この認識はほぼ合っていました。変換するだけで、*1オブジェクトコードの実行はしない。

ビルド

ソースコードコンパイルやライブラリのリンクなどを行ない、最終的な実行可能ファイルを作成すること。
また、そのような作業によって生成されたソフトウェアの版。

自分の認識と違っていて、ちょっとびっくりしました。
ビルド >> コンパイルみたいな感じかな。
ビルドがコンパイルも内包していて、総括的な表現て感じ。


ちゃんとした知識で学んでいきたいです。


裏メニューとして実は「はてな記法」も勉強中(笑)
今日は「脚注」を使ってみました。

*1:コンピュータに理解できる言語(マシン語)で記述されたプログラム。