声明的(declarative)和命令式程序设计(imperative programming)的区别

声明式和命令式编程是两种常见的编程范式。声明式编程和命令式编程的关键区别在于,声明式编程侧重于程序应该完成什么,而命令式编程侧重于程序应该如何实现结果。...

关键区别——声明式编程与命令式编程

声明式和命令式编程是两种常见的编程范式。声明式编程和命令式编程的关键区别在于,声明式编程侧重于程序应该完成什么,而命令式编程侧重于程序应该如何实现结果。

编程范例用于根据特性对编程语言进行分类。它还允许遵循某种模式或风格来解决特定问题。

目录

1. 概述和主要区别
2. 什么是声明式编程
3. 什么是命令式编程
4. 并排比较-以表格形式的声明式编程与命令式编程
5. 摘要

什么是声明式编程(declarative programming)?

声明式编程可以用一个真实的场景来解释。假设用户需要检查新邮件。一种方法是启用收件箱通知。用户只需启用一次通知,每次新邮件到达时,他都会自动收到通知。声明式编程与此类似。它提供了简单性。声明式编程表示所需的结果。它解释了计算的逻辑,而不描述控制流。

声明的(declarative)和命令式程序设计(imperative programming)的区别

图01:编程范例

下面是一个声明式编程的例子。它是将一个数组的数乘以一个常量,然后将它们存储到一个新数组中。

变量数=[1,2,3];

var新编号=数字地图(功能(编号){

返回数*5;

});

控制台.log(新号码);

在上面的示例中,'map'给出了迭代数组中的每个项、调用每个项的回调函数以及将返回值存储到新数组的指令。这将得到输出5、10、15。在这个程序中,用map函数实现了数字乘以5的主要目标。它将遍历每个元素并使用回调函数计算值并将其存储到新数组中。不需要提供所有步骤。重点放在应该实现的目标上。

什么是命令式程序设计(imperative programming)?

命令式编程可以像以前一样使用真实场景来解释。要查看新邮件,用户可以登录gmail并不断刷新页面,查看是否收到新邮件。这与命令式编程类似。它解释了实现结果所涉及的每一步。它使用语句来表示程序状态的变化。

将数组元素与常量相乘并在命令式编程中将值存储到新数组中,如下所示。

变量数=[1,2,3];

var newnumbers=[];

对于(int i=0;i<数字.长度;i++){

新号码。推送(数字[i]*5);

}

控制台.log(新号码);

在上面的例子中,数字是一个数组。当遍历循环时,每个数字乘以5并添加到newnumbers数组中。循环结束后,将打印新数字的内容,即5、10、15。

可以看出,祈使式风格提供了完成任务的所有步骤。它表达了如何使用'i'计数器变量遍历数组,在退出循环之前要迭代多少次,以及如何将计算的值**到新数组中等等。

使用声明式和命令式编程解决了相同的问题。

声明的(declarative)和命令式程序设计(imperative programming)的区别

声明式编程与命令式编程
声明式编程是一种编程范式,它表示计算的逻辑而不描述其控制流。 命令式编程是一种编程范式,它使用改变程序状态的语句。
主要焦点
声明式编程关注程序应该完成什么。 命令式编程关注程序应该如何实现结果。
灵活性
声明式编程提供的灵活性较小。 命令式编程提供了更大的灵活性。
复杂性
声明式编程简化了程序。 命令式编程可以增加程序的复杂性。
分类
函数式、逻辑式、查询式编程属于声明式编程。 过程式和面向对象编程属于命令式编程。

总结 - 声明的(declarative) vs. 命令式程序设计(imperative programming)

本文讨论了两种主要编程范式的区别,即声明式编程和命令式编程。声明式编程和命令式编程的区别在于,声明式编程侧重于程序应该完成什么,而命令式编程侧重于程序应该如何实现结果。

引用

  • 发表于 2020-10-16 09:49
  • 阅读 ( 552 )
  • 分类:IT

你可能感兴趣的文章

命令(imperative)和感叹句(exclamatory sentence)的区别

祈使句与感叹句的主要区别在于祈使句是一个直接发出命令的句子,而感叹句是表达强烈情感或激动的句子。 大多数人把这两种句子混淆了,因为它们往往都以感叹号结尾。然而,虽然感叹句总是以感叹号结尾,祈使句可以...

  • 发布于 2020-10-17 14:21
  • 阅读 ( 385 )

函数式程序设计(functional programming)和命令式程序设计(imperative programming)的区别

关键区别–函数式编程与命令式编程 函数式程序设计与命令式程序设计的关键区别在于,函数式程序设计将计算看作数学函数,避免了状态和数据的变化,而命令式程序设计使用改变程序状态的语句。 编程范例提供了一种构...

  • 发布于 2020-10-19 02:12
  • 阅读 ( 479 )

宣言(declaration)和c中的定义(definition in c)的区别

C中的声明和定义的关键区别在于C中的声明告诉编译器函数名、返回类型和参数,而C中的定义包含函数的实际实现。也就是说,声明向编译器提供有关函数的信息,而定义包含执行特定任务的函数的实际语句。 C是一种通用的...

  • 发布于 2020-10-22 15:12
  • 阅读 ( 186 )

惯例(convention)和宣言(declaration)的区别

...听说过联合国特别通过的各种宣言和公约。然而,公约和声明不相同,不能互换使用。首先,让我们定义这两个词。公约可以简单地理解为一项协议。在社会背景下,这虽然被坚持,但可能是不成文的。但是,在更正式的情况下...

  • 发布于 2020-10-23 15:15
  • 阅读 ( 245 )

命令(imperative)和疑问句(interrogative sentences)的区别

祈使句和疑问句的主要区别在于祈使句表示命令或请求,而疑问句问问题。 主要有陈述句、祈使句、疑问句和感叹句四种类型。这些类别是基于句子所执行的功能。因此,陈述句陈述事实或观点;祈使句发出命令或提出请求...

  • 发布于 2020-10-23 20:42
  • 阅读 ( 387 )

宣誓书(affidavit)和法定声明(statutory declaration)的区别

宣誓书与法定声明 宣誓书,有真实的书面陈述,并在法定证明机构面前宣誓。它包含了作者记忆中某些事件的书面事实。相反,法定声明只是作者或声明人的声明。所声称的主张或陈述仅被认为是真实的。 宣誓书由其作者正式...

  • 发布于 2021-06-22 14:26
  • 阅读 ( 936 )

独立宣言(declaration of independence)和宪法(the constitution)的区别

...宪法》的意图和利益截然不同。 《独立宣言》只是一份声明,声明13个殖民地是独立国家,不再受英国统治。它宣布美利坚合众国是一个自由和独立的国家。宪法是美国**的基础。宪法被称为国家的最高法律。 虽然《独立宣言》...

  • 发布于 2021-06-23 16:35
  • 阅读 ( 271 )

如何编写一个简单的java程序(write a simple java program)

...事本打开记事本。 第二步:写类名 编写一个名为“MyJavaProgram”的类。 java关键字: 类用于在java中声明类。 步骤3:设置类可见性 将类可见性设置为public。 java关键字: public是一个访问修饰符,用于将类的可见性设置为所有级...

  • 发布于 2021-06-27 21:34
  • 阅读 ( 193 )

脚本语言(scripting language)和程序设计语言(programming language)的区别

...执行的代码。Perl、PHP、Python和Ruby就是一些例子。 什么是程序设计语言(a programming language)? 程序设计语言是一种正式的语言,可以用来创建计算机程序来指示计算机执行任务。编程语言可以是高级语言,也可以是低级语言。 高...

  • 发布于 2021-07-01 02:49
  • 阅读 ( 263 )

标记语言(markup language)和程序设计语言(programming language)的区别

...TML和XML的组合。XML解析器用于解析这些XHTML文档。 什么是程序设计语言(a programming language)? 编程语言是一种形式化语言,它包含一组用于创建软件程序的命令和语法。这些程序可以执行特定的任务。编程语言主要分为两部分。...

  • 发布于 2021-07-01 02:50
  • 阅读 ( 638 )
dyov1228
dyov1228

0 篇文章

相关推荐