Open1

「プログラミング言語」の定義再考

SnowEsamoscSnowEsamosc

定義1:
プログラミング言語とは、以下を全て満たすものである。

  • チューリング完全である。

【問題点】
チューリング完全性は、言語に任意の出力を行う能力がなくても成立する

: 出力関数として「引数を2回繰り返して出力する関数」しか存在しない、C言語を考える。任意の出力ができないのでプログラミング言語とは見なされないだろうが、(出力を2つで1つとみなせば、)なおチューリング完全である。

ここが問題だ。別の定義をしなければならないだろう。