关于孟岩一篇文章的讨论

链接在这里
还是不太明白为什么大脸猫说Imperative语言违背了图灵机的计算模型。

冯.诺依曼的模型并不是计算模型吧?它只是计算模型的一种具体实现而已,而且这个模型恰恰有效率地实现了图灵机的计算模型。简单对比一下,两者都依赖于状态的改变。我记得图灵机不就是用读写头去改变带子上的状态么?而带子上的状态也可以指示读写头到底怎么操作。这个和冯的模型完全一致吧:存储单元里的数据既可以是纯的数据,也可以是指示机器操作的命令。只不过一台冯。诺依曼机器有两条带子,一条读写数据,一条模拟操作。不过我们在本科学了图灵机后第一作业不就是证明两条带子的图灵机和一条带子的图灵机完全等价么?  其实看我们证明不同类型图灵机等价问题时用的方法,基本就是模拟。也就是说,带子上的数据配合读写头的移动模拟了某个计算。这也是纯粹的状态改变嘛。机器里的存储单元恰恰模拟了图灵机里的带子。看不出有什么公理系统在背后呢?所以把冯的理论和图灵的理论对立起来说不过去。而且图灵机模型里面哪里提到了完全依赖公理,不分数据和操作的(不是质问,而是请教哈。)?能不能提供一篇论文以做佐证啊?再说到语言层面,imperative的语言,C++也好,Fortran也好,都是依靠改变系统的状态来进行计算的,所以也不存在违背图灵机原理一说吧?再回过来看Lambda理论,倒真是建立在几个简单的公理上,而且强调不依靠状态改变来进行计算。我总觉得大脸猫说的是“背离了图灵机计算”应该改成“背离了Lambda Calculus的理论”才对的说。

你可能感兴趣的:(杂感,计算机科学)