第2回エンペディア大賞」が2月いっぱい開催中です。2024年に作成された記事の中から、お気に入りの記事に投票しましょう!

プログラミング言語

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
記事をシェア:
X(旧Twitter)にシェアする
Threadsにシェアする
Facebookにシェアする
はてなブックマークにシェアする
LINEにシェアする
ナビゲーションに移動 検索に移動

プログラミング言語とは、コンピューターに指示を与えるために考案された、正確に定義された記号と規則からなるコンピュータ言語である。

概要[編集]

具体的なプログラミング言語については、カテゴリ:プログラミング言語を参照。

低水準言語と高水準言語[編集]

  • アセンブルは比較的単純な規則からなるため、人の手でも実行でき、これは「ハンドアセンブル」と呼ばれる。

自然言語とプログラミング言語[編集]

  • 人間が読み書きしやすい言語にするには、ベースとなる自然言語が必要となる。プログラミング言語の大半は、英語をベースとしている。高水準言語の場合は、日本語をベースにしているものもいくつかある。

高水準言語の数[編集]

高水準言語には非公開もしくは無名のため、存在をカウントすることができないものがある。こういったものを除いてある程度有名なものを数えても、多数の言語がある。

プログラミング黎明期を除き、高水準言語には特定の条件下でなければ決定版と呼べるものはない。
高水準言語が多数生まれ続ける理由はいくつかある。以下にいくつかの候補を示す。複数の理由には重複する部分もある。

  • コンピューターの技術革新やプログラミング言語自体の研究が進んだことにより[注 1]、より効率の良い高水準言語の開発が可能になった
  • 既存のプログラミング言語に気に入ったもの・使いやすいものがなく、または単に作りたくて、自ら作り出す開発者が存在する
  • 既存のプログラミング言語が使われ続けていく中で何かしらの欠点が顕在化し、それの解消を目的として
  • 新しいパラダイムやアーキテクチャーにおいて、既存のプログラミング言語では表現できない、もしくは著しく効率が悪い

分類[編集]

高水準言語は、パラダイム(プログラミングパラダイム)、実行方式、用途などで分類され、以下のようになる。

パラダイム別[編集]

オブジェクト指向言語関数型言語手続き型言語、など。

実行方式別[編集]

実行方式には、コンパイル方式、インタープリター方式がある。

プログラミング言語を記述したテキストファイルを、コンパイルせずに実行時にそのまま言語処理系に渡して実行するタイプのものは、スクリプト言語PythonRubyJavaScriptなど)と呼ばれる。

用途別[編集]

用途には、数値解析、テキストデータ処理、Webアプリケーション開発、携帯端末アプリ開発、ゲーム開発、組み込みシステム開発、人工知能開発、などがある。OS開発のように言語が限られる分野もある。

何かしらの特定の技術に関連づけされた言語のグループがある。

Microsoftの.NET言語(VB.NET、C#、F#など)や、Java仮想マシンのJVM言語(KotlinScalaClojureなど)が該当する。

その他[編集]

高水準言語には、Brainf*ckのように意図的に難解にしているものもある。このようなプログラミング言語は、「難解プログラミング言語」と呼ばれる。

プログラミング言語とは呼ばないもの[編集]

プログラミング言語のようだがプログラミング言語とは呼ばないものがある。

  • HTMLマークアップ言語と呼ぶ。HTMLはコンピューターに指示しているように見えるかもしれないが、実際はWebブラウザーがコンピュータープログラムであって、HTMLはその入力データに過ぎない。
  • SQLは、厳密いうとプログラミング言語ではなく、Codd のデータベース理論に基づいて作動している RDBMS に対する問い合わせ言語である[注 2]

プログラミング言語と呼ぶもの[編集]

プログラミング言語のようではないがプログラミング言語と呼ぶものがある。

脚注[編集]

注釈[編集]

  1. 計算機科学で理論的には作られていたがコンピューターの能力不足により十分な実現が困難、実用化しなかった、など。コンピューターの能力が上がったことで、高度な仮想マシンや高度な推論のように抽象的な処理が実現できるようになった。
  2. とはいえ、Oracle の 9i 以降では「CONNECT BY」という再帰呼出しなどが追加され、あれはあれでプログラミング言語として認めてあげたい。乗用車の製造ラインを立てるときに部品管理のために部品ツリーの比較をする必要があり、問合せ側との間でコミット関係で待ち合わせに手間取るため、「なんとかならないか?」というので三菱総研が「SQL の再帰呼出しで、DB サーバの内部で処理を閉じられないか?」というので採用した事例がある。

出典[編集]

関連項目[編集]