组块化:过滤细节,抽象命名 图形化:将对象之间的关系捋顺 表格化:正交的校验对象之间的关系
递归或者(分形)的角度去看一台计算机,而不是从组成原理去看计算机。 这就是为什么shell里面,管道等是伟大发明,unix的组件化 是符合人的认知习惯的。
计算机世界的抽象与人文世界的差别在于, 对象本身,除了在重构的过程中,一直是精确的功能;而人文世界的对象与关系,及看待世界的维度一直是不断切换的。
所谓的编程思维,是构建的思维,将现实世界的问题,在精确的抽象世界寻找可替换之物, 而所谓的语法,只是从底向上的约束你的,有限资源。
什么是智慧?
重构,重新构建。你的抽象底层与行动实践之间不竭的对话。所谓对话,就是你先去干,干了以后反思干的过程,重新构建。最后,你解决了问题,控制了复杂性,获得了圆融。