我已经阅读了有关所有主题的一些文章,但我没有得到差异。

有帮助吗?

解决方案

结构化编程是一个旧术语,我认为它将涵盖功能,程序性和其他术语。它基本上意味着使用明确的控制流结构,而不是直接从指令到指令跳跃。

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

或者,正如已有著名描述的那样:

功能编程就像向数学家描述您的问题。当务之急的编程就像向白痴提供指示。

    --- arcus, #scheme on Freenode

其他提示

功能编程将函数用作一流元素。利用高阶功能(采用和/或返回功能);导致强大的结构和良好的代码。有些人还专注于FP的纯度方面,即考虑到相同的输入,功能应始终返回相同的结果。我认为,这些是FP的两个基本支柱。我还认为避免副作用本质上是从负载/商店机器级指令中抽象出来的。

结构化的编程可以追溯到Djikstra的“被认为有害”的纸。这意味着使用if/then/else/elif结构,do/way/ther/直到循环等,而不是求助于goto。它本质上是从比较/分支机级指令中抽象出来的。结构化编程与功能和程序编程都是正交的。

我认为,程序编程是指通常由一系列“陈述”(而不是“表达式”)组成的命令“子例程”(与纯“函数”相反)的编程。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top