コンピュータ言語
- العربية
- Беларуская
- भोजपुरी
- বিষ্ণুপ্রিয়া মণিপুরী
- Català
- Cymraeg
- Deutsch
- English
- Español
- Eesti
- Euskara
- فارسی
- Suomi
- Français
- Frysk
- Gaeilge
- Galego
- עברית
- Hrvatski
- Bahasa Indonesia
- 한국어
- Lingua Franca Nova
- Latviešu
- Bahasa Melayu
- Nederlands
- Polski
- پنجابی
- Português
- Русский
- Ślůnski
- ไทย
- Українська
- اردو
- Tiếng Việt
- 吴语
- ייִדיש
- 中文
- 閩南語 / Bân-lâm-gú
- 粵語
コンピュータ言語(コンピュータげんご)とは、コンピュータ技術において用いられる人工言語の総称である。
プログラムを記述するためのプログラミング言語の一群が最も有名であり、そのため「コンピュータ言語」と「プログラミング言語」は同じ意味でつかわれることもある。コンピュータ言語としては他にもハードウェア記述言語とマークアップ言語などのデータ記述言語があるが、マークアップ言語の機能によっては「プログラミング言語」とは呼ばないこともある。
コンピュータ言語の特性
コンピュータ言語の大きな分類として、記述が機械に近い低級言語(低水準言語)と、より人間の思考に近い高級言語(高水準言語)がある。高級言語は低級言語に比較して、より使い易く、より抽象的に記述でき、より移植性が高くなるよう設計されている。何らかの言語で書かれた文法的に正しいプログラムは低級言語にコンパイルされ、コンピュータで実行される。最近のソフトウェアの多くは高級言語で書き、オブジェクトコードにコンパイルし、機械語命令に変換する。
別の分類の観点として、人間が読める言語と読めない言語という分類もある。人間が読める言語は直接人間が使うことを想定して設計しており、人間が読めない言語は(部分的には人間が読める場合もある)可読性を犠牲にすることで、よりコンパクトでコンピュータが処理しやすい形式になるよう設計している。
コンピュータ言語の種類
ソフトウェアの動作を記述する言語
プログラミング言語は、機械に対して情報の操作/編成や周辺機器の制御を命令するのに使う。ソフトウェアをプログラミング言語で書くことをプログラミングと呼ぶ。プログラミング言語は、C、C++、Java、COBOL, FORTRAN, BASIC、アセンブリ言語などがある。プログラミング言語は世代で分類されることがある(4GL参照)。
スクリプト言語は、他のソフトウェアを制御するのに使われるプログラミング言語であり、複数のアプリケーションソフトウェアの動作を協調させるのにも使われる。一般のプログラミング言語との違いは、何らかのアプリケーションに依存していたり、機能が限定的で使い易く、コンパイラではなくインタプリタで実行される点である。実際、スクリプト言語として生まれた言語が完全なプログラミング言語へと成長した例もあるし(PHP)、完全なプログラミング言語がアプリケーションに埋め込まれるようになった例もある(Java)。典型的なスクリプト言語としては Perl や JavaScript がある。
多くのプログラミング言語はテキストのソースコードでプログラムが記述されるが、ビジュアルプログラミング言語はプログラム要素を視覚的に表現し操作することでプログラムを構築する。
コンピュータが実際に実行する命令は機械語で現されている。これは一般に人間が読めない(読まない)バイナリ形式のコンピュータ言語であり、CPUの命令セットに対応している。高級言語のソースコードはコンパイラによって機械語に変換される。プログラミング言語によってはバイトコードのようにコンピュータ・アーキテクチャと独立した移植性の高い中間言語を使う場合がある。そのようなシステムでは、バイトコードから機械語への変換を仮想機械で行い、プログラムを実行する。よく知られている例としてJavaがある。
情報を表現する言語
- 問い合わせ言語(SQL、XQueryなど)
- データ記述言語
- データベース言語 - データ操作言語、データ定義言語、データ制御言語
- 変換言語
- テンプレート処理言語
- 正規表現
- Category:データシリアライゼーションフォーマット
ソフトウェアの動作を設定する言語
- 設定ファイル形式(.INI ファイルなど)
システム設計のための言語
人間が記述しない言語
- ハードウェア制御言語 - プリンタや表示装置の制御など。
関連項目
参考文献
- Anderson, A. John (1994年). Foundations of Computer Technology. CRC Press. pp. 431. ISBN 0412598108