プログラミング言語 |
辞書:電算用語の基礎知識 プログラミング言語編 (PTPROGN) |
読み:プログラミングげんご |
外語:Programming language |
品詞:名詞 |
プログラムを作成するときに使われる言語。
|
概要 |
用途や環境に応じて、さまざまなものが考案され、利用されている。
プログラミング言語を用いて書かれるものがプログラムであり、こうして作られるものがソフトウェアである。
世の中にはプログラミング言語は無数にあり、日常的に使われている種類だけでも3桁はある。
特徴 |
プログラミング言語の基準 |
コンピューターで使われる言語はコンピューター言語などと呼ばれ、これは大きく、プログラミング言語とデータ記述言語等に分けることができる。
プログラミング言語かどうかの判断基準として、チューリングコンプリートかどうかが(詳細後述)使われることもある。
正規表現やHTMLなどはチューリングコンプリートではないので、この基準では(この基準でなくてもだが)プログラミング言語ではない。SQLはSQL:1999で再帰問合せ(再帰クエリー)が導入されたことでチューリングコンプリートになったとされているが、しかし一般的にSQLはプログラミング言語とは考えられていない。
またHTMLのようなマークアップ言語はデータ記述言語であり、プログラミング言語とは分けて考える。
チューリングコンプリート |
実用的なプログラミング言語はチューリングマシンと同じ能力を持っており、これをチューリングコンプリートという。
単純そうに見えても、能力を満たす言語としては、Brainfuck、Whitespace、Grassなどといったものがある。ただ、こういった言語はジョークの範疇であり、実用的ではない。
現在使われている主流のプログラミング言語は、このような必要最小限の機能を持った単純な言語に、更に使いやすさを加えたものである、と言うことができる。
種類 |
分類 |
様々な目的を達成するために、様々なプログラミング言語が作られ、今やその数を把握することすら困難となっている。
そのような状況で、プログラミング言語を完全に分類できる分類方法は存在していない。
主たる用途ごとでの分類は可能だが、一つのプログラミング言語は他の様々なプログラミング言語のアイディアを参考にして作られることが多いため、あるプログラミング言語で作られた設計思想的なものが、全く異なる分野のプログラミング言語に流れ込むことも珍しいことではない。
完全な分類法はなく、一つのプログラミング言語が複数の分類項目に収まることも多々あるが、それでも分類をしようという努力は存在する。
プログラミング言語のうち、人間の言語に近いとされるものを「高級言語」、逆に機械語に近いとされるものを「低級言語」という。
高級か低級かは人間の価値観そのままではあるが、その境界は曖昧であり、明確な定義はない。
低級言語の代表は、機械語やアセンブリ言語である。
それ以外は概ね高級言語だが、Cのような言語は中間的な性質を持っており、高級言語ではあるが低級言語でもあるとして扱われることがある。
高級言語をコンパイルして得られる低級な言語ではあるがCPUが直接実行できないため機械語ではない、高級言語と低級言語の中間となる「中間言語」と呼ばれるものもある。
プログラミング言語も、所詮人間が作ったものであるので、作られた時代の流行に合わせた特徴(パラダイム、枠組み)を持つことがあり、これを基準にして分類する方法もある。
一覧 |
主な言語 |
一般に高級言語と呼ばれる、よく使われているプログラミング言語や、既に使われていないが祖先になったプログラミング言語は次の通り。一般にスクリプト言語と呼ばれるものも主要なものは含む(順不同)。
英語で「Esoteric programming language」と呼ばれるカテゴリーのプログラミング言語。
実用的ではないがチューリングコンプリートで、研究対象として価値のある言語である。様々なものがあるが、目に見えないプログラミング言語まで存在する。
人気言語 |
プログラミング言語の人気も年々変化している。
一度は死んだJavaがAndroidのおかげでまさかの復活を遂げたり、かつてはよく使われ隆盛を極めたPerlもいまや往時を偲ぶ状況になるなど。
それでも、組み込みでアセンブリ言語が現役かつ確固たる地位であり続けるのは変わらないほか、C/C++も強い。かつてはMac OS用に仕方なく使われていたObjective-Cも過去の存在となりSwiftが追い越した。
オランダTIOBE Softwareが発表したプログラミング言語人気ランキング「TIOBE Index for August 2022」によると、上位20位は次の通りである。
オランダTIOBE Softwareが発表したプログラミング言語人気ランキング「TIOBE Index for June 2016」によると、上位20位は次の通りである。
オランダTIOBE Softwareが発表したプログラミング言語人気ランキング「TIOBE Index for April 2014」によると、上位20位は次の通りである。
オランダTIOBE Softwareが発表したプログラミング言語人気ランキング「TIOBE Programming Community Index for January 2011」によると、上位20位は次の通りである。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |