命令和描述
程序是我们对计算机下达的命令吗?
从汇编语言来看,确实如此。不严格地说,运算指令是对运算器的命令;访存指令是对内存的命令。对一个系统,基于指令的含义,我们下达指令来管理系统状态的变化,实现一定功能。
随着计算系统的发展,函数式语言、逻辑编程语言应用变多,把程序理解为命令似乎片面了。我认为,一种更好的理解是:程序是对计算的描述。举例,你告诉警察犯罪人的外貌,警察去抓人。这就是描述,因为你并没有命令警察具体如何抓捕。你可能会质疑:为什么不能理解为我命令警察按照我的描述去抓人呢?这样说,描述不也是一种命令吗?
你是可以这样说。但由于复杂性全部集中的描述中,命令其实只有 “照着去抓” 这一条,命令角度的理解变得没有信息量了。
而从描述的角度理解命令却是可行的,不再赘述。