プログラミング言語の比較(プログラミングげんごのひかく)の記事では、コンピュータ・プログラミング言語の比較について説明する。
(コンピュータ・)プログラミング言語は、コンピュータのプログラム(コンピュータ・プログラム)を記述する(プログラミングする)ための形式言語である。形式言語であるので、一般に、自然言語とは異なり形式的で曖昧さが避けられ人工的に定義された構文(統語・syntax。統語論の記事を参照)を持ち、自然言語とは異なり計算理論のための意味論(semantics)を持つ。
現在何千ものプログラミング言語があり、多くの職業プログラマや多くの非職業プログラマが生涯の間に何十もの異なった言語を使用している。一方で、多くの職業プログラマや多くの非職業プログラマが、好みを理由として、あるいは、異なった言語を学習できないためか、一種類ないし僅かな類似した言語のみを使用している。毎年新しいものが作られているものの、ほとんどの言語は一般的にはなっていない。
全体の比較
以下の表は主要なプログラミング言語の全体的および技術的な情報を比較している。詳細は個々の言語のページを参照のこと。
構文の表現力
プログラミング言語に関する文献には、それらの相対的な表現力に関する非公的な主張は多くみられるものの、各言語の構文を互いに比較して意味ある結果を出すことができる公認された枠組みは無い。
次の表は、二つ異なる文献からの表現力の二つの尺度を示す。
この表は同等のプログラムを書いた時のソースコードの「行数」あるいは「文の数」を C語のソース÷他言語のソース で示している。例えば Perlと Cを比べると Cの方が 6倍多くの行数を必要としている。
ただしこれは公的な値ではなく、また生成されたプログラムの実行速度やメモリ要求量を示しているものではない。多くの場合、実行速度やメモリ要求量で見た性能は全く異なっている。
これら表現力あるいは他の性能について、さらなる計測値は、GZip byte の「コンピュータ言語のベンチマークゲーム(the Computer Language Benchmarks Game)」にある。
脚注




