编程语言概述
编程语言概述
计算机语言 ≠ 编程语言。如 markdown, HTML, XML 等是标记语言,不是编程语言。
- 命令式(Imperative)
- 过程式(Procedure)
- 面向对象(Object-Oriented)
- 声明式(Declarative)
- 函数式(Functional)
- 逻辑式(Logic)
命令式编程
- How: 具体指明程序要做哪些步骤,一般支持如下几种语句:
- 运算语句
- 循环
- 条件分支
- 无条件分支(
goto
in C)
面向对象
- 目标:程序更加模块化和可维护
声明式编程
- What: 表达想要计算的逻辑,而不需要给出具体步骤。
函数式
命令式(C)
1 | int factorial(int n) { |
函数式(Lisp)
1 | (define (factorial n) |
逻辑式
证明即程序(Curry-Howard isomorphism)。
Prolog
1 | // 0! = 1 |
实现方式
- 编译(Compiling):把整个程序源代码翻译成另一种代码(机器码),然后等待被执行,发生在运行之前,产物是「另一份代码」。
- 解释(Interpretation):把程序源代码一行一行翻译然后执行,发生在运行时,产物是「执行结果」。