違いがわかりにくいコンパイル型言語
とインタプリタ型言語について、まとめましたので参考にしていただければと思います。
<コンパイル型言語 compiled language>
一度に全てのソースコードを翻訳してからプログラムを実行する言語のこと。翻訳のことを「コンパイル」と呼び、コンパイルしたファイルはソースコードとは別に作成される。このときの別ファイルをファイルを「実行可能ファイル」や「モジュール」と呼びます。
一度に全てのソースコードを翻訳してからプログラムを実行するため、それが終わるまでは実行を待つ必要があります。ただし、これは主に開発作業中におけるデメリットです。開発作業中は何回もソースコードの作成と実行(テスト)を繰り返すため、僅かな時間ですがコンパイルを待つ必要があります。
しかし、実際に私たちがダウンロードして利用するアプリは、すでにコンパイルが済んでいる実行可能ファイルですので、ソースコードの翻訳を待つ必要はありません。
メリット・デメリット
・プログラムの実行速度が早い
・プログラム実行に手間と時間がかかる
・デバッグしづらい
言語例、Java・C++・Objective-C・Go・swift
<インタプリタ型言語 interpreted language>
コンパイル型とは異なり、少しずつソースコードを翻訳しながらプログラムを実行する言語のこと。
メリット・デメリット
・作成したプログラムの実行結果をすぐに確認できる
・デバッグしやすい
・実行速度が遅い
・基本的にはスクリプト型言語なので、可読性が高い
言語例、HTML・CSS・Ruby・Python・JavaScript・PHP
<スクリプト言語>
比較的簡単に書けるプログラミング言語を総称して呼ばれているもの。殆どのスクリプト言語は、インタプインタ型言語なので、ごっちゃになる。スクリプト言語という言葉は、インタプリンタ型やコンパイル型とは別視点の話なので、ここではあまり触れないでおきます。
~具体例で考えてみる~
例えばwebアプリケーションの場合、Webページ側(フロントエンド)はすぐに実行できることが求められるためインタプリタ型言語の JavaScript を採用する。(webページの下のほうは後から表示すれば良いので。)
バックエンド側は実行速度が求められるため、コンパイル型の言語を使用する。
もちろんですが、サービスの内容によって異なると思いますので、それらを踏まえてコンパイル型が良いか、インタプリンタ型が良いか選択していければと思います。
参照
https://magazine.techacademy.jp/magazine/30856
https://www.tokai-bs.co.jp/trends/column-350/
https://wa3.i-3-i.info/word188.html
https://wa3.i-3-i.info/word189.html