プログラミング言語

定義

以下は、プログラミング言語を定義する重要な観点である。
機能
プログラミング言語はプログラムを書くのに使われる言語であり、それによってコンピュータは何らかの計算(※ACM SIGPLANBylaws of the Special Interest Group on Programming Languages of the Association for Computing Machineryhttp://www.acm.org/sigs/sigplan/sigplan_bylaws.htm2006年6月19日2003年, The scope of SIGPLAN is the theory, design, implementation, description, and application of computer programming languages - languages that permit the specification of a variety of different computations, thereby providing the user with significant control (immediate or delayed) over the computer's operation.)やアルゴリズムを実行し、場合によってはプリンターロボット(※http://www.cs.brown.edu/people/tld/courses/cs148/02/programming.html Programming Robots 2006年9月23日 Dean Tom 2002年 Building Intelligent Robots Brown University Department of Computer Science)などの外部装置を制御する。
対象
自然言語は人間同士の対話に使われるのに対して、プログラミング言語は人間が機械に指示を与えるのにも使われる。場合によっては、装置が別の装置を制御するのにも使われる。例えば、PostScriptプログラムは別のプログラムが生成し、プリンターやディスプレイの制御に使われる。
構成要素
プログラミング言語には、データ構造を定義し操作する構成要素と、実行の流れを制御する構成要素がある。
表現能力
計算理論では、言語はその計算表現能力で分類される(チョムスキー階層参照)。チューリング完全な言語ならば、同じアルゴリズム群を表現可能である。SQLはチューリング完全ではない言語の例であるが、それでもプログラミング言語と呼ばれることがある(※Digital Equipment Corporation Information Technology - Database Language SQL (Proposed revised text of DIS 9075) http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt ISO/IEC 9075:1992, Database Language SQL 2006年6月29日)。
計算されない言語(HTMLのようなマークアップ言語BNFのような形式文法など)はプログラミング言語とは看做されない。プログラミング言語は、計算されないホスト言語に埋め込まれる場合がある。

戻る