|
|
プログラミング言語はコンピュータに対する一連の動作の指示を記述するための人工言語の総称である。この一連の指示をプログラムと呼ぶ。
| Table of contents |
|
2 意義 3 文法 4 主なプログラミング言語 5 関連記事 |
プログラミング言語は、人間がコンピュータに命令を指示するために
作られており、コンピュータが曖昧さなく解析できるように設計されている。
このため多くの場合構文上の間違いは許されず、
人間はプログラミング言語の文法に厳密にしたがった文を入力しなければならない。
これに対して、一般に自然言語の文法規則はプログラミング言語にくらべてはるかに複雑であり、例外も多い。
ただしこれは規則が一般にいいかげんであったり、曖昧であるということではない。
一般に自然言語の規則は奥が深く、驚くほどの合理性に裏打ちされていることがある。
また、自然言語の意味は、その状況(コンテキスト)によって定まる部分も多い。
これに対して、プログラミング言語は、意味と構文を分離して設計された上で、
コンピュータによって扱いやすいように、文脈によって意味が変わることが
できるだけないように設計されている。
自然言語は、誤用や流行などにより長い時間をかけ、たくさんの人間の利用により、意図せざる形で変化していく。
プログラミング言語の規則は、言語設計者の意図と作業によってのみ、変更される。
コンピュータが直接理解し実行することのできる唯一の言葉は、そのコンピュータの種類に固有の機械語だけである。従って、最終的には機械語を使ってコンピュータが行うべき作業・計算を指示しなければならない。
しかし、機械語は複雑な決まりに従って並べられた数字の列であるので、人間にとっては理解しづらい。ごく簡単なプログラムでさえ、その機械語形式を扱うにはそれなりの習熟が必要である。まして、現在様々な業務で実用されているような複雑化したプログラムを機械語で書くことのできる人間は皆無である。
そこで、より人間に分かりやすい言葉で書いた指示を自動的に機械語に翻訳するプログラムをあらかじめ書いておく。そして自動翻訳で生成された機械語をコンピュータに実行させることにする。翻訳するプログラムは種類に応じてアセンブラ, コンパイラ, インタプリタなどと呼ばれる。必要な翻訳プログラムさえ書いておけば、人間は自分が最も扱いやすい言葉でコンピュータに指示することができる。
そこで、自然言語よりも制限が強く、単純で厳密で規則的な人工言語を作って代用する。これがプログラミング言語である。プログラミング言語は自然言語よりもいくらか人間には扱いづらいが、機械語よりは遥かに親しみやすく、人間の指示の手間を軽減している。
自然言語とちがってほとんどのプログラミング言語は厳密に定義されており、
規則に従わないプログラムは実行されない。
大部分のプログラミング言語の文法は文脈自由文法によって定義されている。
プログラムを作る人間がプログラマである。
史上初のプログラマは、詩人バイロンの娘、
エイダ・ラブレスと言われている。
彼女はチャールズ・バベッジが作成した解析機関のオペレータだったそうだ。自然言語との違い
意義
プログラミング言語の存在意義は、人間が直接扱うには難しい機械語に代わって、より人間が扱いやすい形を提供することにある。文法
人間がふだん使っている日本語などの自然言語を使ってコンピュータに指示することができるのが理想ではある。しかし、自然言語はあまりにも複雑で曖昧で変則的なので、それを機械語に翻訳できるようなプログラムを作成することはとても難しい。そのような研究も進められているが、未だに汎用で実用になるプログラムは作成されたことがない。関連記事