昨天看到王垠博士的思维导图,里面有个很重要的概念就是学习知识分类,然后不断的细化下去。听说写作也是一样,作家也是先写好提纲,然后一点点填充内容。看到这个让我想起了禅与摩托车里作者对科学,对文学的学习方法,其实就是分类,然后再对子节点进行分类。其实大多数人都是在做别人早都研究出来的东西,用生活大爆炸里的Sheldon的话就是没有意义的事情。岂不知就这些别人发明出来的东西还感觉很难学,真的挺可悲的。如何才能快速深刻的获取知识?就像刘未鹏说的,要明白问题的前因后果,知道作者是如何遇到问题,解决问题,总结规律的。并且某一类知识都有和类设计思想那样的核心概念。比如封装,继承,override,overwrite,抽象,数据结构。其实其它面向对象的语言也是围绕这几个概念设计的。所谓新的面向对象语言也是围绕这几个核心走的。然后加入了工程需求,比如const,比如接口,强大的库。
对于在项目中遇到的问题,需要搞清楚问题的来龙去脉。只有很好的理解了并找到了和问题像耦合的地方,才能命中要害。而不是盲目的用随机编程去毁掉自己进步的空间。程序员这个行当还真需要耐心,在开始写东西前需要耐心的梳理整个过程。然后将整个过程结构化成顺序逻辑。通过对顺序逻辑的梳理和整理,基本做好了程序的骨干。骨干好了,再去一点点充实其内容。好的程序是让其他人更容易的理解和扩展,程序是写给人的,而不是计算机。计算机不会懂你的诉求,它只会机械的按照电压高低去一次次输出高低电压。
通过高低电压抽象为布尔逻辑,在布尔逻辑的放大下,人类知识大爆炸似的野蛮生长。不过做为在这样一个互联网时代刚开始进化中的人,学习速度比起知识库扩充的速度还是相差很多数量级的。只能用咱以前的老引擎(过去的大脑构造)在这个时代驰骋了。还好引擎是可以扩展的,并且通过自身的成长可以更好的改善大脑。其实人和人之间的唯一差距就是自己是否有一个宁静的心。其他事情是预料不到的,也是改变不了的。唯一能改变的就是,就是自己本身。这也许是做为人类的高级之处,也是做为人的追求目标。