【释义明晰】三种编程范式的概念和区别:imperative vs functional vs declarative(命令式编程 vs 函数式编程 vs 声明式编程)

本文主要是介绍【释义明晰】三种编程范式的概念和区别:imperative vs functional vs declarative(命令式编程 vs 函数式编程 vs 声明式编程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 前言
  • 2. 区别总结
  • 3. 具体探索
  • 4. 小结

1. 前言

创作开始时间:2022年6月16日12:22:51

如题,简单探究一下三种编程范式的概念和区别。

2. 区别总结

在进行了一些探索(见下一节)之后,我大概知道了三者的区别:

  • imperative programming,命令式编程 主要关注的是怎么做,是过程,是偏底层一点的编程实现。经常要用到:“顺序+分支+循环”
  • declarative programming,声明式编程不关心怎么做,只关心做什么,是高层的抽象。不怎么用“顺序+分支+循环”
  • functional programming 函数式编程:和声明式编程很相关。只关注做什么,不关注怎么做。有人认为声明式包含函数式和逻辑式编程 (函数式编程与声明式语言 我觉得还是有道理的)。

3. 具体探索

declarative programming:做什么。
imperative programming:怎么做。

Declarative programming is to program on a higher level of abstraction than imperative programming. Neither is better or worse, but both have their places.

The concept of functional and procedural programming paradigms are really just extensions of the concept of declarative and imperative programming paradigms. In fact, functional programming is a subset of declarative programming, and procedural programming is a subset of imperative programming.

命令式(imperative)对应过程式(Procedural programming)
声明式(declarative)丢应函数式(Functional programming)

参考:

  • The Differences Between Procedural, Functional, Imperative, and Declarative Programming Paradigms https://amzotti.github.io/programming%20paradigms/2015/02/13/what-is-the-difference-between-procedural-function-imperative-and-declarative-programming-paradigms/

Both imperative and declarative programming are classified as the common programming paradigms (programming paradigms are a way to classify programming languages based on their features).

越接近现实的表达就叫越“声明式”(declarative),越接近计算机的执行过程就叫越“命令式”(imperative)

  • https://learntocodetogether.com/imperative-vs-declarative-programming/
  • https://wenku.baidu.com/view/59fa505a30687e21af45b307e87101f69e31fb82.html
  • 编程风格之声明式与命令式的区别 - 没有50CM手臂的文章 https://zhuanlan.zhihu.com/p/58976871

在这里插入图片描述

参考:

  • https://wenku.baidu.com/view/83c863cfe309581b6bd97f19227916888486b9e5.html

4. 小结

以上。

创作结束时间:2022年6月16日12:52:29

这篇关于【释义明晰】三种编程范式的概念和区别:imperative vs functional vs declarative(命令式编程 vs 函数式编程 vs 声明式编程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/354093

相关文章

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Python get()函数用法案例详解

《Pythonget()函数用法案例详解》在Python中,get()是字典(dict)类型的内置方法,用于安全地获取字典中指定键对应的值,它的核心作用是避免因访问不存在的键而引发KeyError错... 目录简介基本语法一、用法二、案例:安全访问未知键三、案例:配置参数默认值简介python是一种高级编

python 常见数学公式函数使用详解(最新推荐)

《python常见数学公式函数使用详解(最新推荐)》文章介绍了Python的数学计算工具,涵盖内置函数、math/cmath标准库及numpy/scipy/sympy第三方库,支持从基础算术到复杂数... 目录python 数学公式与函数大全1. 基本数学运算1.1 算术运算1.2 分数与小数2. 数学函数

Java继承映射的三种使用方法示例

《Java继承映射的三种使用方法示例》继承在Java中扮演着重要的角色,它允许我们创建一个类(子类),该类继承另一个类(父类)的所有属性和方法,:本文主要介绍Java继承映射的三种使用方法示例,需... 目录前言一、单表继承(Single Table Inheritance)1-1、原理1-2、使用方法1-

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(