まだプログラミング言語についてもよくわかっていない中、そもそもの業界用語を知らないという問題もあり、出てくる言葉は日々謎だらけです。自分用辞書として随時更新していきます。
#リリース偏
今回は、実際にソースコードを書いたあとにどのような作業を経て、ユーザが利用できるようになるのかをざっくりまとめました。
##プリコンパイラ
pre(前の)+ compiler(コンパイラ)の意味のとおり、コンパイルされる前に行う準備のこと。コンパイルだけでは、読み込むことができない文法などがある。プリコンパイラを行うことで、文法をコンパイルが理解できる文法に変換することができる。
※コンパイルを行うソフトウエアを「コンパイラ」と呼ぶ
##コンパイル
人間が日々書いているソースコードは人間用の言葉で書いたテキストで記述されたプログラムである。コンピュータに理解させるためには、ソースコードをコンピュータ用の言葉に変換しなければならない。この変換作業をコンパイルと呼ぶ。コンパイルされたファイル(ソースコード)は「オブジェクトファイル」と呼ばれる。
ちなみに、コンパイルするにはコンパイラというソフトウェアが必要になる。それぞれの言語に対応したコンパイラがあるので必要なものを選ぶこと。
##リンク
コンパイルされた複数のファイルは、次にリンクという作業が行われ、実行形式のファイルに情報がまとめられる。いくつコードを分けて書いていようが、実際に実行するときはひとつにまとめられる必要があるのでリンク作業が必須となる。ちなみに、リンクされたファイルはリンカと呼ばれる。
##ビルド
上記で紹介したコンパイル~リンクまでの一連の流れのことをビルドと呼ぶ。
つまり、人間が書いたソースコードはただ書いてリロードしたり、保存したりするだけでは動かないということ。
今までビルドもコンパイルもしたことないけど動いたよ!という場合、なんらかの形で上記作業が補完されている可能性がある。つまり、人間の見えない部分で上記の工程がきちんと動いているということになる。
【補足】
スクリプト(script)たるプログラム(JavaScript、PHPで作ったプログラムなど)があり、そのプログラムに関しては、コンパイル作業はコンピュータが裏で作動しているので、人間は書いてすぐ実行することができる。ように感じる。
##デプロイ
ビルドされたファイルを実際に利用可能な状態に配置する。つまり、テスト環境や本番環境に置いて、ユーザがアクセスできる環境にする。使ってもらうためには、みんなが使うことができる環境に置く必要がある。
##リリース
実際にユーザが利用することができるように、本番環境に配置すること。
##まとめ
ざっくりまとめるとこんな感じ
【人間】プログラミング言語を使ってコードを書く
(自分のPCでちまちまとコードを書く)
↓
ファイルがコンパイルされる(オブジェクトファイル)
(人間の言葉を機械語に翻訳)
↓
コンパイルされた複数のファイルたちがリンクされる(リンカ)
(たくさんあるファイルをひとつにまとめる)
↓
【PC】送られてきたファイルを読み込む
(できあがったアプリケーションを読み込む)
↓
ファイルが実際に利用できるようにデプロイする
(ユーザが使える場所におく)
↓
リリースしてユーザがアクセスできる状態にする
(使ってくれ状態)
##参照元
https://proengineer.internous.co.jp/content/columnfeature/6308
https://www.atmarkit.co.jp/ait/articles/1105/23/news128.html