今天和一哥们聊天,先是闲聊后来聊到学习方法上面来。谈到学习方法总想找一种来得快、映像深的方法(这两个要求都是极高的),说实话这样的方法很多人都在找,但是真正找到的人没几个。因为个体差异还是很大的,那些“大师”、“名家”所吹捧的方法真正能用上的不见得有几个。但是对于学习方法,还是可以从方法论、工程学方面来做研究的。
今天聊到了一个统计法。通过一定数量的对样本进行认识、分析,最后得出对样本的整体架构的一个认识。但是这个方法的问题是:1、需要一定数量多的样本,2、耗时耗力太大,3、效果不一定明显。统计法是通过观察整个系统的变化,舍弃小概率的异同,留下大概率的共同。但是在这个过程中还是存在对系统内核的了解知之甚少的问题。显然这个方法不一最好的快速学习的方案。
继续聊了一个“拆分法”。把要学习的系统拆开,观察其内部工作原理 。对其工作原理做出自己的推论,并作改进。这个过程任然也要反复进行多次,才能按照一定的模块规则把一个完整系统拆开。但是相比上面的统计法要快得多。拆分法的重点和要点是什么呢?思想动机驱动,拆的过程中精力高度集中。思维占据主导性。根据系统方案提出相应的假设,根据具体情况作出判断。这个方法难度更大,不过速度快上好几倍。
最后聊一聊软件设计和算法编程。软件设计更多的是指软件开发人员通过编程语言为实现相应的功能而实现的软件模块。工程性更强,一部分开发人员是在第三方部件的基础上作出相应的组合,调整。而算法编程更多的是考虑对功能实现过程的选择,优化。更注重解决问题的本质,把问题简化到最简单的比较运算、加法运算。一直有梦想做一个算法程序员,但是算法难度过大,调整性强。而现在面临的是基础不足,生存问题,所以只能先做一份能力范围内的工作,算法的事慢慢来。
总结一下。一直觉得学习这件事是以人脑为主要驱动源,外界资源为辅助的过程。而大多数情况下人脑是处于附属的位置,主动和被从这两个角度我想是一件事做得好坏的关键因素了。对,这篇文章的两个关键词就是“主动”、“被从”。 (20131—04—09)