知识卡片

通用程序设计语言与 Bare Bones 揭示的语言核心

专业/工作 · 1296.c

内容

一门只有三条赋值语句(清零、加一、减一)和一个 while 循环的极简语言 Bare Bones,被证明足以表达计算所有图灵可计算函数的算法——按丘奇-图灵论题,这意味着它是一门通用程序设计语言:任何用它写不出来的问题,根源都不是这门语言能力不够,而是这个问题本身根本没有算法解。发散:这个结果最深刻的地方在于,它说明了 Python、Java 这些现代语言里琳琅满目的特性(数据类型、数组、面向对象、异常处理)没有一个是”计算能力”意义上必需的——它们都只是为了方便程序员表达和维护代码而添加的语法糖,真正决定一门语言能算什么、不能算什么的核心,早在只有赋值和循环的 Bare Bones 那个层次就已经封顶了;语言设计从此之后要解决的从来不是”能不能算”的问题,而是”算起来顺不顺手”的问题。

参考来源

《计算机科学概论》第12章《计算理论》