编程范式 | 青训营笔记

51 阅读3分钟

家人们,我来交作业啦! 以下何一鸣老师主讲的编程范式课程的笔记。 通过这个课程,可以了解的内容有:

01 课程介绍
02 编程语言
03 编程范式
04 领域特定语言

01的课程介绍就没啥好记的啦,就是讲了一些该课程展开的意义,我们此处略过啦~

02 编程语言

和人类的语言一样,编程语言也有很多种,据不完全统计,全世界大概有 600 多种编程语言,其中比较流行的语言有 20 多种,比如 C语言、C++、Java、Python、PHP、C#、JavaScript 等,这些语言各有千秋,都有自己擅长的方面:

image.png 可以将不同的编程语言比喻成各国语言,为了表达同一个意思,可能使用不同的语句。

例如,表达“世界你好”:

汉语:世界你好

英语:Hello World

日语:世界こんにちは

03 编程范式

一 面向对象编程(Object-oriented Programming):

思考的切入点是对象的划分;具有两个基本概念:

  • 类:类是对象的类型模板
  • 实例:实例是根据类创建的对象

OOP适合大项目和复用性很强、功能很多,有可维护性的;相对面向对象编程还有一个面向过程编程(面向过程:思考的切入点是功能的步骤;适合做一些小的模块)

面向对象编程的一些问题:

数据与算法关联弱

不利于修改和扩充

不利于代码重用

image.png

单一职责原则SRP(Single Responsibility Principle)
开放封闭原则ocP(Open - Close Principle)
里式替换原则LSP(the Liskov Substitution Principle LSP)
依赖倒置原则DIP(the Dependency Inversion Principle DIP)

image.png

二 命令式编程(Imperative Programming) :

通过编写一条又一条指令去让计算机执行一些动作,这其中一般都会涉及到很多繁杂的细节。命令式代码中频繁使用语句,来完成某个行为。比如 for、if、switch、throw 等这些语句。

三 声明式编程(Declarative Programming):

声明式编程表明想要实现什么目的,应该做什么,但是不指定具体怎么做。

四 函数式编程(Funational Programming):

函数式编程是一种编程范式,主要是利用函数把运算过程封装起来,通过组合各种函数来计算结果。函数式编程意味着你可以在更短的时间内编写具有更少错误的代码。

image.png

五 响应式编程(RP): 

是一个异步编程范式,通过处理数据流来传播在代码中做出的修改。RP代码对任何数据的更改都能做出及时的响应并更新其状态。

六 函数响应式编程(FRP:Function Reactive Programming):

这是一种采用函数式编程的基础部件进行响应式编程的编程范式。FRP提出三个原则:单一数据源,状态是只读的,状态修改只能由纯函数来完成

04 领域特定语言

领域特定语言(英语:domain-specific language、DSL)指的是专注于某个应用程序领域的计算机语言。 image.png 关于领域特定语言,要想再仔细了解,我推荐csdn一个博主写的文章 blog.csdn.net/pl_lab_001/… 很详细,还进行了奶茶点单的例子举例哈哈哈就很好理解。