我最近开始学习函数式编程并开始使用 Haskell。函数式范式与其他范式的根本区别在于,我们不维护状态,也没有命令式范式中的计算。命令式编程背后的基本理论是自动机理论,自动机理论是计算机的基础。
话虽如此,我看不出自动机理论和函数式编程之间有任何关系。那么函数式编程是否彻底改变了编程的基础?
最佳答案
大约在图灵机开发的同时(我只是猜测您指的是 TM,当您说自动机理论是计算机的基础)时,还提出了 lambda 演算作为计算模型(好吧,不完全是计算机,但很接近)。事实证明,这两个概念是等效的,即任何可以在 TM 上“实现”的东西也可以通过 lambda 项“实现”,反之亦然。此外,函数式编程或多或少是(类型化)lambda 演算的实现。所以我想这只是看待同一件事的两种不同方式。
关于functional-programming - 自动机理论和函数式编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28282308/