学习programming languages
函数式语言(Scheme)
SICP
The little schemer
A Gentle Introduction to Haskell
实现解释器
怎样写一个解释器
深入底层
语义学
编译原理
SICP
The little schemer
A Gentle Introduction to Haskell
实现解释器
怎样写一个解释器
语义学
语义学 (semantics) 就是研究程序的符号表示如何对机器产生“意义”,通常语义学的学习包含 lambda calculus 和各种解释器的实现。
编译原理
编译原理 (compilation) 就是研究如何把高级语言翻译成低级的机器指令。编译原理其实包含了计算机的组成原理,比如二进制的构造和算术,处理器的结构,内存寻址等等。但是结合了语义学和编译原理来学习这些东西,会事半功倍。因为你会直观的看到为什么现在的计算机系统会设计成这个样子:为什么处理器里面有寄存器(register),为什么需要堆栈(stack),为什么需要堆(heap),它们的本质是什么。