软件之禅(六)图灵机

黄国强 2023/10/13

        忙起来就不思考了,这样不好,继续这个专题,继续思考一下软件的本质。
        现代计算机的本质是图灵机,它是由英国数学家和逻辑学家艾伦·图灵在1936年提出的。图灵机由三个部分组成:一个无限长的纸带(tape),一个能在纸带上读写符号的读写头(head),和一个能根据当前状态和符号来控制读写头动作的控制器(controller)。
        那么,在我们之前分析的“Hello,World!”程序中,是如何体现上述的原理呢?
        数据类对应的是一个无限长的纸带,输入、输出类对应的是一个能在纸带上读写符号的读写头。其他把数据类,输入输出类串起来的代码就是控制器。
        现代计算机软件产品中,数据类最典型的就是数据库,而输入输出类也有大量的库可用。比如C++界面库至少十几种,诸如早期的MFC以及QT,WPF等等。
        所以说,我们大多数程序员写的是控制器。
        简单的软件,控制器逻辑简单。复杂的软件,控制器逻辑复杂。为了避免复杂逻辑的软件成为焦油坑,我们就会引入一些编程范式,直到目前为止,最成功,最有效的编程范式就是面向对象。
        所以面向对象构建的模块本身是控制器,而不是数据类,这点很容易搞错。

[参考]
  1 软件之禅(五)Input 出场
  2 软件之禅(七)面向对象(Object Oriented)
  3 图灵机:一台能模拟任何计算机的神奇机器

你可能感兴趣的:(c++,面向对象编程)