您的位置  > 互联网

声明式编程范例告诉你该做什么?

声明式编程是一种编程范式,其中程序员定义程序需要做什么,但不定义如何做。 换句话说,该方法侧重于需要实现什么,而不是规定如何实现它。

想象一下,在工作中,总统们宣布他们想要实现的目标。 另一方面,命令式编程就像是麦当劳特许经营店的经理。 它们非常重要,因此,一切都变得重要。 因此,他们告诉大家如何做最简单的动作。

所以主要的区别是命令式告诉你如何做,声明式告诉你做什么。

2.1 逻辑编程示例

逻辑编程范式采用声明性方法来解决问题。 它基于形式逻辑。

逻辑编程范式不是由指令组成,而是由事实和子句组成。 它利用它所知道的一切,并试图提出一个所有这些事实和术语都是真实的世界。

例如,苏格拉底是一个人,而所有的人都会死,因此苏格拉底是一个凡人。

这是一个解释上面示例的简单程序:

	man(Socrates).
	mortal(X) :- man(X).

第一行可以读作“苏格拉底是一个人”。 这是一个基本条款,表达了一个简单的事实。

';'换句话说,所有的人都会死。'如果X“死了”,那么X就是致命的。'(符号“:-”,有时被称为旋转门,发音为“if”。)我们可以测试该程序通过提出以下问题:

?- mortal(Socrates).

也就是说,“苏格拉底会死吗?” (“?-”是计算机对问题的提示)。 将回答“是”。 我们可能会问的另一个问题是:

?- mortal(X).

即“谁(X)是致命的?” 将回答“X =”。

约翰是比尔和丽莎的父亲。 玛丽是比尔和丽莎的母亲。 现在,如果有人问“比尔和丽莎的父亲是谁?” 或“比尔和丽莎的母亲是谁?” 我们可以教计算机使用逻辑编程来回答这些问题。

示例如下:

/*We're defining family tree facts*/
father(John, Bill).
father(John, Lisa).
mother(Mary, Bill).
mother(Mary, Lisa).
/*We'll ask questions to Prolog*/
?- mother(X, Bill).
X = Mary 

示例描述:

father(John, Bill).

上面的代码将 John 定义为 Bill 的父亲。

我们要问 X 的值是多少才能使这个陈述成立? 为了使陈述正确,X 应该是 Mary。 它将响应 X = Mary

?- mother(X, Bill).
X = Mary 

支持逻辑编程范式的语言:

(逻辑)

逻辑编程范式通常最适合在以下情况下使用:

为什么要考虑学习逻辑编程范例?

2.2 函数式编程范式

从此,函数式编程语言引起了人们的关注,是最近越来越流行的函数式编程语言。

函数式编程范式植根于数学并且与语言无关。 该示例的关键原理是执行一系列数学函数。

您编写简短的函数程序。 所有代码都在函数内部。 所有变量都作用于该函数。

在函数式编程范式中,函数不会修改函数作用域之外的任何值,并且函数本身也不会受到其作用域之外的任何值的影响。

为了说明这一点,让我们确定给定的数字在函数式编程范例中是否是素数。

示例如下:

function isPrime(number){
 for(let i=2; i<=Math.floor(Math.sqrt(number)); i++){
 if(number % i == 0 ){
 return false;
 }
 }
 return true;
}
isPrime(15); //returns false

在上面的示例中,我们使用 Math.floor() 和 Math.sqrt() 数学函数来有效地解决我们的问题。 我们可以不使用内置的数学函数来解决这个问题,但是为了高效地运行代码,建议使用内置的JS函数。

的范围仅限于该函数(),并且不受其范围之外的任何值的影响。 () 给定相同的输入,函数总是产生相同的输出。

注意:函数式编程中没有 for 和 while 循环。 相比之下,函数式编程语言依赖递归进行迭代。

支持函数式编程范式的语言:

通常最好在以下情况下使用函数式编程范例:

为什么应该考虑学习函数式编程范例?

2.3 数据库处理方法

这种编程方法基于数​​据及其运动。 程序语句由数据定义,而不是硬编码为一系列步骤。

数据库是结构化信息或数据的有组织的集合,通常以电子方式存储在计算机系统中。 数据库通常由数据库管理系统 (DBMS) 控制(“什么是数据库”,2019)。

为了处理数据和查询数据,数据库使用表。 然后可以轻松访问、管理、修改、更新、控制和组织数据。

良好的数据库方法对于任何公司或组织都至关重要。 这是因为数据库存储了有关公司的所有相关详细信息,例如员工记录、交易记录和工资详细信息。

大多数数据库使用结构化查询语言(SQL)来写入和查询数据。

下面是数据库处理方法(SQL)的示例:

CREATE DATABASE personalDetails;
CREATE TABLE Persons (
 PersonID int,
 LastName varchar(255),
 FirstName varchar(255),
 Address varchar(255),
 City varchar(255)
);

该列的类型为 int,将保存一个整数。 、 、 和 City 列属于类型,将保存字符,这些字段的最大长度为 255 个字符。

综上所述

编程范式降低了程序的复杂性。 每个程序员在实现代码时都必须遵循范例方法。 每一种都有其优点和缺点。

如果你是初学者,我建议先学习面向对象编程和函数式编程。 了解他们的概念并尝试将它们应用到您的项目中。

例如,如果您正在学习面向对象编程,面向对象编程的支柱是封装、抽象、继承和多态性,通过这样做来学习这些范例。 这将帮助你更深入地理解他们的概念,你的代码也会变得更简单、更高效。