プログラミング言語は言語なのか
2025/12/30
プログラミング言語の十大原則
言語の十大原則はコミュニケーション機能、意味性、超越性、継承性、習得可能性、生産性、経済性、離散性、恣意性、二重性の10項目であり、言語学界隈でしばしば取り上げられる指標である。各項目の説明を以下に示す。
コミュニケーション機能
相手に何かを伝える(情報共有・依頼・確認)ために使われる性質意味性
発せられる記号(語や表現)が、特定の意味(対象・行為・状態)と結びつく性質超越性
今ここにないもの(過去、未来、遠方、想像上の出来事)についても語ることができる性質継承性
遺伝ではなく、社会の中で受け継がれていく性質習得可能性
母語のみでなく、別の言語体系についても学ぶことができる性質生産性
有限の語彙から新たな文を無限に組み立てることができる性質(初めて聞く文でも理解できる)経済性
少量の表現でたくさんの内容を伝える性質(複雑な言語は習得が難しく、コミュニケーションにも向かないため)離散性
連続的・アナログ的な事象(色など)を離散的・デジタル的な記号で表現する性質恣意性
発せられる記号(語や表現)と意味の結びつきに必然性がない性質(イヌを「イヌ」と呼ぶ必要性はない)二重性
意味をもつ単位(語・形態素)が、意味をもたない単位(音素など)の組み合わせでできている性質プログラミング言語は言語なのか
言語の十大原則をもとに、「プログラミング言語は言語か否か」について考察する。
コミュニケーション機能
プログラミング言語は、コンピュータや人に意図を伝えることができる。意味性
プログラミング言語は明確な意味を持つ。超越性
プログラミング言語は、現在その場に存在しない対象(過去の出来事、未来の状況、仮想的な状況など)を、名前付けや規則として表現できる。ただし、自然言語の超越性が「話し手がそれについて語る」性質であるのに対し、プログラミング言語では「処理の規則として記述する」側面が強く、定義によっては性格が異なる可能性がある。継承性
プログラミング言語は書籍やドキュメントで継承される。習得可能性
プログラミング言語は学習によって習得できる。生産性
プログラミング言語は組み合わせによって新しいプログラムを無限に生み出せる。経済性
プログラミング言語は、安全性・可読性・明示性のために冗長さを許容する設計もあるものの、極端に長い文や無駄な冗長性は排除される。ただし簡潔さの度合いは設計思想によって異なる。離散性
プログラミング言語は文字や記号という離散的な単位で構成される。恣意性
プログラミング言語の構文や記号は人為的に決められた恣意的なものである。二重性
プログラミング言語は、意味をもたない文字(記号)の組み合わせによって、意味をもつ単位(トークンや構文)を構成し、全体の意味を表現している。このように、プログラミング言語は言語の大原則をおおむね満たしている。一方で、自然言語のような社会的コミュニケーションを前提とした体系とは異なり、曖昧性を極力排して一義的な解釈を目指すという点で、目的と設計原理が異なる言語だと整理するのが適切であると思われる。
参考資料