编程范式|青训营笔记
编程语言
为什么需要编程语言?
控制计算机作为工具需要给它下达指令,程序员负责下达这个指令。
机器语言
与人类沟通所用的语言不同,计算机只能读懂二进制字符,而无法直接理解人类的语言。因此我们需要用二进制的字符编写计算机能读懂的指令语言,就叫做机器语言。常见的有8086指令格式,分为操作码和操作数两个部分。 并且,语言需要介质来承载,近代以来的计算机一般都是通过线缆或者开关来进行控制。
汇编语言
由于计算机能够读懂的二进制数字对于人类来说很难输入指令,所以人们发明了汇编语言。汇编语言使用字母来代替数字,方便输入。并且不同的字母在不同的机器架构下可以转化为不同的数字,因此也具有了一定的可预知性。
高级语言
高级语言是为了进一步提高可预知性,以及输入指令的方便性而逐步被发明的。它更加接近我们人类的思考以及语言逻辑。由此也出现了编译器的概念。编译器会把高级语言翻译为汇编语言再翻译成机器能够“读懂”的机器语言,实现较少的源码编译得到较大的产物。
C/C++语言
C语言优点:可以对位、字节、地址直接操作;代码和数据分离,倡导结构化编程;功能齐全,数据类型和控制逻辑多样化;可移植能力强。
C++语言优点:是面向对象编程语言的代表,可以定义类和对象,实现继承、权限控制、虚函数和多态。
Lisp
Lisp是函数式语言的一大代表,特点是,具体执行什么操作都与机器无关,代码即是数据,还引入了闭包。
JavaScript
JavaScript是基于原型和头等函数的多范式语言,融合了过程式,面向对象,函数式和响应式。使用非常灵活,是目前世界上使用最广泛的语言。
编程范式
程序语言特性
- 是否允许副作用
- 操作的执行顺序
- 代码组织
- 状态管理
- 语法和词法
常见编程范式
- 命令式。包括面向对象、面向过程。
- 声明式。包括函数式、响应式。
过程式中的编程范式
自顶向下编程
结构化编程
过程式编程下的最佳实践,将程序分块执行。替代了传统的goto的形式,改善了电脑程序的质量以及开发时间。
个人心得
从多个方面了解了不同的编程范式,这对于规范化编程有非常大的用处,以后的编程中也要多多应用,提升自身能力!