川谷、江海
- 计算机科学(Computer Science,CS)最重要的思想是分层(Layering),它也叫做抽象(Abstraction)、封装(Encapsulation)
- 对于数字电子计算机,用观察单个晶体管的方法,来理解上层的程序是不适当的,原因是从晶体管到程序,每一层都注入了独特的信息,每一层都有独特的工具来描述
- 晶体管 –> 量子力学
- 逻辑门 –> Boole代数
- 架构 –> 计算模型
- 编程语言 –> 编程语言理论
- 程序 –> 形式化
- 比如,将程序编译为二进制(即逻辑门的层次)是丢失信息,将二进制(即逻辑门的层次)反编译为程序是注入信息;若缺少架构、编程语言的独特的信息,则无法从二进制反编译出程序
- 类似地,对于如下象的类比,从上层到下层是丢失信息,从下层到上层是注入信息;若缺少其中一层的独特的信息,则无法从下层反向构建出上层
- 晶体管 –> 物理学
- 逻辑门 –> 化学
- 架构 –> 生物学
- 编程语言 –> 心理学
- 程序 –> 社会学
- 因此,只有了解不同学科,才能更加接近世界本身。如果将不同学科作为支流,那么它们可以汇聚到一片海洋
譬道之在天下,犹川谷之于江海。——《老子》
数学、物理
- 关于数学、科学,可参见从初等数论到交换代数、算术几何