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