如果要给众多编程语言分个类,你可能会把它们分成低级语言和高级语言,或者分成面向对象语言和面向过程语言。然而,更多中国程序员所不太熟悉的另外一种划分方式将会把计算机语言分成命令式和声明式两大阵营。之所以说大家可能不太熟悉这种划分,那是因为我们平常所使用绝大部分语言都是命令式的。但事实上你确实也应该注意到另外一大阵营的存在。
命令式编程(ImperativeProgramming)是现今最为广泛使用的编程范型。读者所熟知的众多计算机语言,如C、C++、Java、Pascal、Basic、Python、Javascript等,都属于命令式编程语言的范畴。
与命令式编程相对立的是声明式编程(Declarative programming)。声明式编程与命令式编程有很大的不同。命令式编程是命令机器如何去做事情,这样不管你想要的是什么,它都会按照你的命令实现。声明式编程则是告诉机器你想要的是什么,让机器自己去想出如何做。(这对于用惯了命令式语言