0. 概述
编程知识体系有一个“定理”:容易掌握的知识保鲜期短,保鲜期长的知识不容易掌握。
前者如各种概念术语、工具平台、甚至也包括编程语言自身和基于其上的各类编程框架、工具库,它们通常处于编程体系架构中的中层位置。
后者包括计算机的各类底层知识,如:计算机硬件、操作系统原理、通信原理、编译原理等等;以及编程中那些经高度抽象之后的知识,如:数据结构、算法、设计模式等等。显然,这些难学的东西,要么在编程体系架构中的底层,要么在编程体系中的高层。
有关“学什么”和“怎么学”,我们的答案非常直接:在中间层找到一个向下可以通计算机底层知识,向上可以通计算机编程上层抽象表达的知识节点,开始学习。我们把这种学习方法,称为“榕树型”学习;而这种学习方法获得成果,称为编程中的 “榕树型知识体系”。