リリースビルド
プログラムの状態だよ
動かすことだけを考えて作られている(余計なものが付いていない)よ
もしくは、ビルドのモードだよ
ビルドすると余計なものが付いていないプログラムになるよ
簡単に書くよ
リリースビルド(英:release build)とは
プログラムの状態を指す用語のひとつ
であり
デバッグ
(不具合の原因を探して直すこと)用の部品とか余計なものがくっついてなくて、単純に動かすことだけを考えて作られた状態のプログラムのこと
です。
あるいは
プログラムの元ネタから実際のプログラムを作る作業(ビルド)のモードのひとつ
であり
余計なものがくっついてない版として作りますよモードのこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・プログラムの作り方
・ソースコード
・コンパイル
・ビルド
・バグ
・デバッグ
・デバッグビルド
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
プログラムを作って動かすまでの一般的な流れは
1.人間語でプログラムの元ネタを書く
2.元ネタを人間語から機械語に翻訳する
3.翻訳された指示に従って、コンピュータさんが お仕事する
です。
コンピュータさんは人間語が分かりません。
人間様はコンピュータさんの言葉が分かりません。
プログラムは人間様が作るものです。
そこで最初は人間様が分かる言葉でプログラムを作ります。
コンピュータさんに対する「あれをやれ」「これをやれ」な命令を人間語で書くのです。
次に人間語で書いたプログラムの元ネタをコンピュータさんが分かる言葉に翻訳します。
実際に お仕事をするのは、コンピュータさんですからね。
コンピュータさんが分かる言葉に変換する必要があるのです。
コンピュータさんが分かる言葉に翻訳したので、コンピュータさんは命令の内容を理解できます。
指示に従って、お仕事をしてくれるでしょう。
この話で登場した「人間語で書いたプログラムの元ネタ」を「ソースコード」と言います。
ソースコードをコンピュータさんが分かる言葉に翻訳する作業は「コンパイル」です。
実はソースコードから実際のプログラムを作るにはコンパイル以外の作業も必要です。
それらの作業も含めた「ソースコードから実際のプログラムを作る作業」を「ビルド」と言います。
よく分からない人は
コンパイル+α=ビルド
と思ってください。
かなり簡略化した説明ですけどね。
これがプログラムを作るときの流れです。
バグは「プログラムの おかしいところ」です。
バグがあるとプログラムは期待した通りの動きをしてくれません。
変な動きをしたり、作ったデータの中身が変だったり、途中で処理を止めたりします。
バグの程度にもよりますが、バグがあるプログラムさんはラリラリです。
……というのが辞書的な説明です。
実際には、プログラムに限らず「おかしいところ」程度に、ゆるく解釈しておいた方が無難でしょう。
「バグ」という用語は結構アバウトな使われ方をしている用語です。
ちなみに「バグ(bug)」を日本語にすると「虫」です。
由来は知りません。
気になる方は他のところで調べてください。
デバッグは「バグの原因を探して取り除く作業」です。
プログラムに限らず「原因は分からないけど、なんか おかしい」な状況に対する原因の究明や不具合の解消を指して「デバッグ」と表現することもあります。
デバッグビルドは「デバッグしやすいように、あれやこれやを調整しておきました~」なプログラムです。
ソースコードから実際のプログラムを作るときに、こっそりデバッグ用の部品をくっつけたものを指します。
実際には「部品が くっついている」と表現するのは少し間違いです。
もう少し複雑で、ごちゃごちゃしています。
とはいえ初心者のうちは
[プログラム本体] + [デバッグ用の部品] = [デバッグビルド]
と思っておいた方がイメージしやすいでしょう。
正確な内容は慣れてから他のところで勉強してください。
あるいは、ビルドするとデバッグ用の部品がくっついた状態になりますよモードが「デバッグビルド」です。
以上を踏まえて
デバッグ用の部品とか余計なものがくっついていない「これは動かすためのものですよ」版なプログラム
が「リリースビルド」です。
あるいは
ビルドすると余計なものがくっついていない状態になりますよモード
が「リリースビルド」です。
身も蓋もない言い方をすると、リリースビルドは
デバッグビルドじゃない方
です。
例えば、そうですね。
ピヨ太君が「ピヨピヨ苺ショートケーキ作成プログラム」を作りました。
ソースコードをコンパイル+α(=ビルド)して実際のプログラムを作ります。
次に実際のプログラムを動かします。
ピヨピヨ苺ショートケーキ作成プログラムは一生懸命ケーキを作りました。
ところが、です。
このプログラムには問題が ありました。
ある程度の時間 働くとラリラリになるのです。
ピヨ太君はラリラリになる原因を調べました。
しかし、分かりません。
そこでピヨ太君はプログラムをビルドし直しました。
さらに今度は「ピヨピヨの魔法」を使ってプログラムの心の声が聞こえるようにしました。
プログラムさんが何を考えているか分かるようにしたのです。
さぁ、実験です。
心の声が聞こえるようにしたピヨピヨ苺ショートケーキ作成プログラムを動かします。
ある程度の時間 働いたプログラムはラリラリになりました。
すかさずピヨ太君はプログラムの心の声を聞きます。
ふむふむ。
なるほど。
「お腹が空いて力が出ない」ですか。
ピヨ太君は、プログラムがラリラリになったら、ご飯を食べさせることにしました。
これでピヨピヨ苺ショートケーキ作成プログラムは元気に働き続けます。
ピヨ太君も一安心です。
この話における、デバッグしやすい状態になっていない普通のピヨピヨ苺ショートケーキ作成プログラムがリリースビルドです。
余計なものが付いていない、動かすことだけを考えて作られた状態のプログラムです。
あるいはビルドしたときに「デバッグしやすい状態になっていない普通のピヨピヨ苺ショートケーキ作成プログラム」になるモードがリリースビルドです。
心の声が聞こえるようにしたピヨピヨ苺ショートケーキ作成プログラムがデバッグビルドです。
デバッグしやすい状態になっているプログラムです。
あるいはビルドしたときに「心の声が聞こえるようにしたピヨピヨ苺ショートケーキ作成プログラム」になるモードがデバッグビルドです。
気が向いたら、併せて覚えてあげてください。
少し語弊がある言い方ですが
リリースビルド:普通に動かすためのプログラム(になるモード)
デバッグビルド:リリースビルド+デバッグ用の部品なプログラム(になるモード)
です。
一言でまとめるよ
まぁ「リリースビルド」って単語が出てきたら「余計なものがくっついてないよ版(になるよモード)なんだな~」と お考えください。
おまけ
■訳してみるよ
「release(リリース)」の意味は「解放する」とか「解除する」とか「手放す」とか「解き放つ」とかです。
カタカナで「リリース」の方がイメージしやすいですかね。
「build(ビルド)」の意味は「建てる」とか「築く」とか「組み立てる」とか「作り上げる」とか「高める」とか「造り」とか「構造」とかです。
何となく くっつけると
リリース用に組み立てる
となります。
■検索してみる?






