Dem*_*ier 21 procedural-programming functional-programming structured-programming
我已经阅读了一些关于所有主题的文章,但我并没有完全区分.
scl*_*clv 38
结构化编程是一个古老的术语,我认为它将涵盖功能,程序和其他许多内容.它基本上意味着使用显式控制流结构而不是直接从指令跳转到指令.
在这个意义上,功能和程序编程都是结构化范例.函数式编程也是声明式编程 - 给代码的结构对应于它的含义 - 程序是一个改变世界状态的函数.程序编程是您在任何C语言或其后代中考虑的"典型"编程,包括OO语言,如Java和C++.程序是一系列指令,可以串行执行,并沿途调用子程序.
或者,正如着名的描述:
函数式编程就像向数学家描述你的问题一样.命令式编程就像给白痴指示一样.
Run Code Online (Sandbox Code Playgroud)--- arcus, #scheme on Freenode
Ash*_*eyF 10
函数式编程使用函数作为第一类元素.利用更高阶函数(获取和/或返回函数); 导致强大的构造和良好的代码.有些人还关注FP的纯度方面,也就是说,在给定相同输入的情况下,函数应始终返回相同的结果.我认为,这些是FP的两个基本支柱.我还看到避免副作用,因为基本上抽象了一点点加载/存储机器级别指令.
结构化编程可以追溯到Djikstra的"Goto Considered Harmful"论文.它意味着使用if/then/else/elif结构,do/while/until/for循环等,而不是诉诸goto.它实质上是从比较/分支机器级别指令中抽象出来的.结构化编程与功能和程序编程都是正交的.
我认为,程序编程是指使用命令式"子程序"(而不是纯粹的"函数")编程,通常由一系列"语句"(与"表达式"相对)组成,留下副作用.
| 归档时间: |
|
| 查看次数: |
28239 次 |
| 最近记录: |