声明式编程是一种编程范式,其中程序员定义程序需要做什么,但不定义如何做。 换句话说,该方法侧重于需要实现什么,而不是规定如何实现它。
想象一下,在工作中,总统们宣布他们想要实现的目标。 另一方面,命令式编程就像是麦当劳特许经营店的经理。 它们非常重要,因此,一切都变得重要。 因此,他们告诉大家如何做最简单的动作。
所以主要的区别是命令式告诉你如何做,声明式告诉你做什么。
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 个字符。
综上所述
编程范式降低了程序的复杂性。 每个程序员在实现代码时都必须遵循范例方法。 每一种都有其优点和缺点。
如果你是初学者,我建议先学习面向对象编程和函数式编程。 了解他们的概念并尝试将它们应用到您的项目中。
例如,如果您正在学习面向对象编程,面向对象编程的支柱是封装、抽象、继承和多态性,通过这样做来学习这些范例。 这将帮助你更深入地理解他们的概念,你的代码也会变得更简单、更高效。