编程语言
使用编程语言的目的是为了与计算机交流
发展: 机器语言 --> 汇编语言 --> 高级语言
编译时高级语言转化为机器语言:
编程范式
分类
面向过程语言
存在的问题: (这些问题这样说是说不明白的,只有在实际开发和运用中才能体会到)
- 数据与算法关联弱
- 不利于修改和扩充
- 不利于代码重用
自顶向下:
以函数为基本单位,将程序分为过程或函数,各部分完成各自的独立的功能。
函数式编程
函数式编程是一种编程范式,它强调函数的使用和避免状态改变和可变数据,函数式编程语言通常提供高阶函数和闭包等特性,这些特性可以帮助程序员更好地抽象和组合函数。
-
函数是“第一等公民”
-
纯函数/无副作用 : 函数实现时不应该依赖其外部环境(eg:不使用全局变量等),不应该修改其函数值
-
高阶函数/闭包
领域特定语言
简介:
领域特定语言是一种专注于某个应用程序领域的计算机语言。如,sql和html。 它与通用编程语言不同,通用编程语言可以用来解决各种领域的问题,而领域特定语言则专注于解决特定领域的问题。如,c/c++ 和 js 等
语言的运行
字符串通过词法解析器(lexer) 解析为一系列短语,再经过语法解析器(parser) 得到语法树,这样就可以进行遍历分析,执行或转化为另一种语言。
补充:lexer 也称为词法分析器,是一种软件组件,它将字符串分解为更小的单元,这些单元可以被语言理解。这些更小的单元被称为词法记号或词素。 词法分析器的作用是将源代码中的字符序列转换为记号序列。它通过扫描源代码,识别出各种记号,如关键字、标识符、常量、运算符等。这些记号将被传递给语法分析器进行进一步的处理。
课程总结
😵