开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 2 天,点击查看活动详情
编程范式的英文是:Programming paradigm,简单的说就是程序设计方法。书中将了三种编程范式:
- 结构化编程 structured programming
- 面向对象编程 object-oriented programming
- 函数式编程 functional programming
结构化编程( structured programming)
这个用作者的原话就是:
Structured programming imposes discipline on direct transfer of control.
结构化编程对程序控制权的直接转移进行了限制和规范。
结构化编程以简单,层次的程序流程架构组成,可以分为顺序,选择以及循环。自定向下,一步一步的细化。像我们平时使用的C语言就是结构化编程的语言,也叫面向过程编程。
结构化编程不是最早被提出的,但是是第一个被普遍采用的方式,它是由Edsger Wybe Dijkstra 于 1968 年最先提出
面向对象编程 (object-oriented programming)
面向对象编程想必大家应该比较熟悉了,将事物封装成对象,保留相关的方式来实现一些相关的功能,对象里面有自己的属性,有自己的方法,并且都有不同的访问权限:private,protect,public,这样能对代码起到很好的保护作用。 作者的原话是:
Object-oriented programming imposes discipline on indirect transfer of control.
面向对象编程对程序控制权的间接转移进行了限制和规范。
面向对象的语言就比较多了,java,C#,C++。 个人认为面向对象的编程范式对程序员来说相对简单,容易上手,而且也降低了编程的难度。
函数式编程 functional programming
函数式编程现在是比较流行的一种编程方式,它是一种声明式编程范式,像现在的android推出的compose就是一种声明式的编程范式,其中有一种函数叫高阶函数,即函数可以作为参数传递。这个其实还是挺方便的,像我们的kotlin就是其中一种编程语言。
函数式编程作者总结的话就是:
Functional programming imposes discipline upon assignment.
函数式编程对程序中的赋值进行了限制和规范。
其实函数式编程是三种范式中最早被提出的一个,1958 年 John Mccarthy 利用其作为基础发明了 LISP 语言。
其实不管是哪一种编程范式,都是为了设置限制,它不是告诉我们那些能做,而是告诉我们那些不能做。