准则1:关注语义而不是语法细节
- 语法只是程序的表面,是理解程序的第0步骤
- 了解语言总共有哪些语法数据结构,可以更加一目了然的理解语法
- 同一个语言可以有几种不同的语法,liskell,一种lisp语法的haskell
- 学会利用编译器,编译器会纠正你的错误
准则2:关注个别个别概念,而不是整个语言
- 一旦掌握了概念就能在另一个语言中找到相对的,立刻开始使用新的语言,不需要重新学习
- 任何语言都含有好的和坏的概念
- 可以使用一个语言的一部分,不需要全部了解
准则3:学会程序语言的基本实现
- 崇拜,畏惧或者憎恨一个语言往往是因为自已没有实现这门语言的能力,不够了解这种语言
- 不需要写完整的编译器,只需要写一些简单的解释器,实现各种语义概念
- 函数定义,函数调用,基本算术
- 模块,类,对象
- 分支
- 类型推导
准则3:思考世界而不是语言
- 语言是用来描述现实的
- 注意语言结构和现实的同构
- 现象是自然界的规律决定的,而不是任何人
- 不符合自然规律的设计,经常有问题
准则4:什么是好的语言
- 语言表达应该直接,而不是绕弯子
- 提供足够的抽象,但是不要过度抽象
- 提供高效的实现
- 正确的心态