大多数主流语言,包括面向对象编程 (OOP) 语言,例如 C#、Visual Basic、C++ 和 Java,其设计目的主要是支持命令式(过程式)编程,而类似 Haskell/gofer 的语言则纯粹是函数式的。谁能详细说明这两种编程方式有什么区别?
我知道选择编程方式取决于用户需求,但为什么建议学习函数式编程语言?
最佳答案
区别如下:
命令:
- 开始
- 打开您的 9 1/2 码鞋子。
- 在口袋里腾出空间来存放一排[7] key 。
- 把 key 放在房间里, key 放在口袋里。
- 进入车库。
- 开放式车库。
- 进入汽车。
...等等...
- 将牛奶放入冰箱。
- 停下来。
声明性,其中功能性是一个子类别:
- 牛奶是一种健康饮料,除非您消化乳糖有问题。
- 通常,人们将牛奶存放在冰箱中。
- 冰箱是一个可以让里面的东西保持凉爽的盒子。
- 商店是销售商品的地方。
- “出售”是指用元素换取金钱。
- 此外,用金钱交换元素称为“购买”。
...等等...
- 确保冰箱里有牛奶(当我们需要时 - 用于懒惰的函数式语言)。
摘要:在命令式语言中,您告诉计算机如何更改内存中的位、字节和单词以及更改顺序。在函数式中,我们告诉计算机什么是事物、 Action 等。例如,我们说 0 的阶乘是 1,而其他每个自然数的阶乘都是该数与其前一个数的阶乘的乘积。我们不会说:要计算 n 的阶乘,保留一个内存区域并将 1 存储在那里,然后将该内存区域中的数字与数字 2 到 n 相乘,并将结果存储在同一位置,最后,内存区域将包含阶乘。
关于oop - 函数式编程语言和命令式编程语言有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17826380/