编程不是看会的,也不是听会的,而是练会的。
和游泳、开车一样,只学不练是搞不定的。因此,编程某种意义上也属于熟练工种。多说一句,老金甚至认为,任何技艺都是熟练工种,要想做到一流,都离不开不断地练习。
和游泳、开车不一样的是,这种练不是为了形成某种肌肉记忆,而是为了获得实时“反馈”。
程序不会说谎,如果你的程序无法运行,一定是写的代码出了问题,哪怕是少了一个分号。
编译器就是一个时刻守候在你身边的老师,不断为你批改作业,指出你的所有问题,让你改正,然后获得经验、能力上的提升。
当然,也不能瞎练,就像武林高手搞不好就会走火入魔。
老金总结了以下几点:
1.只练一门语言。只选一门语言练,这一点对信奥学生来讲不存在问题,但自学编程的人可能就会很盲目,今天java流行就去学java,明天python火了又去搞python,搞来搞去都是在最底层的语法上打转,很难搞出什么名堂。
2.重视数据结构和算法方面的练习。流行的语言、框架层出不穷,不断上演后浪拍前浪的轮回剧,但经典的数据结构、算法永不过时,这正是信奥学生每天都在摸爬滚打的地方。
3.操练别人的优秀代码。多看别人的优秀代码,想想人家为什么这样写。但不能光看,最终还是要回到“练”,能不能不看人家的代码自己写一遍?能不能换个算法自己重新设计?
4.总结反思。不能傻练,要不断总结经验和教训。最好能把自己的思考、总结都写下来。