はじめに
Javaしか知らない自分が、C#でコーディング始めてふと思いました。
あれ、C#って事前にコンパイル必要だよね?
じゃあほかのプログラミング言語はどうなんだろ?
と気になったので調べました。
そもそもなぜコンパイルが必要か
人間が書いたソースコードはコンピューターには分からないのでそのままだと実行できません。
そこでコンピュータが解釈できる機械語に変換する=コンパイルする必要があります。
コンパイルが必要な言語は?
プログラミング言語はコンパイルが必要です。
勘違いしていたのですが、マークアップ言語はプログラミング言語ではありません。
例えばHTMLはコードをブラウザが解釈し、WEBページを表示させています。
マークアップ言語
- コンパイルは不要。
- 代表的な言語:HTML、XML、XHTML
プログラミング言語
コンパイラ言語、インタプリタ言語などがあります。
これらは事前コンパイルの要否に違いがあります。
コンパイラ言語
- 実行をする前に、一括ですべてのコードを機械語もしくは中間言語に変換が必要。
- 事前にコンパイルを行うため、実行時の処理速度は他の形式の言語と比較して速い。
- 代表的な言語:Java、C#、C / C++
インタプリタ言語
- 事前コンパイルが不要で、実行時にコードを一行ずつ機械語に変換する。
- 実行時にコンパイルするので、コンパイラ言語に比べると処理速度が遅い。
- 代表的な言語:Ruby、JavaScript、Python
スクリプト言語
- 簡単に書ける、簡単に実行できる、などの扱いやすさで定義されている
- インタプリタ言語が多い。
- コンパイラ言語を含むことがあるので、インタプリタ言語とイコールではない。
- 代表的な言語:PHP、Ruby、JavaScript、Python
おわりに
スクリプト言語の分類がいまいちわからなかったです。
新しい言語がどんどん出てくる中で、単純に分類できるものでもなくなっていると感じました。