プログラミング言語の比較
プログラミング言語の比較 |
---|
比較全般 |
基本文法 |
文字列演算 |
文字列関数 |
|
評価戦略 |
|
CとC++の互換性 |
CとPascalの比較 |
C++とJavaの比較 |
C#とJavaの比較 |
C#とVisual Basic .NETの比較 |
プログラミング言語の比較(プログラミングげんごのひかく)の記事では、コンピュータ・プログラミング言語の比較について説明する。
(コンピュータ・)プログラミング言語は、コンピュータのプログラム(コンピュータ・プログラム)を記述する(プログラミングする)ための形式言語である。形式言語であるので、一般に、自然言語とは異なり形式的で曖昧さが避けられ人工的に定義された構文(統語・syntax。統語論の記事を参照)を持ち、自然言語とは異なり計算理論のための意味論(semantics)を持つ。
現在何千ものプログラミング言語があり、多くの職業プログラマや多くの非職業プログラマが生涯の間に何十もの異なった言語を使用している。一方で、多くの職業プログラマや多くの非職業プログラマが、好みを理由として、あるいは、異なった言語を学習できないためか、一種類ないし僅かな類似した言語のみを使用している。毎年新しいものが作られているものの、ほとんどの言語は一般的にはなっていない。
全体の比較
以下の表は主要なプログラミング言語の全体的および技術的な情報を比較している。詳細は個々の言語のページを参照のこと。
構文の表現力
プログラミング言語に関する文献には、それらの相対的な表現力に関する非公的な主張は多くみられるものの、各言語の構文を互いに比較して意味ある結果を出すことができる公認された枠組みは無い。[4]
言語 | 文の数の比[5] | 行数の比[6] |
---|---|---|
C | 1 | 1 |
C++ | 2.5 | 1 |
Fortran | 2.5 | 0.8 |
Java | 2.5 | 1.5 |
Perl | 6 | 6 |
Python | 6 | 6.5 |
Smalltalk | 6 | 6.25 |
MS Visual Basic | 4.5 | ? |
次の表は、二つ異なる文献からの表現力の二つの尺度を示す。
この表は同等のプログラムを書いた時のソースコードの「行数」あるいは「文の数」を C語のソース÷他言語のソース で示している。例えば Perlと Cを比べると Cの方が 6倍多くの行数を必要としている。
ただしこれは公的な値ではなく、また生成されたプログラムの実行速度やメモリ要求量を示しているものではない。多くの場合、実行速度やメモリ要求量で見た性能は全く異なっている。
これら表現力あるいは他の性能について、さらなる計測値は、GZip byte の「コンピュータ言語のベンチマークゲーム(the Computer Language Benchmarks Game)」にある。
脚注
- ^ https://msdn.microsoft.com/ja-jp/magazine/mt614271.aspx?f=255&MSPPError=-2147217396
- ^ “Frequently Asked Questions (FAQ) - The Go Programming Language”. golang.org. 2019年6月21日閲覧。
- ^ Java 5.0 では、いくつかの機能(Foreach文、オートボクシング、可変長引数、アノテーション、列挙型)が C# のようなライバル言語で有効性が証明されてから追加された。[1][2][3]
- ^ On the Expressive Power of Programming Languages、Matthias Felleisen、ESOP '90 3rd European Symposium on Programmingより。
- ^ コードコンプリートのデータから。 文の数の比は column "shows typical ratios of source statements in several high-level languages to the equivalent code in C. A higher ratio means that each line of code in the language listed accomplishes more than does each line of code in C.
- ^ The ratio of line count tests won by each language to the number won by C when using the Compare to feature at http://shootout.alioth.debian.org/debian/c.php. Last updated May, 2006. C gcc was used for C, C++ g++ was used for C++, Fortran G95 was used for Fortran, Java JDK Server was used for Java, and Smalltalk GST was used for Smalltalk.
「Comparison of programming languages」の例文・使い方・用例・文例
- Microsoftがβ版をランチするのは「NetShow streaming server」で動画や音声をオンデマンドで提供する。
- 《主に米国で用いられる》 = 《主に英国で用いられる》 an admiral of the fleet 海軍元帥.
- 篏入的 r 音 《英音の India office /ndiərfɪs/の /r/の音》.
- =《口語》 These kind of stamps are rare. この種の[こういう]切手は珍しい.
- (英国の)運輸省. the Ministry of Education(, Science and Culture) (日本の)文部省.
- は of の誤植です.
- を off と誤植する.
- あいまい母音 《about, sofa などの /ə/》.
- 副詞的小詞 《on, in, out, over, off など》.
- 迂言的属格 《語尾変化によらず前置詞によって示す属格; たとえば Caesar's の代わりの of Caesar など》.
- çon of garlic [humor]. それにはガーリック[ユーモア]がちょっぴり必要だ.
- 《主に米国で用いられる》 = 《主に英国で用いられる》 the Speaker of the House of Commons 下院議長.
- 《主に米国で用いられる》 = 《主に英国で用いられる》 the Committee of Ways and Means 歳入委員会.
- 初めて読んだ英文小説は“The Vicar of Wakefield”
- (違法罪―a sin of commission―に対する)怠惰罪
- 『each』、『every』、『either』、『neither』、『none』が分配的、つまり集団の中の1つのものを指すのに対し、『which of the men』の『which』は分離的である
- 『hot off the press(最新情報)』は『hot(最新の)』の拡張感覚を示している
- 『Each made a list of the books that had influenced him』における制限節は、リストに載った本を制限節で定義された特定の本だけに制限する
- 臨床的鬱病を治療するのに用いられる三環系抗鬱薬(商品名ImavateとTofranil)
- 『sunshine-roof』は『sunroof(サンルーフ)』に対する英国の用語である
- Comparison of programming languagesのページへのリンク