質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

Q&A

解決済

1回答

5616閲覧

タスクランナーとビルドツールの違い

退会済みユーザー

退会済みユーザー

総合スコア0

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

0グッド

1クリップ

投稿2016/10/13 16:37

タイトル通りなのですが、タスクランナーとビルドツールはどう違うのですか?

タスクツールはwebpack・gulp・gruntなど、
ファイルの圧縮やコンパイルを自動で行うツールだと色んなサイトに書いてありました。

ビルドは「ソースコードをコンパイルして更にライブラリなどとリンクする」操作のことですが、
ビルドツールというと、「そういう操作をしてくれるツールのこと」ですよね。

【質問1】
タスクツールはファイルの圧縮をするが、ビルドツールはしない、とかそういう違いですか?
それとも、「片方は何かに特化していて、何を求めるならこっちを使うべき」
とかそういう違いでしょうか?

【質問2】
あと、コンパイルは「ソースコードの変換」のみを行って、オブジェクトコードの「実行」は行わないといくつかのサイトに書いてありましたが、
ビルドはコンパイルを行いリンクしたあと、オブジェクトコードを「実行」するのですか?
コンパイルとリンクを行うだけですか?

回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

書かれている各用語に広く認知されている定義はありません。その時々の文脈から雰囲気で把握することになります。慣れない人にとって辛い事実ですが。

ビルドは「ソースコードをコンパイルして更にライブラリなどとリンクする」操作のことですが、

ビルドツールというと、「そういう操作をしてくれるツールのこと」ですよね。

コンパイラやリンカをビルドツールと呼ぶ場合もあれば、Makeのようなコンパイルやリンク過程を自動化するようなツールもビルドツールと呼ぶ場合もあると思います。ソフトウェアを構築するために使うツールを全てビルドツールに分類する場合もあるでしょう。

タスクツールはファイルの圧縮をするが、ビルドツールはしない、とかそういう違いですか?
それとも、「片方は何かに特化していて、何を求めるならこっちを使うべき」

タスクランナーもソフトウェアを構築するために使うツールですので、ビルドツールの1つと思います。フロントエンド開発に特化しているビルドツールをタクスランナーと呼ぶイメージでしょうか。

あと、コンパイルは「ソースコードの変換」のみを行って、オブジェクトコードの「実行」は行わないといくつかのサイトに書いてありましたが、

これはその通りと思います。コンパイルと実行は区別する場合がほとんどです。
コンパイルと書いただけで実行まですると言う意味で使っている人は今のところ見たことないです。

ビルドはコンパイルを行いリンクしたあと、オブジェクトコードを「実行」するのですか?

コンパイルとリンクを行うだけですか?

ビルドは主にコンパイルとリンクを指します。しかし、コンパイル、リンク、テスト、インストール等も含めてポタン一発で自動実行することもできます。その時、テストやインストールも含めて「ビルド」ボタンを押して行う場合もありますから、必ずしもコンパイルとリンクだけに限定されないと思います。

ところで、「タスクランナー ビルドツール」で検索してみたら、面白いサイトがありました。最近のビルドツールって何なの?

投稿2016/10/14 03:14

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/10/14 05:30 編集

回答有難うございます。 「その時々の文脈から雰囲気で把握することになる」 早くこれができるようになりたいです。 一応認識としては、 ビルドツール: 個々のコンパイラ・リンカを指す場合もあるし、 コンパイルとリンク過程を自動化する「ツール」を指す場合もある。 タスクランナー: ビルドツールの中でもフロントエンド開発に特化しているツール。 ビルド: コンパイルとリンクを行うが、それだけに限定されるわけではない。 ということでよろしいでしょうか? あともう一つ追加で質問なのですが、 http://qiita.com/rico/items/9ab8aa110e757a13ef37 ↑この記事のコンパイルの説明の引用で 「変換のみを一括して行い、生成したオブジェクトコードの実行は行わない。」 と書いてありますが、これは正しくは 「生成したオブジェクトコードから"実行可能なプログラム(アプリケーション)"の生成(リンク?)を行わない」 だと思うのですが、どうでしょうか。 よろしくお願いします。
Chironian

2016/10/14 05:42

> ということでよろしいでしょうか? その理解で大丈夫です。 > 「生成したオブジェクトコードから"実行可能なプログラム(アプリケーション)"の生成(リンク?)を行わない」 厳密にはその通りです。ただ、コンパイル・コマンドでリンクも一緒に行うコンパイラも少なくないので、コンパイルとリンクのことをコンパイルと表現してしまうこともあります。
退会済みユーザー

退会済みユーザー

2016/10/14 13:19

無事理解することができました。 "その時々の文脈から雰囲気で把握"することができるように頑張ります。 回答有難うございました!
Chironian

2016/10/14 13:31

> "その時々の文脈から雰囲気で把握"することができるように頑張ります。 人によって表現が結構異なるのでたいへんですが、頑張ってください。 実際にものを使っていると、なんとなく掴めてくると思いますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問