本文主要是介绍软件之禅(六)图灵机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
黄国强 2023/10/13
忙起来就不思考了,这样不好,继续这个专题,继续思考一下软件的本质。
现代计算机的本质是图灵机,它是由英国数学家和逻辑学家艾伦·图灵在1936年提出的。图灵机由三个部分组成:一个无限长的纸带(tape),一个能在纸带上读写符号的读写头(head),和一个能根据当前状态和符号来控制读写头动作的控制器(controller)。
那么,在我们之前分析的“Hello,World!”程序中,是如何体现上述的原理呢?
数据类对应的是一个无限长的纸带,输入、输出类对应的是一个能在纸带上读写符号的读写头。其他把数据类,输入输出类串起来的代码就是控制器。
现代计算机软件产品中,数据类最典型的就是数据库,而输入输出类也有大量的库可用。比如C++界面库至少十几种,诸如早期的MFC以及QT,WPF等等。
所以说,我们大多数程序员写的是控制器。
简单的软件,控制器逻辑简单。复杂的软件,控制器逻辑复杂。为了避免复杂逻辑的软件成为焦油坑,我们就会引入一些编程范式,直到目前为止,最成功,最有效的编程范式就是面向对象。
所以面向对象构建的模块本身是控制器,而不是数据类,这点很容易搞错。
[参考]
1 软件之禅(五)Input 出场
2 图灵机:一台能模拟任何计算机的神奇机器
这篇关于软件之禅(六)图灵机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!