编程范式概述

编程范式概述

基本概念

编程范式这个名词听起来好像比较高深,但是其实本质上是它是对于程序设计风格,或者设计思路的抽象。它并不是跟编程语言是一一绑定的关系,有些编程语言Python 天生可以支持多种编程范式。

分类

从编程根本思维上的差异上区分,目前主要分成两种: 命令式(指令式)编程 和 声明式 编程

  1. 命令式编程:是过程导向的,告诉计算机”怎么做“,即一步一步的执行过程都需要描述清楚,计算机所有的硬件都是通过命令式编程实现的。
  2. 声明式编程:是结果导向的,告诉计算机”做什么“,以数据结构的形式来表达程序执行的逻辑,例如 SQL、正则表达式 就是典型声明式编程。

对开发者来说,声明式编程的思考层面要高于命令式编程,声明式语言往往通过命令式语言做底层实现

命令式编程

生活中大多数对于性能有要求或者实现细节的编程,以及相关针对执行优化算法都是属于命令式编程思维范畴, 典型的有:过程式编程、面向对象编程

  • 过程式编程:很好理解C语言、汇编这种工作方式比较典型描述清楚服务执行的过程。
  • 面向对象编程: 虽然形式上面向对象提供更高层次的抽象的能力(支持封装、继承、多态等),但是仍然需要关注足够多的服务细节,实际实现的过程中仍然是需要对程序模块化,需要调用过程或者方法来改变原始数据。

声明式编程

相对于命令式变成而言,聚焦于节约人力成本,不需要关注实现细节,聚焦于实现目标, 典型的有: 函数式编程、响应式编程

  • 函数式编程: 是声明式的,因为它不使用可变状态,也不需要指定任何的执行顺序关系(可以假定所有的函数都是同时执行的,因为存在引用透明性,所谓的参数和变量都只是一堆符号的别名而已)Array(“bj”,“sh”,“gz”,“sz”).contains(“bj”)。
  • 响应式(反应式)编程:一种面向数据流和变化传播的声明式编程范式。 例如:在命令式编程环境中,a:=b+c表示将表达式的结果赋给a,而之后改变b或c的值不会影响a。但在响应式编程中,a的值会随着b或c的更新而更新。

小结

任何编程范式都不是万能的都需要看它实际的使用场景,一般来说越接近于服务底层属于命令式居多,为了保证服务的灵活性和服务性能,而越是上层应用保证开发者研发效率,使用声明式越多。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敦兮其若朴,旷兮其若谷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值