我听说过很多次编程实际上是数学的一个子集。有些人建议面向对象编程在其根源上是基于数学的,但除了一些明显的例子外,我不理解这种联系:
- 使用归纳法证明递归算法,
- 形式化正确性证明,
- 函数式语言,
- λ演算,
- 渐近复杂度,
- 确定有限状态自动机、非确定有限状态自动机、图灵机和理论计算等,
- 以及盒子里的所有内容都是二进制的事实。
我知道数学对编程非常重要,但我对这种“子集”观点感到困惑。编程在哪些方面是数学的一个子集?
如果有足够强的联系,我希望得到一个与企业/OO开发相关的解释。