编程范式
编程语言
- 机器语言:用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合
- 汇编语言:用助记符代替机器指令的操作码的语言
- 中级语言:使用诸如字母、数字和特殊字符之类的符号创建指令的语言
- 高级语言:独立于机器,面向过程或对象的语言
编程语言代表
- C语言:中级语言代表,面向过程的语言
- 对位、字节、地址直接操作
- 代码、数据分离,倡导结构化编程
- 数据类型多样
- 可移植性强
- C++语言:高级语言代表,面向对象的语言
- 有类的概念
- 支持继承
- 有权限分类:public、private、protected
- 支持虚函数
- 多态:同一条函数调用语句可以调用不同的函数
- Lisp语言:函数式语言代表,所有运算以函数作用于参数的方式来实现
- 与机器无关
- 只有两种数据结构:原子、表
- JavaScript:基于原型和头等函数的多范式语言
- 过程式
- 面对对象
- 函数式
- 响应式
程序语言特性
- 是否允许副作用
- 操作的执行顺序
- 代码组织
- 状态管理
- 语法和词法
常见的编程范式
- 命令式
- 面向过程:以过程为中心的编程思想,编程时按照问题解决的步骤,分步使用函数实现,在使用时按照顺序调用函数
- 面向对象:将属性和过程结合在一起,作为一个相互依存的整体,即为对象
- 声明式
- 函数式:以函数为主,用一系列函数完成任务,关注函数实现的结果
- 响应式:使用异步数据流进行编程
个人思考与总结
Q:为什么推荐函数式编程?
A:代码具有目标导向性,思考 “想做什么”,可以忽略具体实现的方法,抽象出来思考目的。
Q:JavaScript有什么优势?
A:可以跨多个平台、浏览器工作;不需要特定的编译器,web浏览器使用HTML解释;比其他编程语言相比更加轻量级,更好上手;快速的终端反应,为客户端编写,不需要服务器端支持就可运行。