プログラミング言語
読み:プログラミングげんご
外語:Programming language

 プログラムを作成するときに使われる言語。
目次

概要
 用途や環境に応じて、さまざまなものが考案され、利用されている。
 プログラミング言語を用いて書かれるものがプログラムであり、こうして作られるものがソフトウェアである。
 世の中にはプログラミング言語は無数にあり、日常的に使われている種類だけでも3桁はある。

特徴

プログラミング言語の基準
 コンピューターで使われる言語はコンピューター言語などと呼ばれ、これは大きく、プログラミング言語とデータ記述言語等に分けることができる。
 プログラミング言語かどうかの判断基準として、チューリングコンプリートかどうかが(詳細後述)使われることもある。
 正規表現HTMLなどはチューリングコンプリートではないので、この基準では(この基準でなくてもだが)プログラミング言語ではない。SQLはSQL:1999で再帰問合せ(再帰クエリー)が導入されたことでチューリングコンプリートになったとされているが、しかし一般的にSQLはプログラミング言語とは考えられていない。
 またHTMLのようなマークアップ言語はデータ記述言語であり、プログラミング言語とは分けて考える。

チューリングコンプリート
 実用的なプログラミング言語はチューリングマシンと同じ能力を持っており、これをチューリングコンプリートという。
 単純そうに見えても、能力を満たす言語としては、BrainfuckWhitespaceGrassなどといったものがある。ただ、こういった言語はジョークの範疇であり、実用的ではない。
 現在使われている主流のプログラミング言語は、このような必要最小限の機能を持った単純な言語に、更に使いやすさを加えたものである、と言うことができる。

種類

分類

分類方法
 様々な目的を達成するために、様々なプログラミング言語が作られ、今やその数を把握することすら困難となっている。
 そのような状況で、プログラミング言語を完全に分類できる分類方法は存在していない。
 主たる用途ごとでの分類は可能だが、一つのプログラミング言語は他の様々なプログラミング言語のアイディアを参考にして作られることが多いため、あるプログラミング言語で作られた設計思想的なものが、全く異なる分野のプログラミング言語に流れ込むことも珍しいことではない。
 完全な分類法はなく、一つのプログラミング言語が複数の分類項目に収まることも多々あるが、それでも分類をしようという努力は存在する。

高級・低級
 プログラミング言語のうち、人間の言語に近いとされるものを「高級言語」、逆に機械語に近いとされるものを「低級言語」という。
 高級か低級かは人間の価値観そのままではあるが、その境界は曖昧であり、明確な定義はない。
 低級言語の代表は、機械語やアセンブリ言語である。
 それ以外は概ね高級言語だが、Cのような言語は中間的な性質を持っており、高級言語ではあるが低級言語でもあるとして扱われることがある。
 高級言語をコンパイルして得られる低級な言語ではあるがCPUが直接実行できないため機械語ではない、高級言語と低級言語の中間となる「中間言語」と呼ばれるものもある。

パラダイム
 プログラミング言語も、所詮人間が作ったものであるので、作られた時代の流行に合わせた特徴(パラダイム、枠組み)を持つことがあり、これを基準にして分類する方法もある。

処理形式による分類

実行形態による分類

命令法による分類

型付けによる分類

目的や設計思想による分類

主要な実行環境による分類

一覧

主な言語

主要高級言語
 一般に高級言語と呼ばれる、よく使われているプログラミング言語や、既に使われていないが祖先になったプログラミング言語は次の通り。一般にスクリプト言語と呼ばれるものも主要なものは含む(順不同)。

難解プログラミング言語
 英語で「Esoteric programming language」と呼ばれるカテゴリーのプログラミング言語。
 実用的ではないがチューリングコンプリートで、研究対象として価値のある言語である。様々なものがあるが、目に見えないプログラミング言語まで存在する。

その他

人気言語

人気
 プログラミング言語の人気も年々変化している。
 一度は死んだJavaがAndroidのおかげでまさかの復活を遂げたり、かつてはよく使われ隆盛を極めたPerlもいまや往時を偲ぶ状況になるなど。
 それでも、組み込みでアセンブリ言語が現役かつ確固たる地位であり続けるのは変わらないほか、C/C++も強い。かつてはMac OS用に仕方なく使われていたObjective-Cも過去の存在となりSwiftが追い越した。

2022(令和4)年8月
 オランダTIOBE Softwareが発表したプログラミング言語人気ランキング「TIOBE Index for August 2022」によると、上位20位は次の通りである。
  1. Python
  2. C
  3. Java
  4. C++
  5. C#
  6. Visual Basic
  7. JavaScript
  8. アセンブリ言語
  9. SQL
  10. PHP
  11. Swift
  12. Classic Visual Basic
  13. Delphi/Object Pascal
  14. Objective-C
  15. Go
  16. R
  17. MATLAB
  18. Ruby
  19. FORTRAN
  20. Perl

2016(平成28)年6月
 オランダTIOBE Softwareが発表したプログラミング言語人気ランキング「TIOBE Index for June 2016」によると、上位20位は次の通りである。
  1. Java
  2. C
  3. C++
  4. Python
  5. C#
  6. PHP
  7. JavaScript
  8. Perl
  9. Visual Basic .NET
  10. Ruby
  11. Visual Basic
  12. アセンブリ言語
  13. Delphi/Object Pascal
  14. Swift
  15. Objective-C
  16. R
  17. MATLAB
  18. PL/SQL
  19. D
  20. COBOL

2014(平成26)年4月
 オランダTIOBE Softwareが発表したプログラミング言語人気ランキング「TIOBE Index for April 2014」によると、上位20位は次の通りである。
  1. C
  2. Java
  3. Objective-C
  4. C++
  5. Visual Basic/BASIC
  6. C#
  7. PHP
  8. Python
  9. JavaScript
  10. Perl
  11. Visual Basic .NET
  12. Ruby
  13. F#
  14. Transact-SQL
  15. Delphi/Object Pascal
  16. Lisp
  17. Assembly
  18. Pascal
  19. MATLAB
  20. ActionScript

2011(平成23)年1月
 オランダTIOBE Softwareが発表したプログラミング言語人気ランキング「TIOBE Programming Community Index for January 2011」によると、上位20位は次の通りである。
  1. Java
  2. C
  3. C++
  4. PHP
  5. Python
  6. C#
  7. Visual Basic/BASIC
  8. Objective-C
  9. Perl
  10. Ruby
  11. JavaScript
  12. Delphi
  13. Lisp
  14. Pascal
  15. Assembly
  16. SAS
  17. Transact-SQL
  18. RPG (OS/400)
  19. MATLAB
  20. Ada

再検索