功能性编程

功能性编程是一种正在明确创建的编程范式,只是为了支持用纯粹的功能性方法来解决问题。这种类型的编程主要是在解决方案很容易用函数来表达,并且几乎没有物理意义的时候使用。它只是帮助我们以一种更简单的方式有效地解决问题。它还允许将函数作为普通的值来对待,因为在函数式编程中,函数可以自由地操作作为参数的函数,并返回新的函数作为返回值。它是一种声明式编程的形式。它被认为是流行的编程范式之一,像数学函数一样进行计算,而不改变状态和突变数据。

比如说: Python, Clojure, Haskell, Lisp, 等。

强制性编程

强制性编程是一种编程范式,它规定了计算机为完成一个目标应该采取的步骤。在这种情况下,函数被隐含在解决一个问题所需的每一个步骤中进行编码。简单地说,它包括计算机要执行的命令。程序编写得更快,应用程序也更容易优化。它允许将函数作为特例结构,因为在强迫性编程中,很少允许从一个方法中返回整个方法调用的情况。它是一种算法编程的形式。

比如说: Java, Fortran, Pascal, C, C++, 等。

功能性编程和强迫性编程之间的区别如下 -

功能性编程 强迫性编程
功能性编程通常是一个简单地通过组成纯函数来开发软件的过程,避免或尽量减少副作用、共享数据和可变数据。 它通常是一个描述简单改变计算机状态的步骤的过程。
功能性编程主要侧重于程序应该被执行或操作的内容,即结果。 它主要侧重于描述程序如何执行或操作,即过程。
功能性编程使用函数来执行一切。 它使用语句来改变程序的状态。
功能性编程的优点包括无缺陷的代码,提高性能,更好的封装,增加重用性,增加可测试性等。 它的优点包括容易学习,容易阅读,概念模型容易学习等。
功能性编程的特点包括执行顺序的重要性低,无状态编程模型,主要操作单元,主要流程控制等。 它的特点包括语句序列,包含状态并能改变状态,可能有一些副作用,有状态的编程模型等。
这些程序一般结构为连续的嵌套功能调用。 这些程序的结构是对变量名的连续赋值。
在这种情况下,命令的执行顺序是不固定的。 在这种情况下,命令的执行顺序是固定的。
功能性编程涉及到用函数和数学结构来编写程序。 它涉及到将程序写成一系列的指令或语句,可以主动修改内存。
与命令式编程相比,它的表现力更强,更安全。 与函数式编程相比,它的表现力和安全性较差。
功能性编程要求明确表示所使用的数据结构。 它要求数据结构被表示为对状态的改变。
在这一点上,新的值通常通过命令的重复与相同的名称相关联。 在这里,新值通常通过递归函数调用嵌套与不同的名称相关联。

功能性编程和强制性编程的区别

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:功能性编程和强制性编程的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-functional-and-imperative-programming.html
免责声明:以上内容仅代表 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。

相关主题

随机