关键差异 - 功能编程与命令编程
这关键区别在功能编程和命令编程之间是功能编程将计算视为数学函数,并避免更改状态和可变数据,而命令编程则使用改变程序状态的语句。
编程范式提供了一种构建计算机程序的结构和元素的样式。编程范式有助于根据其功能对编程语言进行分类。编程语言可能会影响更多的范式。在面向对象范式,该程序是使用对象构造的,并且对象使用方法传递消息。逻辑编程可以仅以数学逻辑来表达计算。另外两个编程范式是功能编程和命令性编程。功能编程允许表达计算作为数学函数的评估。命令编程提供了明确改变内存状态的语句。本文讨论了功能编程和命令编程之间的差异。
内容
1。概述和关键差异
2。什么是功能编程
3。什么是急需编程
4。功能编程与命令编程之间的相似之处
5。并排比较 - 功能编程与表格形式的命令编程
6。概括
什么是功能编程?
功能编程基于数学。功能编程背后的关键原理是所有计算都被视为单独的数学函数的组合。数学函数映射输入到输出。假设有一个称为f(x)= x*x的函数。X值1映射到输出1。X值2映射到输出4。X值3映射到输出9,依此类推。
在功能编程中,考虑了模式。功能编程语言Haskell使用以下方法来查找数字的求和。
总和函数具有整数值,结果也将是整数。它可以写为总和:[int] - > int。可以通过遵循以下模式来完成求和。
sum [n] = n,一个数字的总和是数字本身。
如果有数字列表,则可以如下写入。n代表第一个数字,ns代表其他数字
sum(n,ns)= n + sum ns。
上述模式可以应用于查找三个数字的总和为3,4,5。
3 +总和[4,5]
3 +(4 + sum [5])
3+ 4 + 5 = 12
如果函数或表达式将其修饰在其范围之外的某些状态或与返回值以外的调用功能具有可观察到的交互作用,则具有副作用。功能编程可最大程度地减少此副作用。状态更改不取决于函数输入。当了解程序的行为时,这很有用。功能编程的一个缺点是,与命令编程相比,学习功能编程更难。
什么是命令编程?
命令编程是一种编程范式,它使用改变程序状态的语句。它着重描述程序的运作方式。编程语言,例如Java,C和C#是急需的编程语言。它提供了一个逐步的步骤。命令性编程语言包含诸如else,for lim,for循环,类,对象和函数的结构。
可以在Java中找到十个数字的总和如下。在每次迭代中,i值都添加到总和中并分配给总和变量。在每次迭代中,总和值不断添加到先前计算的总和中。
int sum = 0;
for(int i = 0; i <= 10; i ++){
sum = sum + i;
}
命令式编程很容易学习,理解和调试。由于使用状态变量,因此很容易找到程序状态。有些缺点可以使代码延长,也可以最大程度地减少可扩展性。
功能编程和命令编程之间的相似性是什么?
- 功能编程和命令编程都是编程范例。
功能编程和命令编程有什么区别?
功能与命令编程 |
|
功能编程是一种编程范式,将计算视为数学函数的评估,并避免变化的状态和可变数据。 | 命令编程是使用语句,可以改变程序状态的编程范式。 |
结构 | |
功能编程包含函数调用和高阶功能。 | 命令编程包含否则,否则,对于循环,函数,类和对象。 |
编程语言 | |
Scala,Haskell和Lisp是功能性编程语言。 | C,C ++,Java是急需的编程语言。 |
重点 | |
功能编程的重点是最终结果。 | 命令式编程重点是描述程序的运作方式。 |
简单 | |
功能编程很难。 | 命令式编程更容易。 |
摘要 - 功能编程与命令编程
编程范式提供了一种构建计算机程序的结构和元素的样式。功能编程和命令编程是其中两个。功能编程和命令编程之间的区别在于,功能编程将计算视为数学函数,并避免更改状态和可变数据,而命令编程则使用改变程序状态的语句。
参考:
1.“命令编程”。Wikipedia,Wikimedia基金会,2018年3月28日。在这里可用
2.“功能编程。”Wikipedia,Wikimedia基金会,2018年3月28日。在这里可用
3.计算机。YouTube,YouTube,2013年8月30日。在这里可用
图片提供:
1.’Haskell徽标By Haskell1965 - 自己的工作,(CC BY-SA 3.0)通过下议院维基梅迪亚
2.’14485179234'通过Linux屏幕截图(CC由2.0)通过Flickr
发表评论