家人们,我来交作业啦! 以下何一鸣老师主讲的编程范式课程的笔记。 通过这个课程,可以了解的内容有:
01 课程介绍
02 编程语言
03 编程范式
04 领域特定语言
01的课程介绍就没啥好记的啦,就是讲了一些该课程展开的意义,我们此处略过啦~
02 编程语言
和人类的语言一样,编程语言也有很多种,据不完全统计,全世界大概有 600 多种编程语言,其中比较流行的语言有 20 多种,比如 C语言、C++、Java、Python、PHP、C#、JavaScript 等,这些语言各有千秋,都有自己擅长的方面:
可以将不同的编程语言比喻成各国语言,为了表达同一个意思,可能使用不同的语句。
例如,表达“世界你好”:
汉语:世界你好
英语:Hello World
日语:世界こんにちは
03 编程范式
一 面向对象编程(Object-oriented Programming):
思考的切入点是对象的划分;具有两个基本概念:
- 类:类是对象的类型模板
- 实例:实例是根据类创建的对象
OOP适合大项目和复用性很强、功能很多,有可维护性的;相对面向对象编程还有一个面向过程编程(面向过程:思考的切入点是功能的步骤;适合做一些小的模块)
面向对象编程的一些问题:
数据与算法关联弱
不利于修改和扩充
不利于代码重用
单一职责原则SRP(Single Responsibility Principle)
开放封闭原则ocP(Open - Close Principle)
里式替换原则LSP(the Liskov Substitution Principle LSP)
依赖倒置原则DIP(the Dependency Inversion Principle DIP)
二 命令式编程(Imperative Programming) :
通过编写一条又一条指令去让计算机执行一些动作,这其中一般都会涉及到很多繁杂的细节。命令式代码中频繁使用语句,来完成某个行为。比如 for、if、switch、throw 等这些语句。
三 声明式编程(Declarative Programming):
声明式编程表明想要实现什么目的,应该做什么,但是不指定具体怎么做。
四 函数式编程(Funational Programming):
函数式编程是一种编程范式,主要是利用函数把运算过程封装起来,通过组合各种函数来计算结果。函数式编程意味着你可以在更短的时间内编写具有更少错误的代码。
五 响应式编程(RP):
是一个异步编程范式,通过处理数据流来传播在代码中做出的修改。RP代码对任何数据的更改都能做出及时的响应并更新其状态。
六 函数响应式编程(FRP:Function Reactive Programming):
这是一种采用函数式编程的基础部件进行响应式编程的编程范式。FRP提出三个原则:单一数据源,状态是只读的,状态修改只能由纯函数来完成
04 领域特定语言
领域特定语言(英语:domain-specific language、DSL)指的是专注于某个应用程序领域的计算机语言。
关于领域特定语言,要想再仔细了解,我推荐csdn一个博主写的文章
blog.csdn.net/pl_lab_001/…
很详细,还进行了奶茶点单的例子举例哈哈哈就很好理解。