编程范式 | 青训营笔记

78 阅读2分钟

编程语言

使用编程语言的目的是为了与计算机交流

发展: 机器语言 --> 汇编语言 --> 高级语言

编译时高级语言转化为机器语言:

image.png

编程范式

分类

image.png

面向过程语言

存在的问题: (这些问题这样说是说不明白的,只有在实际开发和运用中才能体会到)

  • 数据与算法关联弱
  • 不利于修改和扩充
  • 不利于代码重用

自顶向下:

image.png

以函数为基本单位,将程序分为过程或函数,各部分完成各自的独立的功能。

函数式编程

函数式编程是一种编程范式,它强调函数的使用和避免状态改变和可变数据,函数式编程语言通常提供高阶函数和闭包等特性,这些特性可以帮助程序员更好地抽象和组合函数。

  • 函数是“第一等公民”

  • 纯函数/无副作用 : 函数实现时不应该依赖其外部环境(eg:不使用全局变量等),不应该修改其函数值

  • 高阶函数/闭包

image.png

领域特定语言

简介:

领域特定语言是一种专注于某个应用程序领域的计算机语言。如,sql和html。 它与通用编程语言不同,通用编程语言可以用来解决各种领域的问题,而领域特定语言则专注于解决特定领域的问题。如,c/c++ 和 js 等

语言的运行

字符串通过词法解析器(lexer) 解析为一系列短语,再经过语法解析器(parser) 得到语法树,这样就可以进行遍历分析,执行或转化为另一种语言。

image.png

补充:lexer 也称为词法分析器,是一种软件组件,它将字符串分解为更小的单元,这些单元可以被语言理解。这些更小的单元被称为词法记号或词素。 词法分析器的作用是将源代码中的字符序列转换为记号序列。它通过扫描源代码,识别出各种记号,如关键字、标识符、常量、运算符等。这些记号将被传递给语法分析器进行进一步的处理。

课程总结

😵

image.png