命令式语言和函数式语言在编译器设计中有什么区别?
命令式语言
命令式语言是那些通过状态变化来促进计算的语言。状态是指计算机的随机存取存储器(RAM)或存储器的状态。将计算机内存视为一系列快照会很有帮助,每个快照都在特定时间捕获所有内存单元中的值。每个快照记录一个状态。
当一个程序被输入时,相关数据存在于某种条件下,比如一个未排序的离线列表。程序员的工作是指定对store的一系列更改,以产生所需的最终状态,可能是一个排序列表。存储涉及的不仅仅是数据和存储的程序。它包括一个符号表、运行时堆栈(S)、一个操作系统,其CPU本身可以被视为初始状态的一部分。
函数式语言
函数式语言是在其编程结构中建立在逻辑函数或过程之上并围绕其构建的编程语言。它依赖于并等效于其程序流程中的数学函数。
函数式语言从Lambda演算和组合逻辑的数值结构改变了它们的基本结构。Erlang、LISP、Haskell和Scala是最著名的函数式语言。
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志