编程范言 | 青训营笔记

98 阅读2分钟

几种编程语言

C语言(中级语言) 过程式语言代表

特点:

1.可对位,字节,地址直接操作;

2.代码和数据分离倡导结构化编程;

3.功能齐全,数据类型和控制逻辑多样化;

4.可移植能力强。



C++ 面向对象语言代表

特点:

1.在C语言基础上增加对类的指示;

2.有了继承和虚函数的概念。



Lisp 函数式语言代表

特点:

1.与机器无关;

2.列表:代码及数据;

3.引入闭包概念。

JavaScript 基于原型和头等函数的多范式语言

特点:使用较灵活。



可根据是否允许副作用、操作的执行顺序、代码组织、状态管理、语法和词法等这些程序语言特性来进行分类。



面向过程编程的问题:

数据与算法关联弱;

不利于修改和扩充;

不利于代码重用。

而后推出面向对象编程。



面向对象编程的特点:

1.封装:可关联数据与算法;

2.继承:无需重写的情况下进行功能扩充;

3.多态: 不同的结构可以进行接口共享,进而达到函数复用;

4.依赖注入:去除代码耦合。



面向对象编程的五大原则:

1.单一职责原则SRP;

2.开放封闭原则OCP;

3.里氏替换原则LSP;

4.依赖倒置原则DIP;

5.接口分离原则ISP。



面向对象编程问题:他总是附带着所有它需要的隐含环境。

而后推出函数式编程:是指用纯函数的组合来进行编程。

函数式编程的优势:可缓存、可移植、可测试、可推理、可并行。

响应式编程:在异步/离散数据情况下特殊的函数编程。