两种编程范式:
命令式编程范式:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。
- 面向对象编程,如c++、Java
- 面向过程编程,如c语言
- 响应式编程:rxswift
- 链接式编程:典型示例 snapkit
- 面向切片编程:AOP
声明式编程范式:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。
声明式编程范式常见有以下两种:- 领域特定语言(Domain Specific Language,DSL):
名字很陌生,但是我们却经常在用。如SQL、CSS以及正则表达式等等。这些语言只在特定领域起作用,并且使用这些语言时,我们大多数时候是在写“陈述、声明”的语句。如“select * from tb”,我们只关心我们要的结果,而不用去关系具体实现。 - 函数式编程(Functional Program,FP):函数式编程是我们要讨论的重点。既然它属于声明式编程范式,那么它也应该强调结果(What)而非过程(How)。没错,函数式编程不同于常见的命令式编程,它不关心计算机具体的实现过程,而仅仅注重问题结果。
- 领域特定语言(Domain Specific Language,DSL):