functional-programming - 函数式、结构化和过程式编程之间有什么区别?

标签 functional-programming procedural-programming structured-programming

我已经阅读了一些关于所有主题的文章,但我不太明白其中的区别。

最佳答案

结构化编程是一个古老的术语,我认为它包括函数式、过程式和其他许多方面。它基本上意味着使用明确的控制流结构,而不是直接从指令跳到指令。

从这个意义上说,函数式编程和过程式编程都是结构化范式。函数式编程也是声明式编程——赋予代码的结构与其含义相对应——程序是改变世界状态的函数。过程编程是您在任何 C 语言或其后代(包括 Java 和 C++ 等 OO 语言)中认为的“典型”编程。程序是一系列指令,要串行执行,并在此过程中调用子过程。

或者,正如著名的描述:

Functional programming is like describing your problem to a mathematician. Imperative programming is like giving instructions to an idiot.

    --- arcus, #scheme on Freenode

关于functional-programming - 函数式、结构化和过程式编程之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4399841/

相关文章:

Ruby 相当于 lisp-like "apply"?

c# - 有用或不重要的双重接口(interface)的例子

dependency-injection - 过程编程的依赖注入(inject)

mysql - 如何在MySQL中减去上一年,但添加月份?

r - 如何在 rstudio 中为新的 ".R"文件设置默认模板

rust - 惯用地将值从一个 Vec 移动/排序到另一个

scala - 函数组合导致方法首先缺少参数列表

python - 在 Python 中混合 OOP 和过程编程(或一般混合编程风格)是不好的做法吗

c - 函数内外变量值的区别