プログラミング言語・自然言語比較[CとC++を題材に]

2021年5月1日土曜日

プログラミング

t f B! P L


作成:2021/05/01 16:47 更新:2021/05/01


IdeOne.com にある C のサンプル。標準入力から1行づつ読み込み、"42"が現れる直前まで標準出力に書き出しするプログラム。



C++の場合↓



Cのほうが行数が少なく書けているのだが、パッと見て何をやっているのかわからない。それに対しC++はわかりやすい書き方になっている。

C++は、Cから派生し、Cで実現できない部分を補強する形になっている。このように、プログラミング言語では使い勝手の悪い部分を改善する形で別のプログラミング言語が生まれたりする。

自然言語は、各自が先天的な言語能力を、乳児・幼児の時期にまわりの環境にあわせて発達させたものなので、異なる言語間に優劣はない。つまり、ある言語を補強する形で別の言語が生まれたりすることはない。(それを言うと、人工言語であるエスペラント語はどうなんだという議論になりそうだが)

自然言語の場合、使用者(赤ん坊)が世に生まれ落ちた時点で、下地となる言語能力(人種、民族を超えた能力)が使用者に授けられている。それに対しプログラミング言語は、下地となるものがおそらくない。仮にあるとしたら、プログラミング言語作者が持っている、これこれこういう言語をつくりたい、という思想のようなものか。

将来、その「思想のようなもの」が発展して、あらゆるプログラミング言語の下地となりうるのだろうか。人間の脳の言語野(自然言語の基)は、もともと無に近い状態(ホモサピエンスよりも前の生物?)から長い時間かけて発展していっただろうから、あり得るかも。プログラミング言語が成熟したころはもう、AIがプログラミング言語を作ったりAIがプログラミングしたりしてるのかもしれないけど。

ブログ アーカイブ

このブログを検索

QooQ