编程范式 | 青训营笔记

84 阅读2分钟

1.为什么需要编程语言

机器的出现让人们工作效率提高很多,人们为了加强对机器的控制和进一步提升机器的功能,于是就出现编程语言:用于人与机器的沟通。

编程语言的发展

  1. 机器语言:机器语言晦涩难懂,一般只有科学家可以使用,为了让普通人理解,于是诞生了很多其他的语言。
  2. 汇编语言:汇编语言是人们常说的低级语言,用特定字母来表示特定的功能,一般用来开发底层驱动,可移植,但不同的驱动可能会用到不同的驱动语言,可移植性低。
  3. c语言:有人认为是中级语言,因为很多高级语言的开发都以C语言为基础,也被认为是高级语言,因为它符合人们对高级语言语言的定义.
  4. 高级语言:高级语言可移植性高,但运行起来效率不高,一般是运行时需要先转化为C语言,再转化为汇编语言,过于麻烦,效率低。但对人与机器之间的交流提供了极大的帮助。 因为语言的发展,为了让编程语言更容易让人们理解,编译器就出现了。

编程范式:

可分为两块:1.命令式2.声明式。 (1)命令式可分为面向对象式和面向过程式

  1. 面向过程优点:有利于初学者进行学习计算机基础知识,能为其它语言的学习打下良好的基础。
  2. 面向过程缺点:算法编程关联性弱,不利于修改和扩充,不利于代码重用。
  3. 面向对象缺点:当你需要某个类的元素时,你拿到的是这个类的整体。代码代码附着率高,效率低。 (2)声明式可分为函数式和响应式
  4. 函数式(用纯函数的组合来描述计算过程)优点:可缓存,可移植,可测试推理,可并行。

领域特定语言

用于特定领域的语言(MySQL,HTML等),领域特定语言一般是用通用语言实现的(c++,javas等)。 语言的运行:首先经过词法解析器处理形成短语,然后通过语法解析器形成树状结构,然后进行遍历操作。转化为其他语言。

建立自己的语言

1.首先建立自己的词法规则,然后建立自己的语法规则,通过工具产生自己的语法分析器会得到语法树,最后通过遍历对操作进行解释执行。