コンピュータ言語
コンピュータ言語(コンピュータげんご)とは、コンピュータ技術において用いられる人工言語の総称であり、形式言語である(親しみやすさなどの目的で、自然言語風にデザインされることもある)。
プログラムを記述するためのプログラミング言語の一群が最も有名であり、そのため「コンピュータ言語」と「プログラミング言語」は同じ意味でつかわれることもある。しかし、コンピュータ言語としては他にもハードウェア記述言語や、マークアップ言語のようなデータ記述言語などがあり、これらは「プログラミング言語」ではない。
目次
コンピュータ言語の特性
コンピュータ言語の大きな分類として、人間が読める言語と読めない言語という分類がある。人間が読める言語は直接人間が使うことを想定して設計しており、人間が読めない言語は(部分的には人間が読める場合もある)可読性を犠牲にすることで、よりコンパクトでコンピュータが処理しやすい形式になるよう設計している。
コンピュータ言語の種類
ソフトウェアの動作を記述する言語
テンプレート:Main プログラミング言語は、機械に対して情報の操作/編成や周辺機器の制御を命令するのに使う。ソフトウェアをプログラミング言語で書くことをプログラミングと呼ぶ。プログラミング言語は、BASIC、C言語、C++、COBOL、FORTRAN、Java、アセンブリ言語などがある。プログラミング言語は世代で分類されることがある(4GL参照)。
スクリプト言語は容易に使えるプログラミング言語を指す大雑把な分類である。スクリプト言語には下記ような特徴(の一部または全て)を備えているものが多い。どのような言語をスクリプト言語と呼ぶかは感覚的なものであり、正確に定義できるものではない。
- インタプリタ言語
- 文字列の扱いが容易である。
- 軽量言語 — コードの作成や修正が容易
- ドメイン特化言語 — 特定領域の問題に特化している
- マクロ言語 — アプリケーションソフトウェアに内蔵される
- グルー言語 — 複数のアプリケーションソフトウェアの動作を協調させる
スクリプト言語には ActionScript、AppleScript、awk、bash、Emacs Lisp、Groovy、JavaScript、Lua、Perl、PHP、Python、REXX、Ruby、PowerShell、SKILL、Tcl、VBScript などがある。
多くのプログラミング言語はテキストのソースコードでプログラムが記述されるが、ビジュアルプログラミング言語はプログラム要素を視覚的に表現し操作することでプログラムを構築する。
コンピュータが実際に実行する命令は機械語で現されている。これは一般に人間が読めない(読まない)バイナリ形式のコンピュータ言語であり、CPUの命令セットに対応している。高級言語のソースコードはコンパイラによって機械語に変換される。プログラミング言語によってはバイトコードのようにコンピュータ・アーキテクチャと独立した移植性の高い中間言語を使う場合がある。そのようなシステムでは、バイトコードから機械語へ変換するコンパイラもあるか、バイトコードを仮想機械ないしバイトコードインタプリタで実行する。よく知られている例としてJavaがある。
情報を表現する言語
- 問い合わせ言語(SQL、XQueryなど)
- データ記述言語
- データベース言語 - データ操作言語、データ定義言語、データ制御言語
- 変換言語
- テンプレート処理言語
- 正規表現
- Category:データシリアライゼーションフォーマット
ソフトウェアの動作を設定する言語
- 設定ファイル形式(.INI ファイルなど)
システム設計のための言語
人間が記述しない言語
- ハードウェア制御言語 - プリンタや表示装置の制御など。