プログラミング言語

読み:プログラミングげんご
外語:Programming language 英語 , program/lingv/o エスペラント
品詞:名詞

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

用途や環境に応じて、さまざまなものが考案され、利用されている。

プログラミング言語を用いて書かれるものがプログラムであり、こうして作られるものがソフトウェアである。

高級・低級

プログラミング言語のうち、人間の言語に近いとされるものを「高級言語」、逆に機械語に近いとされるものを「低級言語」という。

高級か低級かは人間の価値観そのままではあるが、その境界は曖昧であり、明確な定義はない。

低級言語の代表は、機械語やアセンブリ言語である。

それ以外は概ね高級言語だが、Cのような言語は中間的な性質を持っており、高級言語ではあるが低級言語でもあるとして扱われることがある。

チューリングコンプリート

実用的なプログラミング言語はチューリングマシンと同じ能力を持っており、これをチューリングコンプリートという。

単純そうに見えても、能力を満たす言語としては、BrainfuckWhitespaceGrassなどといったものがある。ただ、こういった言語はジョークの範疇であり、実用的ではない。

現在使われている主流のプログラミング言語は、このような単純な言語に、更に使いやすさを加えたものである、ともいえる。

プログラミング言語の基準

プログラミング言語かどうかの判断基準として、チューリングコンプリートかどうかが使われることもある。

正規表現SQL (DB)HTML、などはチューリングコンプリートではないので、この基準では(この基準でなくてもだが)プログラミング言語ではない。

主要高級言語

一般に高級言語と呼ばれる、よく使われているプログラミング言語は次の通り。

難解プログラミング言語

英語で「Esoteric programming language」と呼ばれるカテゴリーのプログラミング言語。

実用的ではないがチューリングコンプリートで、研究対象として価値のある言語である。様々なものがあるが、目に見えないプログラミング言語まで存在する。

  • Befunge
  • Brainfuck
    • BrainCrash (拡張版)
    • Grass (ちょっと草植えときますね型言語)
    • Misa (みさくら語)
    • MONAmona (拡張版)
    • Ook! (オランウータン用)
    • Whitespace (目に見えないプログラミング言語)
  • Chef
  • LOLCODE
  • P′′

その他