237、大道至简,其实我跟UP有同样的看法,但是我做了七年开发,某一天突然开悟的。
编程的核心就两个东西,数据和(函数)改变数据的东西。
一个函数不论怎样复杂,它最终要输出一个结果,这个结果就是被改变的数据。
但这个大道理并不能给初学者甚至入门者带去任何指导意义,因为它只是高度概括,是一个笼统的概念,丢失了全部的细节。
而学习是学什么呢?就是学细节,而一个东西的难度在哪里呢?也是难在细节。
细节可能是简单的重复,比如编织,只要学会几个简单动作就可以重复下去织成一块布。
学习的边际成本几乎为零,但是细节也可能是复杂的变化,比如你要实现的功能由23个小功能组成,每一个小功能又由7个小小功能组成,每一个小功能还各不相通,这时候,高度概括将失去指导意义。